コード例 #1
0
ファイル: Browse.class.php プロジェクト: tmlsoft/main
 /**
  * 获取该用户的浏览级权限
  * 
  * @param unknown $aname  当前action名称
  * @param unknown $type   $type=1 读取物理文件格式	
  * @param unknown $tablename   内嵌表格读取数据权限 传入内嵌表格表名	
  */
 public function getUserMap($aname = '', $type, $tablename)
 {
     $authId = $_SESSION[C('USER_AUTH_KEY')];
     $map = "";
     if ($authId && $_SESSION[C('ADMIN_AUTH_KEY')] != 1) {
         $file = DConfig_PATH . "/BrowsecList/borwse_" . $authId . ".php";
         if (!file_exists($file)) {
             Browse::saveBrowseList($authId);
         }
         // 查询当前用户当前模块的浏览权限,如果没获取到,要1、重新生成 2、如果未生成抛出异常 3、对生成文件再做检查权限工作
         $borwseList = (require $file);
         // 返回當前aciton的瀏覽權限
         if ($tablename) {
             if ($borwseList[$aname][$tablename]['formsql']) {
                 $map = $borwseList[$aname][$tablename]['formsql'];
             }
         } else {
             if ($borwseList[$aname]['formsql'] || $borwseList[$aname]['extend']['formsql']) {
                 $map = $borwseList[$aname]['formsql'];
                 if ($borwseList[$aname]['extend']['formsql']) {
                     if ($map) {
                         $map .= " and " . $borwseList[$aname]['extend']['formsql'];
                     } else {
                         $map .= $borwseList[$aname]['extend']['formsql'];
                     }
                 }
             }
         }
     }
     if ($type == 1) {
         //物理文件样式
         return $borwseList;
     } else {
         //表单sql
         //echo $tablename;
         $map2 = Browse::changerole($aname, '', $tablename);
         if ($map2) {
             $map = array($map, $map2);
             //$map = $map." OR (".$map2.")";
         }
         //print_r($map);
         return $map;
     }
 }