function getPerm($fid, $bz = '', $i = 0) { global $_G; ///*static $i=0; $i++; if ($i > 20) { //防死循环,如果循环20次以上,直接退出; return false; } if ($folder = C::t('folder')->fetch($fid)) { if ($folder['gid']) { if (C::t('organization_admin')->ismoderator_by_uid_orgid($folder['gid'], $_G['uid'])) { return perm_binPerm::getGroupPower('all'); } $perm = intval($folder['perm']); $power = new perm_binPerm($perm); if ($power->isPower('flag')) { //不继承,使用此权限 if ($_G['setting']['allowshare']) { $perm = $power->delPower('share'); } return $perm; } else { //继承上级,查找上级 if ($folder['pfid'] > 0 && $folder['pfid'] != $folder['fid']) { //有上级目录 return self::getPerm($folder['pfid'], $bz, $i); } else { //其他的情况使用 return perm_binPerm::getGroupPower('read'); } } } else { return self::getuserPerm(); } } else { return 3; } }
function getSumByAction($action = array()) { //$action==all 时返回所有的值相加 $i = 0; $powerarr = self::getPowerArr(); if ($action == 'all') { foreach ($powerarr as $key => $val) { $i += $val; } } else { $i = 1; foreach ($action as $val) { $i += intval($powerarr[$val]); } } if (getglobal('setting/allowshare')) { $power = new perm_binPerm($i); $i = $power->delPower('share'); } return $i; }