qa-ifish7/web/Application/Admin/Controller/MenuController.class.php

105 lines
3.6 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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("删除失败");
}
}
}
}