用户的权限列表编辑

/*
     * 用户的权限列表编辑
     *
     * */
    function setaccess()
    {
        $id=$_GET[‘id‘];
        $D=M("Access");
        $rdata=$D->where("role_id=".$id)->getField("node_id",true);
        $M=M("Node");
        $data=$M->where("pid=0")->select();
        foreach($data as &$v)
        {
            $v[‘second‘]=$M->where("pid=".$v[‘id‘])->select();
            foreach($v[‘second‘] as &$t)
            {
                $t[‘third‘]=$M->where("pid=".$t[‘id‘])->select();
            }
        }
        $this->assign("rdata",$rdata);
        $this->assign("role_id",$id);
        $this->assign("nodelist",$data);
        $this->display();
    }
    function addaccess()
    {
        $M=M("access");
        $M->where("role_id=".$_POST[‘role_id‘])->delete();
        $data=array();
        foreach($_POST[‘access‘]as $v)
        {
            $tmp=explode("_",$v);
            $data[]=array(
                ‘role_id‘=>$_POST[‘role_id‘],
                ‘node_id‘=>$tmp[0],
                ‘level‘=>$tmp[1]
            );
        }
        //dump($_POST);
        $succ=$M->addall($data);
        if($succ!==false)
        {
            $this->success("添加成功!","rolelist");
        }
        else
        {
            $this->success("添加失败!");
        }
    }
}

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link href="__ROOT__/Public/css/style.css" rel="stylesheet" type="text/css" />
<script src="__ROOT__/Public/js/jquery.js"></script>
</head>
<script language="javascript">
  $(function (){
     $("input").click(function(){
       var level=$(this).attr("level");
       if(level==1)
       {
           var str="_";
           var inputs=$("input[value*="+str+"]");
           $(this).attr("checked")?inputs.attr("checked",true):inputs.removeAttr("checked");
       }
       else if(level==2)
       {
           var id=$(this).attr("id");
           var inputs=$("input[pid="+id+"]");
           $(this).attr("checked")?inputs.attr("checked",true):inputs.removeAttr("checked");
           var pid=$(this).attr("pid");
           var put=$("input[id="+pid+"]");
           $(this).attr("checked")?put.attr("checked",true):put.removeAttr("checked");

}
       else if(level==3)
       {
          var pid=$(this).attr("pid");
          var inputs=$("input[id="+pid+"]");
          $(this).attr("checked")?inputs.attr("checked",true):"";
          var pids=$("input[id="+pid+"]").attr("pid");
          var put=$("input[id="+pids+"]");
           $(this).attr("checked")?put.attr("checked",true):"";

}
     });
  });
</script>
<body>

<div class="place">
    <span>位置:</span>
    <ul class="placeul">
    <li><a href="#">首页</a></li>
    <li><a href="#">表单</a></li>
    </ul>
    </div>
    
    <div class="formbody">
    
    <div class="formtitle"><span>基本信息</span></div>
    <form method="post" action="{:U(‘Access/addaccess‘)}">
        <foreach name="nodelist" item="first">
                <div style="clear:both; line-height:40px;">
                <input type="checkbox" id="{$first.id}" name="access[]" <in name="first.id" value="$rdata">checked=checked</in> pid="{$first.pid}"level="{$first.level}"id=""value="{$first.id}_{$first.level}"/>
                {$first.title}
                </div>
                <div>
                    <foreach name="first.second" item="sec">
                       <div style="margin-left:50px;clear:both; line-height:40px;">
                            <input type="checkbox" name="access[]" <in name="sec.id" value="$rdata">checked=checked</in> id="{$sec.id}"pid="{$sec.pid}"level="{$sec.level}"value="{$sec.id}_{$sec.level}"/>
                            {$sec.title}
                        </div>
                        <div style="margin-left:100px;">
                            <ul>
                        <foreach name="sec.third" item="third">
                            <li style="float:left; line-height:40px; padding-left:20px;">
                                    <input type="checkbox" name="access[]"<in name="third.id" value="$rdata">checked=checked</in>  id="{$third.id}"pid="{$third.pid}"level="{$third.level}"value="{$third.id}_{$third.level}"/>
                                    {$third.title}
                                </li>
                            
                        </foreach>
                        </ul>
                    </div>
                </foreach>
                </div>
                
        </foreach>
        <div style="clear:both">
        <label>&nbsp;</label>
        <input name="role_id" type="hidden" value="{$role_id}"/>
        <input name="submit" type="submit" class="btn" value="确认保存"/>
          </div>
    </form>
    
    </div>

