當前位置: 首頁>>代碼示例>>PHP>>正文


PHP UserSession::getGroupData方法代碼示例

本文整理匯總了PHP中UserSession::getGroupData方法的典型用法代碼示例。如果您正苦於以下問題:PHP UserSession::getGroupData方法的具體用法?PHP UserSession::getGroupData怎麽用?PHP UserSession::getGroupData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在UserSession的用法示例。


在下文中一共展示了UserSession::getGroupData方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getGroupData

 /**
  * @see UserSession::getGroupData()
  */
 protected function getGroupData()
 {
     parent::getGroupData();
     // get group permissions from cache (board_to_group)
     $groups = implode(",", $this->groupIDs);
     $groupsFileName = StringUtil::getHash(implode("-", $this->groupIDs));
     // register cache resource
     WCF::getCache()->addResource('boardPermissions-' . $groups, WBB_DIR . 'cache/cache.boardPermissions-' . $groupsFileName . '.php', WBB_DIR . 'lib/system/cache/CacheBuilderBoardPermissions.class.php');
     // get group data from cache
     $this->boardPermissions = WCF::getCache()->get('boardPermissions-' . $groups);
     if (isset($this->boardPermissions['groupIDs']) && $this->boardPermissions['groupIDs'] != $groups) {
         $this->boardPermissions = array();
     }
     // get board moderator permissions
     $sql = "SELECT\t\t*\n\t\t\tFROM\t\twbb" . WBB_N . "_board_moderator\n\t\t\tWHERE\t\tgroupID IN (" . implode(',', $this->groupIDs) . ")\n\t\t\t\t\t" . ($this->userID ? " OR userID = " . $this->userID : '') . "\n\t\t\tORDER BY \tuserID DESC";
     $result = WCF::getDB()->sendQuery($sql);
     while ($row = WCF::getDB()->fetchArray($result)) {
         $boardID = $row['boardID'];
         unset($row['boardID'], $row['userID'], $row['groupID']);
         if (!isset($this->boardModeratorPermissions[$boardID])) {
             $this->boardModeratorPermissions[$boardID] = array();
         }
         foreach ($row as $permission => $value) {
             if ($value == -1) {
                 continue;
             }
             if (!isset($this->boardModeratorPermissions[$boardID][$permission])) {
                 $this->boardModeratorPermissions[$boardID][$permission] = $value;
             } else {
                 $this->boardModeratorPermissions[$boardID][$permission] = $value || $this->boardModeratorPermissions[$boardID][$permission];
             }
         }
     }
     if (count($this->boardModeratorPermissions)) {
         require_once WBB_DIR . 'lib/data/board/Board.class.php';
         Board::inheritPermissions(0, $this->boardModeratorPermissions);
     }
 }
開發者ID:joaocustodio,項目名稱:EmuDevstore-1,代碼行數:41,代碼來源:AbstractWBBUserSession.class.php


注:本文中的UserSession::getGroupData方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。