123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <?php
- /**
- *
- * Node (权限管理)
- *
- */
- if(!defined("Ainaphp")) exit("Access Denied");
- class NodeAction extends AdminbaseAction {
- protected $dao,$groups;
- function _initialize()
- {
- parent::_initialize();
- $this->dao=D('node');
- $this->groups[0]=array('id'=>0,'name'=>L('ACCESS_PUBLIC'));
- foreach($this->menudata as $key=>$r){ if($r['parentid']==0)$this->groups[$r[id]]=$r;}
- $this->assign('groups', $this->groups);
- }
- function index(){
- $data[]=array('name'=>'index','title'=>'列表','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- $data[]=array('name'=>'add','title'=>'添加','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- $data[]=array('name'=>'edit','title'=>'修改','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- $data[]=array('name'=>'insert','title'=>'插入','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- $data[]=array('name'=>'update','title'=>'更新','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- $data[]=array('name'=>'delete','title'=>'删除','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- $data[]=array('name'=>'status','title'=>'状态','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- $data[]=array('name'=>'listorder','title'=>'排序','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- //$data[]=array('name'=>'deleteall','title'=>'批量删除','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- //$data[]=array('name'=>'statusallok','title'=>'批量审核','pid'=>90,'status'=>1,'listorder'=>0,'level'=>3,'groupid'=>3);
- foreach($data as $sql){
- //$this->dao->add($sql);
- }
- $str = "<tr>
- <td align='center'><input name='listorders[\$id]' type='text' size='2' value='\$listorder' class='input-text-c'></td>
- <td >\$spacer\$title</td>
- <td >\$name</td>
- <td align='center'>\$status</td>
- <td align='center'>\$str_manage</td>
- </tr>";
- import ( '@.ORG.Tree' );
- foreach($this->groups as $key=>$res){
- $result=$this->dao->where("groupid=$res[id]")->select();
- $array=array();
- foreach($result as $r) {
- $r['str_manage'] = '<a href="'.U('Node/add',array( 'pid' => $r['id'],'groupid'=>$r['groupid'])).'">'.L('add').'</a> | <a href="'.U('Node/edit',array( 'id' => $r['id'])).'">'.L('edit').'</a> | <a href="javascript:confirm_delete(\''.U('Node/delete',array( 'id' => $r['id'])).'\',\''.L('confirm',array('message'=>$r['cname'])).'\')">'.L('delete').'</a> ';
- $r['parentid']=$r['pid'];
- $r['status']==1 ? $r['status']=L('enable') : $r['status']=L('disable') ;
- $array[] = $r;
- }
- $tree = new Tree ($array);
- $tree->icon = array(' '.L('tree_1'),' '.L('tree_2'),' '.L('tree_3'));
- $tree->nbsp = ' ';
- $data = $tree->get_tree(1, $str);
- $nodes[$res['id']]['data'] = $data;
- $nodes[$res['id']]['groupinfo']=$res;
- }
- $this->assign('nodes', $nodes);
- $this->display();
- }
- function _before_insert(){
- if($_POST['pid']){
- $level =$this->dao->getById($_POST['pid']);
- $_POST['level']=$level['level']+1;
- }else{
- $_POST['level']=1;
- }
- }
- function _before_update(){
- if($_POST['pid']){
- $level =$this->dao->getById($_POST['pid']);
- $_POST['level']=$level['level']+1;
- }else{
- $_POST['level']=1;
- }
- }
- function _before_add(){
- $groupid= intval($_GET['groupid']);
- $pid = intval($_GET['pid']);
- import ( '@.ORG.Tree' );
- $result = $this->dao->select();
- foreach($result as $r) {
- if($r['status']!=1 || $r['level']==3) continue;
- $r['selected'] = $r['id'] == $pid ? 'selected' : '';
- $r['parentid']=$r['pid'];
- $array[] = $r;
- }
- $str = "<option value='\$id' \$selected>\$spacer \$title</option>";
- $tree = new Tree ($array);
- $nodes = $tree->get_tree(0, $str,$pid);
- $this->assign('nodes', $nodes);
- $this->assign('groupid', $groupid);
- }
- function edit(){
- $id = intval($_GET['id']);;
- $vo = $this->dao->getById($id);
- $this->assign('groupid', $vo['groupid']);
- $pid = intval($vo['pid']);
- import ( '@.ORG.Tree' );
- $result = $this->dao->select();
- foreach($result as $r) {
- if($r['status']!=1) continue;
- $r['selected'] = $r['id'] == $pid ? 'selected' : '';
- $r['parentid']=$r['pid'];
- $array[] = $r;
- }
- $str = "<option value='\$id' \$selected>\$spacer \$title</option>";
- $tree = new Tree ($array);
- $nodes = $tree->get_tree(0, $str,$pid);
- $this->assign('nodes', $nodes);
- $this->assign ( 'udate', $vo );
- $this->display ();
- }
- }
- ?>
|