476 lines
16 KiB
PHP
Executable File
476 lines
16 KiB
PHP
Executable File
<?php
|
||
|
||
namespace frontend\controllers;
|
||
|
||
use Yii;
|
||
use yii\helpers\Url;
|
||
|
||
use dataModel; //必须添加这一句,以便引入dataModel外部类库
|
||
|
||
require dirname(__FILE__).'/_public/public.php';
|
||
|
||
class SearchController extends \yii\web\Controller
|
||
{
|
||
public $enableCsrfValidation = false;//取消对POST数据的csrf令牌验证
|
||
|
||
public function actionIndex()
|
||
{
|
||
global $_GPC;
|
||
global $_HI;
|
||
global $_FM;
|
||
$_HI['action'] = 'index';
|
||
require dirname(__FILE__).'/SettingController/index.php';
|
||
}
|
||
|
||
public function actionGet()
|
||
{
|
||
global $_GPC;
|
||
global $_HI;
|
||
global $_FM;
|
||
global $START_TIME;
|
||
$_HI['action'] = 'get';
|
||
//数据取出方法
|
||
$dataGet = $_FM['get']; //GET进来的参数
|
||
$dataPost = $_FM['post']; //POST进来的参数
|
||
$data = array();
|
||
$data['addons'] = array();
|
||
$data['sqls'] = array();
|
||
|
||
require dirname(__FILE__).'/_public/plat.php';
|
||
|
||
$dbmodel =new dataModel;
|
||
$data = $dbmodel->data_filter($dataPost);
|
||
|
||
$connection = yii::$app->db;
|
||
$tablePre = 's';
|
||
$table = 'metadata';
|
||
|
||
$s_sn = 0;
|
||
$f_sn = 0;
|
||
$o_sn = 0;
|
||
$s_sn_title = Yii::t('frontend','Default Metadata s_sn_title');
|
||
$f_sn_title = Yii::t('frontend','Default Metadata f_sn_title');
|
||
$o_sn_title = Yii::t('frontend','Default Metadata o_sn_title');
|
||
|
||
$return = array();
|
||
$errorCode = 0;
|
||
|
||
require dirname(__FILE__).'/_public/s_sn.php'; //取$s_sn
|
||
//搜索模型数据每个站点仅需一个,至此,s_sn已经更新
|
||
|
||
switch($ac){
|
||
case 'model'; //模型数据,返回param列表
|
||
$sn = $s_sn;
|
||
require dirname(__FILE__).'/_public/get_self.php';
|
||
$record_self = $result;
|
||
|
||
require dirname(__FILE__).'/_public/get_param.php';
|
||
$errorCode = 0;
|
||
$record_param = $result;
|
||
|
||
$record = $record_self;
|
||
$record['params'] = $record_param;
|
||
//需要重设的字段
|
||
$reset = ['title','status','deleted'];
|
||
foreach($reset as $kk){
|
||
if(isset($record['params'][$kk])) {
|
||
$record[$kk] = $record['params'][$kk];
|
||
}
|
||
}
|
||
$list=array();
|
||
$list[]=$record;
|
||
$record = $list;
|
||
|
||
break;
|
||
|
||
case 'instance'; //实例数据,根据条件返回form表中的数据\param列表
|
||
$s_sn = isset($data['addons']['s_sn']) ? intval($data['addons']['s_sn']) : 0;
|
||
$f_sn = isset($data['addons']['f_sn']) ? intval($data['addons']['f_sn']) : 0;
|
||
require dirname(__FILE__).'/_public/list_form.php';
|
||
$list = $result;
|
||
if($errorCode==0){
|
||
foreach($list as $k => &$v){
|
||
$record_form = $v;
|
||
//取默认参数
|
||
$f_sn = 0;
|
||
require dirname(__FILE__).'/_public/get_param.php';
|
||
$record_param_default = $result;
|
||
//取当前表单的指定参数
|
||
$f_sn = $record_form['sn'];
|
||
require dirname(__FILE__).'/_public/get_param.php';
|
||
$record_param_private = $result;
|
||
|
||
$record_param = array_merge($record_param_default,$record_param_private);
|
||
|
||
//读取默认参数并在写入params后重置
|
||
if(isset($record_param_default['default'])){
|
||
foreach($record_param_default['default'] as $kk => $vv){
|
||
if(isset($record_param[$kk]) && is_array($record_param[$kk]) && is_array($vv)){
|
||
$record_param[$kk] = array_merge($vv,$record_param[$kk]);
|
||
}elseif(!isset($record_param[$kk])){
|
||
$record_param[$kk] = $vv;
|
||
}
|
||
}
|
||
unset($record_param['default']);
|
||
}
|
||
|
||
$record = $record_form;
|
||
$record['params'] = $record_param;
|
||
|
||
//需要重设的字段
|
||
$reset = ['status','deleted'];
|
||
foreach($reset as $kk){
|
||
if(isset($record['params'][$kk])) {
|
||
$record[$kk] = $record['params'][$kk];
|
||
}
|
||
}
|
||
|
||
$v = $record;
|
||
}
|
||
unset($v);
|
||
$errorCode = 0;
|
||
}
|
||
$record = $list;
|
||
break;
|
||
|
||
case 'content'; //内容数据,根据条件返回order表中的数据\addon列表
|
||
|
||
$f_sn = isset($data['addons']['f_sn']) ? intval($data['addons']['f_sn']) : 0;
|
||
$o_sn = isset($data['addons']['o_sn']) ? intval($data['addons']['o_sn']) : 0;
|
||
require dirname(__FILE__).'/_public/list_order.php';
|
||
$list = $result;
|
||
if($errorCode==0){
|
||
foreach($list as $k => &$v){
|
||
$record_form = $v;
|
||
//取默认参数
|
||
$o_sn = 0;
|
||
require dirname(__FILE__).'/_public/get_addon.php';
|
||
$record_param_default = $result;
|
||
//取当前表单的指定参数
|
||
$o_sn = $record_form['sn'];
|
||
require dirname(__FILE__).'/_public/get_addon.php';
|
||
$record_param_private = $result;
|
||
|
||
$record_param = array_merge($record_param_default,$record_param_private);
|
||
|
||
//读取默认参数并在写入params后重置
|
||
if(isset($record_param_default['default'])){
|
||
foreach($record_param_default['default'] as $kk => $vv){
|
||
if(isset($record_param[$kk]) && is_array($record_param[$kk]) && is_array($vv)){
|
||
$record_param[$kk] = array_merge($vv,$record_param[$kk]);
|
||
}elseif(!isset($record_param[$kk])){
|
||
$record_param[$kk] = $vv;
|
||
}
|
||
}
|
||
unset($record_param['default']);
|
||
}
|
||
|
||
$record = $record_form;
|
||
$record['params'] = $record_param;
|
||
|
||
//需要重设的字段
|
||
$reset = ['status','deleted'];
|
||
foreach($reset as $kk){
|
||
if(isset($record['params'][$kk])) {
|
||
$record[$kk] = $record['params'][$kk];
|
||
}
|
||
}
|
||
$v = $record;
|
||
}
|
||
$errorCode = 0;
|
||
}
|
||
$record = $list;
|
||
break;
|
||
|
||
default:
|
||
break;
|
||
}
|
||
|
||
$return['errorcode'] = $errorCode;
|
||
$return['msg'] = Yii::t('errorcode',$errorCode);
|
||
$return['data'] = isset($record) ? $record : '';
|
||
$return['timeused'] = getMillisecond() - $START_TIME;
|
||
$return['total'] = isset($count) ? $count : 1;//总记录数
|
||
$return['bytes'] = strlen(json_encode($return['data']));//长度字节统计
|
||
fmFunc_stat_times_out($username=$_FM['user']['name'],1); //增加一次接口出站次数累计
|
||
fmFunc_stat_bytes_out($username=$_FM['user']['name'],$return['bytes']); //增加一次接口出站数据量累计
|
||
return json_encode($return);
|
||
}
|
||
|
||
public function actionDetail()
|
||
{
|
||
global $_GPC;
|
||
global $_HI;
|
||
global $_FM;
|
||
global $START_TIME;
|
||
$_HI['action'] = 'detail';
|
||
//取单条数据详情
|
||
$dataGet = $_FM['get']; //GET进来的参数
|
||
$dataPost = $_FM['post']; //POST进来的参数
|
||
$data = array();
|
||
$data['addons'] = array();
|
||
|
||
require dirname(__FILE__).'/_public/plat.php';
|
||
|
||
$dbmodel =new dataModel;
|
||
$data = $dbmodel->data_filter($dataPost);
|
||
|
||
$connection = yii::$app->db;
|
||
$tablePre = 's';
|
||
$table = 'metadata';
|
||
|
||
$s_sn = 0;
|
||
$f_sn = 0;
|
||
$o_sn = 0;
|
||
$s_sn_title = Yii::t('frontend','Default Metadata s_sn_title');
|
||
$f_sn_title = Yii::t('frontend','Default Metadata f_sn_title');
|
||
$o_sn_title = Yii::t('frontend','Default Metadata o_sn_title');
|
||
|
||
$return = array();
|
||
$errorCode = 0;
|
||
require dirname(__FILE__).'/_public/s_sn.php'; //取$s_sn
|
||
//搜索模型数据每个站点仅需一个,至此,s_sn已经更新
|
||
|
||
switch($ac){
|
||
case 'model'; //模型,返回self表与param表数据
|
||
$sn = $s_sn;
|
||
$errorCode = 0;
|
||
if($sn){
|
||
require dirname(__FILE__).'/_public/get_self.php';
|
||
$record_self = $result;
|
||
if($errorCode == 0){
|
||
$s_sn = $sn;
|
||
require dirname(__FILE__).'/_public/get_param.php';
|
||
$errorCode = 0;
|
||
$record_param = $result;
|
||
|
||
$record = $record_self;
|
||
$record['params'] = $record_param;
|
||
//需要重设的字段
|
||
$reset = ['title','status','deleted'];
|
||
foreach($reset as $k){
|
||
if(isset($record['params'][$k])) {
|
||
$record[$k] = $record['params'][$k]; //重设标题
|
||
}
|
||
}
|
||
}
|
||
|
||
}else{
|
||
$errorCode = 45300304;
|
||
$record = $data['addons'];
|
||
}
|
||
break;
|
||
|
||
case 'instance'; //实例,返回form表\param表
|
||
$sn = isset($data['addons']['sn']) ? intval($data['addons']['sn']) : 0;
|
||
$errorCode = 0;
|
||
if($sn){
|
||
require dirname(__FILE__).'/_public/get_form.php';
|
||
$record_self = $result;
|
||
if($errorCode == 0){
|
||
//取默认参数
|
||
require dirname(__FILE__).'/_public/get_param.php';
|
||
$record_param_default = $result;
|
||
//取当前表单的指定参数
|
||
$f_sn = $sn;
|
||
require dirname(__FILE__).'/_public/get_param.php';
|
||
$record_param_private = $result;
|
||
|
||
$record_param = array_merge($record_param_default,$record_param_private);
|
||
|
||
//读取默认参数并在写入params后重置
|
||
if(isset($record_param_default['default'])){
|
||
foreach($record_param_default['default'] as $kk => $vv){
|
||
if(isset($record_param[$kk]) && is_array($record_param[$kk]) && is_array($vv)){
|
||
$record_param[$kk] = array_merge($vv,$record_param[$kk]);
|
||
}elseif(!isset($record_param[$kk])){
|
||
$record_param[$kk] = $vv;
|
||
}
|
||
unset($record_param['default'][$kk]); //只对在模型中定义的默认参数进行重置
|
||
}
|
||
unset($record_param['default']); //重置全部默认参数
|
||
}
|
||
|
||
$record = $record_self;
|
||
$record['params'] = $record_param;
|
||
//需要重设的字段
|
||
$reset = ['status','deleted'];
|
||
foreach($reset as $k){
|
||
if(isset($record['params'][$k])) {
|
||
$record[$k] = $record['params'][$k]; //重设标题
|
||
}
|
||
}
|
||
$errorCode = 0;
|
||
}
|
||
}else{
|
||
$errorCode = 45300304;
|
||
$record = $data['addons'];
|
||
}
|
||
break;
|
||
|
||
case 'content'; //内容,返回order表\addon表数据
|
||
$f_sn = isset($data['addons']['f_sn']) ? intval($data['addons']['f_sn']) : 0;
|
||
$sn = isset($data['addons']['sn']) ? intval($data['addons']['sn']) : 0;
|
||
$errorCode = 0;
|
||
if($sn){
|
||
require dirname(__FILE__).'/_public/get_order.php';
|
||
$record_self = $result;
|
||
if($errorCode == 0){
|
||
//取默认参数
|
||
require dirname(__FILE__).'/_public/get_addon.php';
|
||
$record_param_default = $result;
|
||
//取当前表单的指定参数
|
||
$o_sn = $sn;
|
||
require dirname(__FILE__).'/_public/get_addon.php';
|
||
$record_param_private = $result;
|
||
|
||
$record_param = array_merge($record_param_default,$record_param_private);
|
||
|
||
//读取默认参数并在写入params后重置
|
||
if(isset($record_param_default['default'])){
|
||
foreach($record_param_default['default'] as $kk => $vv){
|
||
if(isset($record_param[$kk]) && is_array($record_param[$kk]) && is_array($vv)){
|
||
$record_param[$kk] = array_merge($vv,$record_param[$kk]);
|
||
}elseif(!isset($record_param[$kk])){
|
||
$record_param[$kk] = $vv;
|
||
}
|
||
}
|
||
unset($record_param['default']);
|
||
}
|
||
|
||
$record = $record_self;
|
||
$record['params'] = $record_param;
|
||
//需要重设的字段
|
||
$reset = ['status','deleted'];
|
||
foreach($reset as $k){
|
||
if(isset($record['params'][$k])) {
|
||
$record[$k] = $record['params'][$k]; //重设标题
|
||
}
|
||
}
|
||
$errorCode = 0;
|
||
}
|
||
}else{
|
||
$errorCode = 45300306;
|
||
$record = $data['addons'];
|
||
}
|
||
break;
|
||
|
||
default:
|
||
$errorCode = 4530039999;
|
||
break;
|
||
}
|
||
|
||
$return['errorcode'] = $errorCode;
|
||
$return['msg'] = Yii::t('errorcode',$errorCode);
|
||
$return['data'] = isset($record) ? $record : '';
|
||
$return['timeused'] = getMillisecond() - $START_TIME;
|
||
$return['bytes'] = strlen(json_encode($return['data']));//长度字节统计
|
||
fmFunc_stat_times_out($username=$_FM['user']['name'],1); //增加一次接口出站次数累计
|
||
fmFunc_stat_bytes_out($username=$_FM['user']['name'],$return['bytes']); //增加一次接口出站数据量累计
|
||
return json_encode($return);
|
||
}
|
||
|
||
public function actionSave()
|
||
{
|
||
global $_GPC;
|
||
global $_HI;
|
||
global $_FM;
|
||
global $START_TIME;
|
||
$_HI['action'] = 'save';
|
||
|
||
//数据保存方法
|
||
$dataGet = $_FM['get']; //GET进来的参数
|
||
$dataPost = $_FM['post']; //POST进来的参数
|
||
$data = array();
|
||
$data['addons'] = array();
|
||
|
||
require dirname(__FILE__).'/_public/plat.php';
|
||
|
||
$dbmodel =new dataModel;
|
||
$data = $dbmodel->data_filter($dataPost); //过滤后的可用值
|
||
$inbytes = strlen(json_encode($data));//长度字节统计
|
||
fmFunc_stat_times_in($username=$_FM['user']['name'],1); //增加一次接口入站次数累计
|
||
fmFunc_stat_bytes_in($username=$_FM['user']['name'],$inbytes); //增加一次接口入站数据量累计
|
||
|
||
$connection = yii::$app->db;
|
||
$tablePre = 's';
|
||
$table = 'metadata';
|
||
|
||
$s_sn = 0;
|
||
$f_sn = 0;
|
||
$o_sn = 0;
|
||
$s_sn_title = Yii::t('frontend','Default Page s_sn_title');
|
||
$f_sn_title = Yii::t('frontend','Default Page f_sn_title');
|
||
$o_sn_title = Yii::t('frontend','Default Page o_sn_title');
|
||
|
||
$return = array();
|
||
$errorCode = 0;
|
||
$return['errorcode'] = $errorCode;
|
||
$return['msg'] = '已保存';
|
||
|
||
require dirname(__FILE__).'/_public/s_sn.php'; //取$s_sn
|
||
//搜索模型数据每个站点仅需一个,至此,s_sn已经更新
|
||
|
||
switch($ac){
|
||
case 'model'; //模型数据,保存到self与param表
|
||
//写param表
|
||
require dirname(__FILE__).'/_public/save_param.php';
|
||
//返回模型SN
|
||
$record = $s_sn;
|
||
break;
|
||
|
||
case 'instance'; //实例数据,保存到form与param表
|
||
$f_sn = isset($data['addons']['sn']) ? intval($data['addons']['sn']) : 0;
|
||
if(isset($data['addons']['sn']) && intval($data['addons']['sn'])>0){
|
||
//传入了非0SN,即是对指定数据进行修改
|
||
require dirname(__FILE__).'/_public/update_form.php';
|
||
}elseif(isset($data['addons']['sn']) && intval($data['addons']['sn'])==0){
|
||
//传入了0SN,即是新建一个数据
|
||
require dirname(__FILE__).'/_public/new_form.php';
|
||
}else{
|
||
//未传入SN时,从服务器取出一个,未取到时自动新建
|
||
require dirname(__FILE__).'/_public/f_sn.php';
|
||
}
|
||
//写param表
|
||
require dirname(__FILE__).'/_public/save_param.php';
|
||
//返回模型SN
|
||
$record = $f_sn;
|
||
break;
|
||
|
||
case 'content'; //内容数据,保存到order与addon表
|
||
$f_sn = isset($data['addons']['f_sn']) ? intval($data['addons']['f_sn']) : 0;
|
||
$o_sn = isset($data['addons']['sn']) ? intval($data['addons']['sn']) : 0;
|
||
if(isset($data['addons']['sn']) && intval($data['addons']['sn'])>0){
|
||
//传入了非0SN,即是对指定数据进行修改
|
||
require dirname(__FILE__).'/_public/update_order.php';
|
||
}elseif(isset($data['addons']['sn']) && intval($data['addons']['sn'])==0){
|
||
//传入了0SN,即是新建一个数据
|
||
require dirname(__FILE__).'/_public/new_order.php';
|
||
}else{
|
||
//未传入SN时,从服务器取出一个,未取到时自动新建
|
||
require dirname(__FILE__).'/_public/o_sn.php';
|
||
}
|
||
//写addon表
|
||
require dirname(__FILE__).'/_public/save_addon.php';
|
||
//返回模型SN
|
||
$record = $o_sn;
|
||
break;
|
||
|
||
default:
|
||
break;
|
||
}
|
||
|
||
|
||
if($errorCode>0){
|
||
$return['msg'] = Yii::t('errorcode',$errorCode);
|
||
}
|
||
$return['data'] = isset($record) ? $record : '';
|
||
$return['timeused'] = getMillisecond() - $START_TIME;
|
||
$return['bytes'] = strlen(json_encode($return['data']));//长度字节统计
|
||
fmFunc_stat_times_out($username=$_FM['user']['name'],1); //增加一次接口出站次数累计
|
||
fmFunc_stat_bytes_out($username=$_FM['user']['name'],$return['bytes']); //增加一次接口出站数据量累计
|
||
return json_encode($return);
|
||
}
|
||
|
||
}
|