Source code of filesite.io. https://filesite.io
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
3.0 KiB

<?php
/**
* Command Controller
*/
Class CommandController extends Controller {
public function actionIndex() {
$commands = <<<eof
Actions:
- config [do=get&key=theme] //获取或修改系统配置
- mainBot //扫描机器人程序
Usage:
php command.php action parameters
eof;
echo $commands;
exit;
}
//查看、修改/runtime/custom_config.json里的内容
public function actionConfig() {
$themeName = FSC::$app['config']['theme'];
$code = 1;
$data = '';
//修改配置文件
$param_do = $this->get('do', 'set'); //支持:set, get, all, del
$param_key = $this->get('key', '');
$param_value = $this->get('val', '');
if ($param_do == 'set' && empty($param_value)) {
throw new Exception("缺少val参数!", 403);
}else if (in_array($param_do, array('set', 'get', 'del')) && empty($param_key)) {
throw new Exception("缺少key参数!", 403);
}
//val数据格式转换
if ($param_value === 'false') {
$param_value = false;
}else if ($param_value === 'true') {
$param_value = true;
}
$config_file = __DIR__ . "/../../../runtime/custom_config.json";
if (file_exists($config_file)) {
$content = file_get_contents($config_file);
$configs = @json_decode($content, true);
if (empty($configs)) {
$config_file_template = __DIR__ . "/../../../conf/custom_config_{$themeName}.json";
$content = file_get_contents($config_file_template);
$configs = @json_decode($content, true);
}
}
if (!empty($configs)) {
switch($param_do) {
case 'set':
$configs[$param_key] = $param_value;
file_put_contents($config_file, json_encode($configs, JSON_PRETTY_PRINT));
$data = $configs;
break;
case 'get':
$data = !empty($configs[$param_key]) ? $configs[$param_key] : '';
break;
case 'del':
unset($configs[$param_key]);
file_put_contents($config_file, json_encode($configs, JSON_PRETTY_PRINT));
$data = $configs;
break;
case 'all':
default:
$data = $configs;
break;
}
}
$res = compact('code', 'data');
echo "命令参数:\n";
print_r($this->get());
echo "\n";
echo "命令执行结果:\n";
print_r($res);
echo "\n\n";
exit;
}
//服务器端机器人程序,负责图片、视频文件拍摄时间等信息扫描,并缓存结果供前端使用
public function actionMainBot() {
$thisTime = date('Y-m-d H:i:s');
echo "Main bot started @{$thisTime}\n";
exit;
}
}