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***** .= "<option value='{$nrow->id}’ class=’btype’".(in_array($nrow->id, $typeids) ? ‘ selected’ : ”).">{$nrow->typename}</option>\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***** .= "<option value='{$nrow->id}’ class=’stype’".(in_array($nrow->id, $typeids) ? ‘ selected’ : ”).">—{$nrow->typename}</option>\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***** .= "<option value='{$nrow->id}’ class=’stype’".(in_array($nrow->id, $typeids) ? ‘ selected’ : ”).">─{$nrow->typename}</option>\r\n";}}}include DedeInclude(‘templets/sys_admin_user_edit.htm’);文件上传,一切ok~~~~~~~~~

玩linux…做运维…集群..http://scottlinn.blog.51cto.com/829656/656379

含泪播种的人一定能含笑收获。

DEDECMS后台三级子栏目权限添加修复,频道管理员权限分配问题解

相关文章:

你感兴趣的文章:

标签云: