diff --git a/application/admin/controller/Pluginsadmin.php b/application/admin/controller/Pluginsadmin.php index 790e1e06d..1a973c1f9 100755 --- a/application/admin/controller/Pluginsadmin.php +++ b/application/admin/controller/Pluginsadmin.php @@ -127,8 +127,19 @@ class Pluginsadmin extends Common } $this->assign('data', $data); + // 名称校验 + if(!empty($params['plugins'])) + { + $ret = PluginsAdminService::PluginsVerification($params, $params['plugins']); + if($ret['code'] != 0) + { + $this->assign('verification_msg', $ret['msg']); + return $this->fetch('first_step'); + } + } + // 标记为空或等于view 并且 编辑数据为空则走第一步 - if((empty($params['plugins']) || $params['plugins'] == 'view') && empty($data['data'][0])) + if(empty($params['plugins']) && empty($data['data'][0])) { return $this->fetch('first_step'); } else { diff --git a/application/admin/view/default/pluginsadmin/first_step.html b/application/admin/view/default/pluginsadmin/first_step.html index dbd6b4c7b..177865b6e 100755 --- a/application/admin/view/default/pluginsadmin/first_step.html +++ b/application/admin/view/default/pluginsadmin/first_step.html @@ -19,6 +19,12 @@
+ + {{if !empty($verification_msg)}} +
+ {{$verification_msg}} , 请重新填写! +
+ {{/if}}
diff --git a/application/service/PluginsAdminService.php b/application/service/PluginsAdminService.php index a6a559edc..9337dc0d9 100755 --- a/application/service/PluginsAdminService.php +++ b/application/service/PluginsAdminService.php @@ -23,6 +23,9 @@ use app\service\SqlconsoleService; */ class PluginsAdminService { + // 排除不能使用的名称 + public static $plugins_exclude_verification = ['view', 'shopxo', 'www']; + /** * 列表 * @author Devil @@ -807,6 +810,33 @@ php; return DataReturn('创建成功', 0); } + /** + * 名称校验 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-05-13T00:00:45+0800 + * @param [array] $params [输入参数] + * @param [string] $plugins [应用唯一标记] + */ + public static function PluginsVerification($params, $plugins) + { + // 排除校验 + if(in_array($plugins, self::$plugins_exclude_verification)) + { + return DataReturn('不能使用限制的名称['.$plugins.']', -1); + } + + // 应用是否存在 + $temp_plugins = Db::name('Plugins')->where(['plugins'=>$plugins])->value('plugins'); + if(empty($params['id']) && $temp_plugins == $plugins) + { + return DataReturn('应用名称已存在['.$plugins.']', -1); + } + + return DataReturn('校验成功', 0); + } + /** * 应用添加 * @author Devil @@ -819,26 +849,26 @@ php; */ private static function PluginsExistInsert($params, $plugins) { - // 是否非使用的名称 - if(in_array($plugins, ['view', 'shopxo'])) + // 名称校验 + $ret = self::PluginsVerification($params, $plugins); + if($ret['code'] != 0) { - return DataReturn('不能使用限制的名称['.$plugins.']', -1); + return $ret; } - // 应用是否存在 - $temp_plugins = Db::name('Plugins')->where(['plugins'=>$plugins])->value('plugins'); - if(empty($temp_plugins)) + // 应用添加 + if(empty($params['id'])) { - if(Db::name('Plugins')->insertGetId(['plugins'=>$plugins, 'is_enable'=>0, 'add_time'=>time()]) <= 0) + $temp_plugins = Db::name('Plugins')->where(['plugins'=>$plugins])->value('plugins'); + if(empty($temp_plugins)) { - return DataReturn('应用添加失败', -1); - } - } else { - if(empty($params['id']) && $temp_plugins == $plugins) - { - return DataReturn('应用名称已存在['.$plugins.']', -1); + if(Db::name('Plugins')->insertGetId(['plugins'=>$plugins, 'is_enable'=>0, 'add_time'=>time()]) <= 0) + { + return DataReturn('应用添加失败', -1); + } } } + return DataReturn('添加成功', 0); }