diff --git a/application/admin/controller/Action.php b/application/admin/controller/Action.php index 6cd2b553..4e9cde06 100644 --- a/application/admin/controller/Action.php +++ b/application/admin/controller/Action.php @@ -103,7 +103,7 @@ class Action extends Admin { * @author colin */ public function del(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if(empty($id)){ return $this->error("非法操作!",''); } @@ -122,7 +122,7 @@ class Action extends Admin { * @author colin */ public function setstatus(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if(empty($id)){ return $this->error("非法操作!",''); } @@ -189,7 +189,7 @@ class Action extends Admin { * @author huajie */ public function dellog() { - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if(empty($id)){ return $this->error("非法操作!",''); } diff --git a/application/admin/controller/Ad.php b/application/admin/controller/Ad.php index cad47f8b..945a5b60 100644 --- a/application/admin/controller/Ad.php +++ b/application/admin/controller/Ad.php @@ -90,7 +90,7 @@ class Ad extends Admin { } public function del(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if (empty($id)) { return $this->error("非法操作!"); @@ -175,7 +175,7 @@ class Ad extends Admin { } public function delad(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if (empty($id)) { return $this->error("非法操作!"); diff --git a/application/admin/controller/Channel.php b/application/admin/controller/Channel.php index 86b68679..129cff8d 100644 --- a/application/admin/controller/Channel.php +++ b/application/admin/controller/Channel.php @@ -127,7 +127,7 @@ class Channel extends Admin{ * @author 麦当苗儿 */ public function del() { - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if (empty($id)) { return $this->error('请选择要操作的数据!'); diff --git a/application/admin/controller/Content.php b/application/admin/controller/Content.php index 1d2234d7..08c35a4d 100644 --- a/application/admin/controller/Content.php +++ b/application/admin/controller/Content.php @@ -145,7 +145,7 @@ class Content extends Admin{ * @author molong */ public function del(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if (empty($id)) { return $this->error("非法操作!"); } diff --git a/application/admin/controller/Group.php b/application/admin/controller/Group.php index ee92c61f..92859c3e 100644 --- a/application/admin/controller/Group.php +++ b/application/admin/controller/Group.php @@ -97,7 +97,7 @@ class Group extends Admin { //会员分组删除控制器 public function del(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if (empty($id)) { return $this->error("非法操作!"); } diff --git a/application/admin/controller/Link.php b/application/admin/controller/Link.php index b6fc4a82..b7713de7 100644 --- a/application/admin/controller/Link.php +++ b/application/admin/controller/Link.php @@ -85,7 +85,7 @@ class Link extends Admin{ //删除 public function delete(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if (empty($id)) { return $this->error('非法操作!'); } diff --git a/application/admin/controller/Menu.php b/application/admin/controller/Menu.php index 7e947665..f492fe12 100644 --- a/application/admin/controller/Menu.php +++ b/application/admin/controller/Menu.php @@ -49,19 +49,15 @@ class Menu extends Admin{ if(IS_POST){ $Menu = model('Menu'); $data = input('post.'); - if($data){ - $id = $Menu->save($data); - if($id){ - session('admin_menu_list',null); - //记录行为 - action_log('update_menu', 'Menu', $id, session('user_auth.uid')); - return $this->success('新增成功', Cookie('__forward__')); - } else { - return $this->error('新增失败'); - } - } else { - return $this->error($Menu->getError()); - } + $id = $Menu->save($data); + if($id){ + session('admin_menu_list',null); + //记录行为 + action_log('update_menu', 'Menu', $id, session('user_auth.uid')); + return $this->success('新增成功', Cookie('__forward__')); + } else { + return $this->error('新增失败'); + } } else { $this->assign('info',array('pid'=>input('pid'))); $menus = db('Menu')->select(); @@ -87,18 +83,14 @@ class Menu extends Admin{ if(IS_POST){ $Menu = model('Menu'); $data = input('post.'); - if($data){ - if($Menu->save($data,array('id'=>$data['id']))!== false){ - session('admin_menu_list',null); - //记录行为 - action_log('update_menu', 'Menu', $data['id'], session('user_auth.uid')); - return $this->success('更新成功', Cookie('__forward__')); - } else { - return $this->error('更新失败'); - } - } else { - return $this->error($Menu->getError()); - } + if($Menu->save($data,array('id'=>$data['id']))!== false){ + session('admin_menu_list',null); + //记录行为 + action_log('update_menu', 'Menu', $data['id'], session('user_auth.uid')); + return $this->success('更新成功', Cookie('__forward__')); + } else { + return $this->error('更新失败'); + } } else { $info = array(); /* 获取数据 */ @@ -123,9 +115,9 @@ class Menu extends Admin{ * @author yangweijie */ public function del(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); - if ( empty($id) ) { + if (empty($id) ) { return $this->error('请选择要操作的数据!'); } diff --git a/application/admin/controller/Seo.php b/application/admin/controller/Seo.php index 1f1ae831..45a4617b 100644 --- a/application/admin/controller/Seo.php +++ b/application/admin/controller/Seo.php @@ -97,7 +97,7 @@ class Seo extends Admin{ } public function del(){ - $id = array_unique((array)$this->param['id']); + $id = $this->getArrayParam('id'); if (empty($id)) { return $this->error("非法操作!"); } diff --git a/application/common/controller/Base.php b/application/common/controller/Base.php index 4ad9b259..641862e3 100644 --- a/application/common/controller/Base.php +++ b/application/common/controller/Base.php @@ -148,4 +148,15 @@ class Base extends \think\Controller{ $this->assign('request',$this->request); $this->assign('param',$this->param); } + + /** + * 获取单个参数的数组形式 + */ + protected function getArrayParam($param){ + if (isset($this->param['id'])) { + return array_unique((array)$this->param[$param]); + }else{ + return array(); + } + } } diff --git a/core/library/think/Route.php b/core/library/think/Route.php index b8894d86..3ffed5fd 100644 --- a/core/library/think/Route.php +++ b/core/library/think/Route.php @@ -754,7 +754,7 @@ class Route } if (isset($miss)) { // 未匹配所有路由的路由规则处理 - return self::parseRule('', $miss, $url); + return self::parseRule('', $miss['route'], $url, $miss['option']); } return false; } @@ -1162,7 +1162,7 @@ class Route $paths = explode('/', $pathinfo); } // 获取路由地址规则 - $url = is_array($route) ? $route[0] : $route; + $url = $route; // 替换路由地址中的变量 if (is_string($url) && !empty($matches)) { foreach ($matches as $key => $val) { @@ -1177,7 +1177,7 @@ class Route $result = ['type' => 'function', 'function' => $url, 'params' => $matches]; } elseif (0 === strpos($url, '/') || 0 === strpos($url, 'http')) { // 路由到重定向地址 - $result = ['type' => 'redirect', 'url' => $url, 'status' => (is_array($route) && isset($route[1])) ? $route[1] : 301]; + $result = ['type' => 'redirect', 'url' => $url, 'status' => isset($option['status']) ? $option['status'] : 301]; } elseif (0 === strpos($url, '\\')) { // 路由到方法 $method = strpos($url, '@') ? explode('@', $url) : $url;