HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/bs.kntsleep.com/system/admin/miniprogram/interfaces.class.php
<?php
/*
 * Copyright (c) Huyin Information Technology Co., Ltd. All Rights Reserved.
 * BOSSCMS Content Management System (https://www.bosscms.net/)
 */
defined('IS_OK') or exit('Access Forbidden');

into::basic_class('admin');
into::basic_class('curl');

class interfaces extends admin
{
	public function init()
	{
		global $G;
		$G['cover'] = $this->cover();
		$G['navs1'] = into::load_class('admin','miniprogram','miniprogram','new')->nav();
		$G['navs1']['interfaces']['active'] = true;
		
		echo $this->theme('miniprogram/interfaces', $data);
	}
	
	public function edit()
	{
		global $G;
		$G['cover'] = $this->cover('miniprogram&interfaces');
		echo $this->theme('miniprogram/minpg');
	}
	
	public function add()
	{
		global $G;
		$this->cover('miniprogram&interfaces','M');
		/* b o s s c m s */
		if(isset($G['post'])){
			switch($G['get']['type']){
				case 'weixin':
					$data = array(
						'minpg_wxapiid' => $G['post']['minpg_wxapiid'],
						'minpg_wxapisecret' => $G['post']['minpg_wxapisecret']
					);
					break;
				case 'baidu':
					$data = array(
						'minpg_bdapiid' => $G['post']['minpg_bdapiid'],
						'minpg_bdapikey' => $G['post']['minpg_bdapikey'],
						'minpg_bdapisecret' => $G['post']['minpg_bdapisecret']
					);
					break;
			}
			foreach($data as $k=>$v){
				mysql::select_set(array('name'=>$k,'value'=>$v,'parent'=>'0','type'=>'0'),'config',array('value'));
			}
			alert('操作成功', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')));
		}
	}

	
	public function audit_edit()
	{
		global $G;
		$G['cover'] = $this->cover('miniprogram&interfaces');
		if($G['config']['miniprogram_open']){
			$data['state'] = 8;
			$arr = $this->expose();
			switch($G['get']['type']){
				case 'weixin':
					$arr['apiid'] = $G['config']['minpg_wxapiid'];
					$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
					if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxadinfo.php', $arr))){
						foreach($res['category_list'] as $v){
							$category_list[base64_encode(json::encode($v))] = $v['first_class'].'>>'.$v['second_class'].($v['third_class']?'>>'.$v['third_class']:'');
						}
					}
					$data['ctrl'] = json::get(ROOT_PATH.'system/admin/miniprogram/common/audit.json');
					$data['ctrl'][0]['ctrl'][3]['param'] = $category_list;
					echo $this->theme('miniprogram/publish',$data);
					break;
				case 'baidu':
					echo $this->theme('miniprogram/bdpublish',$data);
					break;
			}
		}else{
			alert('小程序为关闭状态', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')), 'red');
		}
	}
	
	public function publish()
	{
		global $G;
		$_SERVER['HTTP_REFERER'] = url::param($_SERVER['HTTP_REFERER'],'success','ok');
		$this->cover('miniprogram&interfaces','M');
		if($G['config']['miniprogram_open']){
			if($ctrl = json::encode(into::load_class('extend','miniprogram','miniprogram','new')->ctrl())){
				url::$domain = $G['path']['relative'];
				$arr = $this->expose();
				$arr['json_ctrl'] = $ctrl;
				switch($G['get']['type']){
					case 'weixin':
						if(preg_match('/\w+/',$G['config']['minpg_wxapiid']) && preg_match('/\w+/',$G['config']['minpg_wxapisecret'])){
							$arr['apiid'] = $G['config']['minpg_wxapiid'];
							$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
							if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxpublish.php', $arr))){
								echo $this->theme('miniprogram/publish',$res);
							}
						}else{
							alert('接口配置错误');
						}
						break;
					case 'baidu':
						if(preg_match('/\w+/',$G['config']['minpg_bdapiid']) && preg_match('/\w+/',$G['config']['minpg_bdapikey']) && preg_match('/\w+/',$G['config']['minpg_bdapisecret'])){
							$arr['apiid'] = $G['config']['minpg_bdapiid'];
							$arr['apikey'] = $G['config']['minpg_bdapikey'];
							$arr['apisecret'] = $G['config']['minpg_bdapisecret'];
							if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/bdpublish.php', $arr))){
								echo $this->theme('miniprogram/bdpublish',$res);
							}
						}else{
							alert('接口配置错误');
						}
						break;
				}
			}else{
				alert('模板配置错误');
			}
		}else{
			alert('小程序为关闭状态');
		}
	}
	
	public function audit()
	{
		global $G;
		$this->cover('miniprogram&interfaces','M');
		if($G['config']['miniprogram_open']){
			$arr = $this->expose();
			switch($G['get']['type']){
				case 'weixin':
					foreach($G['post']['item_list'] as $k=>$v){
						if($v['category']){
							$G['post']['item_list'][$k] = array_merge($v,json::decode(base64_decode($v['category'])));
						}
						unset($G['post']['item_list'][$k]['category']);
					}
					if(!$G['post']['feedback_info']){
						unset($G['post']['feedback_info']);
					}
					$arr['data'] = json::encode($G['post']);
					$arr['apiid'] = $G['config']['minpg_wxapiid'];
					$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
					if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxaudit.php', $arr))){
						echo $this->theme('miniprogram/publish',$res);
					}
					break;
				case 'baidu':
					$arr['data'] = json::encode($G['post']);
					$arr['apiid'] = $G['config']['minpg_bdapiid'];
					$arr['apikey'] = $G['config']['minpg_bdapikey'];
					$arr['apisecret'] = $G['config']['minpg_bdapisecret'];
					if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/bdaudit.php', $arr))){
						echo $this->theme('miniprogram/bdpublish',$res);
					}
					break;
			}
		}else{
			alert('小程序为关闭状态', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')), 'red');
		}
	}
	
	public function process()
	{
		global $G;
		$this->cover('miniprogram&interfaces','M');
		if($G['config']['miniprogram_open']){
			if($ctrl = json::encode(into::load_class('extend','miniprogram','miniprogram','new')->ctrl())){
				url::$domain = $G['path']['relative'];
				$data['state'] = 8;
				$arr = $this->expose();
				$arr['json_ctrl'] = $ctrl;
				switch($G['get']['type']){
					case 'weixin':
						$arr['apiid'] = $G['config']['minpg_wxapiid'];
						$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
						if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxprocess.php', $arr))){
							echo $this->theme('miniprogram/publish',$res);
						}
						break;
					case 'baidu':
						$arr['apiid'] = $G['config']['minpg_bdapiid'];
						$arr['apikey'] = $G['config']['minpg_bdapikey'];
						$arr['apisecret'] = $G['config']['minpg_bdapisecret'];
						if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/bdprocess.php', $arr))){
							echo $this->theme('miniprogram/bdpublish',$res);
						}
						break;
				}
			}
		}else{
			alert('小程序为关闭状态', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')), 'red');
		}
	}
	
	public function release()
	{
		global $G;
		$this->cover('miniprogram&interfaces','M');
		if($G['config']['miniprogram_open']){
			$data['state'] = 8;
			$arr = $this->expose();
			switch($G['get']['type']){
				case 'weixin':
					$arr['apiid'] = $G['config']['minpg_wxapiid'];
					$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
					if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxrelease.php', $arr))){
						echo $this->theme('miniprogram/publish',$res);
					}
					break;
				case 'baidu':
					$arr['apiid'] = $G['config']['minpg_bdapiid'];
					$arr['apikey'] = $G['config']['minpg_bdapikey'];
					$arr['apisecret'] = $G['config']['minpg_bdapisecret'];
					if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/bdrelease.php', $arr))){
						echo $this->theme('miniprogram/bdpublish',$res);
					}
					break;
			}
		}else{
			alert('小程序为关闭状态', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')), 'red');
		}
	}

	public function expose()
	{
		global $G;
		return array(
			'domain' => $G['config']['domain'],
			'system_version' => $G['config']['version'],
			'user_token' => $G['config']['miniprogram_token'],
			'user_oem' => $G['authorize']['oem'],
			'user_sequence' => $G['config']['user_sequence']
		);
	}
}
?>