</body>
</html>

时间: 2024-10-05 06:05:33

用户的权限列表编辑的相关文章

假设已经存在函数 get_permissions可以获取当前用户的权限列表

题意:假设已经存在函数 get_permissions可以获取当前用户的权限列表, 设计一个权限管理类,既可以作为装饰器,对一个函数授权,也可以作为上下文管理,对一段代码授权例如 permissions = get_permissions() if 'admin' in permissions: ## do somthings else: raise Exception('Permissions denied') 分析:权限检查的一般都是用装饰器的方法实现demo: def get_permis

linux基础 &nbsp; 用户权限列表

#####用户权限列表###### ###1.权限列表的定义#### 指定特殊用户对某个文件有特殊的权限标记表格 ####2.权限列表的识别####### [[email protected] mnt]# ls  -l file -rw-r--r--. 1 root root 0 Nov 16 20:12 file        ###权限位是.表示权限列表未激活 [[email protected] mnt]# getfacl file                ###权限列表查看 # f

用户权限列表

####1.权限列表的定义#### 指定特殊用户对某个文件有特殊权限的记录表格 ####2.权限列表的识别#### -rw-rw-r--+ 1 root root 12 Oct 29 21:20 file##权限位有加号权限列表开启 -rw-r--r--. 1 root root  0 Oct 29 21:22 westos##权限位是.权限列表未激活 ####3.权限列表的查看#### getfacl  file # file: file##文件名称 # owner: root##文件所有人

linux笔记 2-2 用户权限列表

**********2.用户权限列表*********** ## 1.权限列表的定义 ##指定特殊用户对某个文件有特殊权限的记录表格 ## 2. 权限列表的管理 ## -rw-r--r--.             权限位.权限列表未开启 -rw-r--r--+             权限位有加号,权限列表开启 ## 3.权限列表的查看 ## getctl file #file:                     文件名称#owner:                    文件所有人

《Linux菜鸟入门2》用户权限列表

第二单元   用户权限列表 1.权限列表的定义 指定特殊用户对某个文件有特殊权限的记录表格 2.权限列表的识别 -rw-rw-r--+ 1 root root 12 Oct 29 21:20 file      权限位有加号权限列表开启 -rw-r--r--. 1 root root  0 Oct 29 21:22 westos    权限位有点号权限列表未开启 3.权限列表的查看 getfaclfile file: file          文件名称 owner: root         

解决在iOS8环境下,当用户关闭定位服务总开关时,无法将APP定位子选项加入定位权限列表的问题

关键点:- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status代理方法 iOS7环境下当APP首次调用startUpdatingLocation方法开启定位服务时,系统会自动将该APP的定位子选项加入设置中的定位权限列表,并弹框提示用户是否为该APP定位服务授权. 可是在iOS8环境下,使用定位服务的方式较之前版本发生改变,调用s

Android权限列表permission说明

网络上不乏android权限列表,但是很少有将列表和使用方法放在一起的,所以特此总结一下 需要在AndroidManifest.xml中定义相应的权限(以获取internet访问权限为例),如下: < uses-permission   android:name ="android.permission.INTERNET"  /> 注意在<application>也可以定义INTERNET权限,如下: < application   android:per

Linux中的用户及权限管理

用户及权限管理 Linux具有Muliti-task(多任务)Muliti-Users(多用户)的环境. 用户:为了保护所有使用计算机者的权益不受到损害,所以要实现资源的使用隔离机制,为了实现资源的使用隔离机制,就要标识每一个使用者,而这每一个使用者就是用户. 用户ID:每一个使用者的唯一标识,计算机用来识别使用者. 用户密码:用户的认证手段.Authenticationg(认证),Authorization(授权),Auditiong(审计) 3A 用户类别:分为管理员和普通用户,普通用户又分

深入浅出Zabbix 3.0 -- 第四章 主机、用户和权限管理

第四章  主机.用户和权限管理 Zabbix中主机作为一个管理单元,用来管理和组织监控项,它可以包含任意数量和类型的监控项,并且每个主机必须属于至少一个主机组.当主机中的监控项获取监控数据后,Zabbix中创建的用户就可以访问这些数据,同样这些用户必须属于至少一个用户组.你可能注意到不管是主机还是用户,在Zabbix中必须属于至少一个主机组或用户组.为什么要这么做呢?这是因为Zabbix中是通过用户组和主机组来实现用户对主机中监控数据进行访问权限的分配和管理. 4.1主机 4.1.1创建主机 Z