当前位置: 首页>>代码示例>>PHP>>正文


PHP RBAC::getRecordAccessList方法代码示例

本文整理汇总了PHP中RBAC::getRecordAccessList方法的典型用法代码示例。如果您正苦于以下问题:PHP RBAC::getRecordAccessList方法的具体用法?PHP RBAC::getRecordAccessList怎么用?PHP RBAC::getRecordAccessList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RBAC的用法示例。


在下文中一共展示了RBAC::getRecordAccessList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: render

    public function render($data)
    {
        require DConfig_PATH . "/System/systembutton.inc.php";
        // 引入按钮配置文件
        //引用需要确认按钮的配置文件
        $confirmcmit = (require DConfig_PATH . "/System/confirmcmit.inc.php");
        $ActionName = ACTION_NAME;
        //操作方法
        if ($ActionName == "lookupDataRoamPull") {
            $ActionName = "add";
        }
        $accessList = RBAC::getRecordAccessList();
        //当前类的所有权限组
        /**
         * 开始 获取当前类的所有函数
         */
        $modulename = MODULE_NAME;
        // 当前类名
        $class = $modulename . "Action";
        $my_object = new $class();
        $class_methods = get_class_methods(get_class($my_object));
        //开启反射
        // 		$my_object = new ReflectionClass($class);
        // 		$class_methods = $my_object->getMethods(ReflectionMethod::IS_PUBLIC);
        // 		$class_methods=obj2arr($class_methods);
        // 		dump($class_methods);
        /**
         * 结束 获取当前类的所有函数
         */
        /**
         * 开始构造按钮显示
         */
        // 第一步 获取公共按钮集合
        $generalbutton = $general[strtoupper($ActionName)];
        // 第二步 获取当前模型的特殊按钮集合
        $specialbutton = $special[$modulename][strtoupper($ActionName)];
        $buttonList = array();
        // 第三步 设置按钮组
        if (count($generalbutton) > 0) {
            $buttonList = array_merge($buttonList, $generalbutton);
        }
        if (count($specialbutton) > 0) {
            $buttonList = array_merge($buttonList, $specialbutton);
        }
        // 第四步 判断权限 构造HTML
        $html = '<div class="formBar">';
        $html .= '<ul>';
        foreach ($buttonList as $k => $v) {
            if (!in_array("auditEdit", $class_methods) && $k == "confirmcmit" && in_array($modulename, $confirmcmit) && !in_array($modulename, array('MisAutoMrt', 'MisAutoHxr', 'MisAutoAux', 'MisAutoTyl'))) {
                //如果是带审批流的模板,将取消确认提交按钮
                if ($_SESSION[strtolower($modulename . "_" . $ActionName)] != '' || $_SESSION[C('ADMIN_AUTH_KEY')] || strtoupper($ActionName) == 'AUDITEDIT') {
                    $html .= $v['html'];
                    continue;
                }
            }
            if (in_array("auditEdit", $class_methods) && strtoupper($ActionName) == 'AUDITEDIT') {
                //获取流程审批节点信息
                $process_relation_formDao = M("process_relation_form");
                $where = array();
                $where['tablename'] = $modulename;
                $where['tableid'] = $data['data']['id'];
                $where['auditState'] = 0;
                //未处理
                $where['doing'] = 1;
                //进行中的节点
                $where['flowtype'] = array("gt", 1);
                //审批节点或者转子流程节点
                $newinfo = $process_relation_formDao->where($where)->order('sort asc')->select();
                $infolist = array_merge($newinfo);
                if ($infolist[0]['flowtype'] == 3) {
                    //当前审核节点时子流程。则排除审核和打回按钮。保留生单按钮
                    if ($k == "auditProcess") {
                        continue;
                    }
                } else {
                    if ($k == "lookupAuditTuiProcess") {
                        continue;
                    }
                }
            }
            // 判断 当前按钮是否存在
            if (count($v) > 0) {
                // 1、判断当前类里面有没有这个函数
                if (in_array($k, $class_methods)) {
                    // 2、判断返回值是不是空的,是空的就是没有'-'
                    if ($_SESSION[strtolower($modulename . "_" . $ActionName)] != '' || $_SESSION[C('ADMIN_AUTH_KEY')] || strtoupper($ActionName) == 'AUDITEDIT') {
                        $show = 1;
                        // 					if($data){
                        // 						$key=substr($accessList[strtoupper($ActionName)],strpos($accessList[strtoupper($ActionName)],'-')+1);   //截取后面一段
                        // 						$show = $this->checkRBAC($key,$data['data']);
                        // 					}
                        // 判断是不是有权限
                        if ($show) {
                            // 判断是不是有多个按钮
                            if ($v['more']) {
                                // 多个按钮过滤
                                foreach ($v['list'] as $k1 => $v1) {
                                    // 判断是否有规则存在
                                    if ($v1['rules']) {
                                        $a = $v1['rules'];
//.........这里部分代码省略.........
开发者ID:tmlsoft,项目名称:main,代码行数:101,代码来源:ShowActionWidget.class.php


注:本文中的RBAC::getRecordAccessList方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。