where(['name' => $menu_name])->find(); $config = json_decode($sdkMenus['config'],true); if(!empty($config)) { foreach($config as $k => $v) { $config[$k]['icon'] = is_https()?'https://':'http://' . $_SERVER['HTTP_HOST'] . $v['icon']; } } $this->assign('list',$config); $this->assign('menu_name',$menu_name); $this->assign('menu_list',$this->getMenuList()); $this->meta_title = '悬浮球菜单'; $this->display('lists'); } public function add() { $menu_name = I('get.menu_name','sdk_menu'); $sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find(); $config = json_decode($sdkMenus['config'],true); if(!empty($config)) { $config1 = $config; $id = array_pop($config1); $id = $id['id'] + 1; }else { $config = []; $id = 1; } if(IS_POST) { $post = I('post.'); $post['id'] = $id; array_push($config,$post); $sdkMenus['config'] = json_encode($config); if(empty($sdkMenus['name'])) { $sdkMenus['name'] = $menu_name; $sdkMenus['title'] = '悬浮球菜单'; M('tool','tab_')->data($sdkMenus)->add(); }else { M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); } $this->success('新增成功', U('lists',['menu_name' => $menu_name])); } $data['sort'] = $id; $this->meta_title = '悬浮球菜单'; $this->assign('type','add'); $this->assign('data',$data); $this->assign('menu_name',$menu_name); $this->display('add'); } public function edit($id) { $menu_name = I('get.menu_name','sdk_menu'); $sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find(); $config = json_decode($sdkMenus['config'],true); if(IS_POST) { foreach($config as $k => $v) { if($v['id'] == $id) { $post = I('post.'); foreach($post as $key => $val) { if($key == 'icon') { $config[$k][$key] = strstr($val,'/Upload'); }else { $config[$k][$key] = $val; } } break; } } $sdkMenus['config'] = json_encode($config); M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); $this->success('修改成功', U('lists',['menu_name' => $menu_name])); } $data = []; foreach($config as $k => $v) { if($v['id'] == $id) { $v['icon'] = is_https()?'https://':'http://' . $_SERVER['HTTP_HOST'] . $v['icon']; $data = $v; break; } } if(empty($data)) { $this->error('菜单不存在','lists'); } $this->meta_title = '悬浮球菜单'; $this->assign('type','edit'); $this->assign('data',$data); $this->assign('menu_name',$menu_name); $this->display('add'); } public function del($id) { $menu_name = I('get.menu_name','sdk_menu'); if(!is_array($id)) { $data[] = $id; }else { $data = $id; } $sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find(); $config = json_decode($sdkMenus['config'],true); foreach($config as $k => $v) { if(in_array($v['id'], $data)) { unset($config[$k]); } } $sdkMenus['config'] = json_encode($config); M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); $this->success('删除成功', U('lists',['menu_name' => $menu_name])); } public function getMenuList() { $data = M('tool','tab_')->where(['type' => 5])->select(); return $data; } }