PHPCMS2008栏目分权限子类继承父类的解决办法
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-19 16:41:22 浏览: 评论:0
在PHPCMS2008中,可对每个栏目分配给不同角色的不同权限,是以栏目为出发点,这一点与我们一般情况从角色为出发点不对,因此其没有去实现栏目权限继承的功能,但在实际中创建了很多栏目后再分权时你就会发现分权工作很麻烦的问题,原因是子栏目不能继承父栏目,需要一个一个的分配.
针对这一点,我们也想到一个相对之策,即在判断其是否有权限的同时,如果其本身没有权限那就判断他的所有上级,如果上级都没有,那就没有,如果有一个上级有那它就有.
具体修改如下,admin目录下的content.inc.php文件,大概在31行,找下这段代码:
- $allow_manage = $priv_role->check('catid', $catid, 'manage');
- $allow_add = $allow_manage ? true : $priv_role->check('catid', $catid, 'add');
- $allow_check = $allow_manage ? true : $priv_role->check('catid', $catid, 'check');
- $allow_view = $allow_manage ? true : $priv_role->check('catid', $catid, 'view');
- ---------以上是原代码----------------------------------------------------------------
- if(!$allow_manage){
- $pcatid=get_brand_catid($catid);//此处为获取父级ID的函数。可以自己写一个递归。
- $pcatid=$CATEGORY[$pcatid]['parentid'];
- $allow_manage = $priv_role->check('catid', $pcatid, 'manage');
- $allow_add = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'add');
- $allow_check = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'check');
- $allow_view = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'view'); //phpfensi.com
- }
- ----------------以上是增加的代码----------------------------------------------------
- $attachment = new attachment($mod, $catid);
Tags: PHPCMS栏目分类 PHPCMS子类父类
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)