目录文件(仅仅写的权限的代码)
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=
"width: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
Admin\Model;
use
Think\Model;
//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
Admin\Controller;
//声明
use
Think\Controller;
//用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
Admin\Controller;
//声明
use
Think\Controller;
//用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
\Admin\Model\AuthModel();
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);
}
}
}
|