目录文件(仅仅写的权限的代码)
Role/showlist.html 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > <html> <head> <meta http-equiv= "content-type" content= "text/html; charset=UTF-8" /> <title>角色列表</title> <link href= "__CSS__/mine.css" type= "text/css" rel= "stylesheet" /> </head> <body> <style> .tr_color{background-color: #9F88FF} </style> <div class = "div_head" > <span> <span style= "float: left;" >当前位置是:权限管理-》角色列表</span> <span style= "float: right; margin-right: 8px; font-weight: bold;" > <a style= "text-decoration: none;" href= "__URL__/add" >【添加角色】</a> </span> </span> </div> <div style= "font-size: 13px; margin: 10px 5px;" > <table class = "table_a" border= "1" width= "100%" > <tbody><tr style= "font-weight: bold;" > <td >角色id</td> <td >角色名称</td> <td >权限ids</td> <td >role_auth_ac</td> <td align= "center" >操作</td> </tr> <volist name= "list" id= "vo" > <tr id= "product{$i}" > <td>{ $vo .role_id}</td> <td><a href= "#" >{ $vo .role_name}</a></td> <td>{ $vo .role_auth_ids}</td> <td>{ $vo .role_auth_ac}</td> <td> <a href= "__URL__/showauth/rid/{$vo.role_id}" >分配权限</a> <a href= "#" >修改</a> <a href= "#" >删除</a> </td> </tr> </volist> <tr> <td colspan= "20" style= "text-align: center;" > { $page } </td> </tr> </tbody> </table> </div> </body> </html> |
Role/showautht.html 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > <html> <head> <title>给角色分配权限</title> <meta http-equiv= "content-type" content= "text/html;charset=utf-8" /> <link href= "__CSS__/mine.css" type= "text/css" rel= "stylesheet" /> </head> <body> <div class = "div_head" > <span> <span style= "float:left" >当前位置是:角色管理-》分配权限信息【{ $role_info [ 'role_name' ]}】</span> <span style= "float:right;margin-right: 8px;font-weight: bold" > <a style= "text-decoration: none" href= "__CONTROLLER__/showlist" >【返回】</a> </span> </span> </div> <div></div> <div style= "font-size: 13px;margin: 10px 5px" > <form action= '__SELF__' method= 'post' > <table cellspacing= '1' id= "list-table" > <volist name= 'auth_infoA' id= 'v' > <tr> <td width= "25%" valign= "top" class = "first-cell" style= 'border-bottom:2px solid gray; font-weight:bold;' > <input type= "checkbox" name= "auth_id[]" value= "{$v['auth_id']}" class = "checkbox" < if condition= "in_array($v['auth_id'],$authidsarr)" >checked= 'checked' </ if > />{ $v [ 'auth_name' ]} </td> <td width= '75%' style= 'border-bottom:2px solid gray;' > <volist name= 'auth_infoB' id= "vv" > < if condition= "$vv['auth_pid'] eq $v['auth_id']" > <div style= "200px;float:left;" > <input type= "checkbox" name= "auth_id[]" value= "{$vv['auth_id']}" < if condition= "in_array($vv['auth_id'],$authidsarr)" >checked= 'checked' </ if > />{ $vv [ 'auth_name' ]} </div> </ if > </volist> </td> </tr> </volist> </table> <input type= 'submit' value= '分配权限' /> </form> </div> </body> </html> |
Auth/showlist.html 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > <html> <head> <meta http-equiv= "content-type" content= "text/html; charset=UTF-8" /> <title>权限列表</title> <link href= "__CSS__/mine.css" type= "text/css" rel= "stylesheet" /> </head> <body> <style> .tr_color{background-color: #9F88FF} </style> <div class = "div_head" > <span> <span style= "float: left;" >当前位置是:权限管理-》权限列表</span> <span style= "float: right; margin-right: 8px; font-weight: bold;" > <a style= "text-decoration: none;" href= "__URL__/addauth" >【添加权限】</a> </span> </span> </div> <div style= "font-size: 13px; margin: 10px 5px;" > <table class = "table_a" border= "1" width= "100%" > <tbody><tr style= "font-weight: bold;" > <td >序号</td> <td >权限名称</td> <td >父权限id</td> <td >控制器</td> <td >方法</td> <td >全路径</td> <td >级别</td> <td align= "center" >操作</td> </tr> <volist name= "list" id= "vo" > <tr id= "product{$i}" > <td>{ $vo .auth_id}</td> <td>{ $ge | str_repeat = $vo [ 'auth_level' ]}{ $vo .auth_name}</td> <td>{ $vo .auth_pid}</td> <td>{ $vo .auth_c}</td> <td>{ $vo .auth_a}</td> <td>{ $vo .auth_path}</td> <td>{ $vo .auth_level}</td> <td> <a href= "#" >修改</a> <a href= "__URL__/del/id/{$vo.auth_id}" >删除</a> </td> </tr> </volist> <tr> <td colspan= "20" style= "text-align: center;" > { $page } </td> </tr> </tbody> </table> </div> </body> </html> |
Auth/addauth.html 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > <html> <head> <title>添加权限</title> <meta http-equiv= "content-type" content= "text/html;charset=utf-8" > <link href= "./css/mine.css" type= "text/css" rel= "stylesheet" > </head> <body> <div class = "div_head" > <span> <span style= "float:left" >当前位置是:权限管理-》添加权限信息</span> <span style= "float:right;margin-right: 8px;font-weight: bold" > <a style= "text-decoration: none" href= "__URL__/showlist" >【返回】</a> </span> </span> </div> <div></div> <div style= "font-size: 13px;margin: 10px 5px" > <form action= "__SELF__" method= "post" enctype= "multipart/form-data" > <table border= "1" width= "100%" class = "table_a" > <tr> <td>权限名称</td> <td><input type= "text" name= "auth_name" /></td> </tr> <tr> <td>权限父id</td> <td> <select name= "auth_pid" > <option value= "0" >请选择</option> < foreach name= "list" item= "vo" > <option value= "{$vo.auth_id}" >{ $vo .auth_name}</option> </ foreach > </select> </td> </tr> <tr> <td>控制器</td> <td><input type= "text" name= "auth_c" /></td> </tr> <tr> <td>方法</td> <td><input type= "text" name= "auth_a" /></td> </tr> <tr> <td colspan= "2" align= "center" > <input type= "submit" value= "添加" > </td> </tr> </table> </form> </div> </body> </html> |
Model/AuthModel.class.php 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?php namespace AdminModel; use ThinkModel; //Admin模块的manager控制器 class AuthModel extends Model{ function saveDate( $info ){ //根据已有的四个字段生成一条记录 $newid = $this ->add( $info ); //根据新增主键进一步制作auth_path和auth——level if ( $info [ "auth_pid" ]==0){ //dingji $path = $newid ; } else { //非顶级 $pinfo = $this ->find( $info [ "auth_pid" ]); $p_path = $pinfo [ "auth_path" ]; $path = $p_path . "-" . $newid ; } //全路径数组之后的个数减一的结果 $level = count ( explode ( "-" , $path ))-1; $sql = "update tp_auth set auth_path='$path',auth_level='$level'where auth_id='$newid'" ; return $this ->execute( $sql ); } } |
Controller/RoleController.class.PHP 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<?php namespace AdminController; //声明 use ThinkController; //用Controller在什么位置 //Admin模块的login控制器 class RoleController extends Controller{ function showlist(){ $list =M( "role" )->select(); $this ->assign( "list" , $list ); $this ->display(); } function showauth( $rid ){ if (IS_POST){ $auth_ids = $_POST [ "auth_id" ]; //接收表单 $role_auth_ids =implode( "," , $auth_ids ); //数组转字符串 $authnames =M( "auth" )->field( "auth_c,auth_a" )->where( "auth_id in($role_auth_ids)" )->select(); //根据权限id查控制器方法 //组织成字符串313883132 $str = "" ; foreach ( $authnames as $v ){ if (! empty ( $v [ "auth_c" ])) $str .= $v [ "auth_c" ]. "-" . $v [ "auth_a" ]. "," ; } $str =rtrim( $str , "," ); //去除逗号 //执行SQL语句 $aql = "update tp_role set role_auth_ids='$role_auth_ids',role_auth_ac='$str' where role_id=$rid" ; M( "role" )->execute( $aql ); $this ->redirect( "showlist" , array ( "rid" => $rid ),1, "分配完成" ); } //增加权限 $auth_infoA =M( "auth" )->where( "auth_level=0 " )->select(); $auth_infoB =M( "auth" )->where( "auth_level=1 " )->select(); $role =M( "role" )->find( $rid ); $authidsarr = explode ( "," , $role [ "role_auth_ids" ]); //注册到模板 $this ->assign( "auth_infoA" , $auth_infoA ); $this ->assign( "auth_infoB" , $auth_infoB ); $this ->assign( "authidsarr" , $authidsarr ); $this ->display(); } } |
Controller/AuthController.class.PHP 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<?php namespace AdminController; //声明 use ThinkController; //用Controller在什么位置 //Admin模块的login控制器 class AuthController extends Controller{ function showlist(){ $data =M( "auth" )->order( 'auth_path' )->select(); $this ->assign( "list" , $data ); $this ->assign( 'ge' , "--/" ); $this ->display(); } function addauth(){ $auth = new AdminModelAuthModel(); if (! empty ( $_POST )){ $info = $auth ->create(); if ( $auth ->saveDate( $info )){ $this ->redirect( "showlist" , array (),1, "添加成功" ); } else { echo "老哥,干啥呢!" ; } } $pid =M( "auth" )->field( "auth_id,auth_name" )->where( "auth_level=0" )->select(); $this ->assign( "list" , $pid ); $this ->display(); } //删除的方法 function del( $id ){ //参数的键名叫id $goods =M( 'auth' ); if ( $goods -> delete ( $id )){ $this ->success( "删除成功" ,U( "showlist" ),1); } else { $this ->error( "删除失败" ,U( "showlist" ),1); } } } |