西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > dedecms教程 >

DEDECMS后台频道管理员权限三级子栏目权限

时间:2016-02-24 05:42来源: 作者: 点击:
在DEDECMS增加了一个频道管理员,并赋予权限栏目之后,登陆后台却只能看到一级和二级目录,无法看到三级目录。查找原因后发现确实是dede的一个小缺陷。 导致产生这个缺陷的原因是

在DEDECMS增加了一个“频道管理员”,并赋予权限栏目之后,登陆后台却只能看到一级和二级目录,无法看到三级目录。查找原因后发现确实是dede的一个小缺陷。

导致产生这个缺陷的原因是dede的后台设置赋予 “频道管理员”栏目时,dede并没有将子栏目的管理权限顺延给父栏目。就像是你找了一个带孩子的老婆, 而新老婆的孩子和你并没有血缘关系一样,要解决这个问题其实很简单:就是在原有的二级循环上面加个三级循环或者更多估计三级多数也就到头了~~

处理办法有

首先,你找到dede/目录下的sys_admin_user_edit.php文件,然后查找

//显示用户信息

$randcode = mt_rand(10000,99999);

$safecode = substr(md5($cfg_cookie_encode.$randcode),0,24);

$typeOpti***** = '';

。。。。。。

直到:include DedeInclude('templets/sys_admin_user_edit.htm');

等代码,然后用以下代码来替换即可;

//显示用户信息

$randcode = mt_rand(10000,99999);

$safecode = substr(md5($cfg_cookie_encode.$randcode),0,24);

$typeOpti***** = '';

$row = $dsql->GetOne("Select * From `dede_admin` where id='$id'");

$typeids = explode(',', $row['typeid']);

$dsql->SetQuery("Select id,typename From `dede_arctype` where reid=0 And (ispart=0 Or ispart=1)");

$dsql->Execute('op');

while($nrow = $dsql->GetObject('op'))

{

$typeOpti***** .= "\r\n";

$dsql->SetQuery("Select id,typename From dede_arctype where reid={$nrow->id} And (ispart=0 Or ispart=1)");

$dsql->Execute('s');

while($nrow = $dsql->GetObject('s'))

{

$typeOpti***** .= "\r\n";

$dsql->SetQuery("Select id,typename From dede_arctype where reid={$nrow->id} And (ispart=0 Or ispart=1)");

$dsql->Execute('t');

while($nrow = $dsql->GetObject('t'))

{

$typeOpti***** .= "\r\n";

}

}

}

include DedeInclude('templets/sys_admin_user_edit.htm');

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(2)
100%
------分隔线----------------------------
栏目列表
热点内容