uchome后台新增栏目加权限

2013-01-17 22:03 来源:www.chinab4c.com 作者:uchome专家

    uchome后台新增栏目加权限,如何给新增栏目设置权限呢,在uchome里面注释的不是很清晰。uchome里面的权限问题,我们在上个文章里面已经谈到了。这次要结合uchome的实际例子,谈谈uchome后台新增栏目加权限.

    首先我们看admincp.php的入口,这里的$acs = array(),这里是几唯数组,就表示有几个栏目.array('feed', 'blog', 'album', 'pic', 'comment', 'thread', 'post', 'doing', 'share', 'poll')里面对应的小数组,小数组里的feed这些就是对应大栏目里面的小操作栏.

   我们在uchome群组用户里面可以看到,在uchome的表里面,存储着大量的权限字段,他就和这个一一对应上了。

    @include_once(S_ROOT.'./data/data_usergroup_'.$m_groupid.'.php');
    他的缓存文件位于data目录,调用的时候,通过循环进行一个个匹配.

     for($i=0; $i<3; $i++) {
    foreach ($acs[$i] as $value) {
        if($isfounder || $megroup['manageconfig'] || $megroup['manage'.$value]) {
            $needlogin = 1;
            $menus[$i][$value] = 1;
            $_SGLOBAL['usergroup'][$m_groupid]['manage'.$value] = 1;
        }
    }
}

      权限表中记录了该操作无权限,那么他对应的op返回的值就是0,否则就是1.表示存在操作权限。在uchome的后台栏目操作,都位于tpl/side.htm,里面通过各个循环,达到控制操作栏的目的.

        <!--{loop $acs[1] $value}-->
        <!--{if $menus[1][$value]}-->
        <!--{if $ac==$value}--><li class="active"><!--{else}--><li><!--{/if}--><a >{$_TPL[menunames][$value]}</a></li>
        <!--{/if}-->

       <!--{/loop}-->

    通过控制栏目权限的判断,从而达到了栏目权限控制的用途。通过checkperm('manageapp')方式控制也可以控制具体页面的操作权限.

    通过以上程序,我们可以分析出来,如果要新加栏目,我们必须构造多唯数组,然后在模板中循环出来,记得要在group表里面增加对应的权限字段.

   来源:http://www.chinab4c.com

      

来源于上海汽车租赁