Files
qc.ifish7.com/Application/Admin/Controller/MenuController.class.php
T
2021-04-18 18:51:51 +08:00

105 lines
3.6 KiB
PHP

<?php
namespace Admin\Controller;
use Think\Controller;
class MenuController extends AdminController{
public function index(){
$tab=D('node');
$pid=I("get.pid");
$p=$tab->find($pid);
$ptitle=$p[title]?$p[title]:"菜单管理";
$data=$tab->where(array("pid"=>$pid))->order('sort asc')->select();
$this->assign("pid",$pid);
$this->assign("ppid",$p[pid]);
$this->assign("ptitle",$ptitle);
$this->assign("data",$data);
$this->display();
}
public function add(){
$tab=D('node');
if(IS_POST){
//验证
$rules = array(
array('title','require','标题必须填写!',1),
array('name','require','链接必须填写!',1),
);
$data=$tab->validate($rules)->create();
if($data){
//设置level
if($data[pid]){
$level=$tab->where(array("id"=>$data[pid]))->getField("level");
$level=$level+1;
$data['level']=$level;
}else{
$data['level']=1;
}
//
$id=$tab->add($data);
D("UserLog")->add("add",D('node')->getTableName(),$id);
$this->success($data);
}else{
$this->error($tab->getError());
}
}else{
$pid=I("get.pid");
//获取最大的排序
$sort_where[pid]=$pid;
$sort_where["sort"]=array("LT",900);//最大900是系统设置的,一般要小于这个
$sort=$tab->where($sort_where)->max('sort');
$sort=$sort+10;
$this->pagetitle="添加菜单";
$this->assign("sort",$sort);
$this->assign("pid",$pid);
$this->display();
}
}
public function editor(){
$tab=D('node');
if(IS_POST){
//验证
$rules = array(
array('title','require','标题必须填写!',1),
array('name','require','链接必须填写!',1),
);
$data=$tab->validate($rules)->create();
if($data){
//设置level
if($data[pid]){
$level=$tab->where(array("id"=>$data[pid]))->getField("level");
$level=$level+1;
$data['level']=$level;
}else{
$data['level']=1;
}
//
$tab->save($data);
D("UserLog")->add("update",D('node')->getTableName(),$data[id]);
$this->success($data);
}else{
$this->error($tab->getError());
}
}else{
//获取最大的排序
$id=I("get.id");
$r=$tab->find($id);
$this->assign("r",$r);
$this->display();
}
}
//删除节点
public function del(){
$obj=M("node");
$id=I("id",0,'intval');
$count=$obj->where(array("pid"=>$id))->count();
if($count>0){
$this->error("该节点下有子节点,如要删除请先删除子节点");
}else{
$result=$obj->delete($id);
D("UserLog")->add("delete",D('node')->getTableName(),$id);
if($result){
$this->success("删除成功");
}else{
$this->error("删除失败");
}
}
}
}