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


PHP Board::inheritPermissions方法代码示例

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


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

示例1: getData

 /**
  * @see CacheBuilder::getData()
  */
 public function getData($cacheResource)
 {
     list($cache, $groupIDs) = explode('-', $cacheResource['cache']);
     $data = array();
     $sql = "SELECT\t\t*\n\t\t\tFROM\t\twbb" . WBB_N . "_board_to_group\n\t\t\tWHERE\t\tgroupID IN (" . $groupIDs . ")";
     $result = WCF::getDB()->sendQuery($sql);
     while ($row = WCF::getDB()->fetchArray($result)) {
         $boardID = $row['boardID'];
         unset($row['boardID'], $row['groupID']);
         foreach ($row as $permission => $value) {
             if ($value == -1) {
                 continue;
             }
             if (!isset($data[$boardID][$permission])) {
                 $data[$boardID][$permission] = $value;
             } else {
                 $data[$boardID][$permission] = $value || $data[$boardID][$permission];
             }
         }
     }
     if (count($data)) {
         require_once WBB_DIR . 'lib/data/board/Board.class.php';
         Board::inheritPermissions(0, $data);
     }
     $data['groupIDs'] = $groupIDs;
     return $data;
 }
开发者ID:joaocustodio,项目名称:EmuDevstore-1,代码行数:30,代码来源:CacheBuilderBoardPermissions.class.php

示例2: 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

示例3: getGroupData

 /**
  * @see UserSession::getGroupData()
  */
 protected function getGroupData()
 {
     parent::getGroupData();
     // get user permissions (board_to_user)
     $userPermissions = array();
     $sql = "SELECT\t\t*\n\t\t\tFROM\t\twbb" . WBB_N . "_board_to_user\n\t\t\tWHERE\t\tuserID = " . $this->userID;
     $result = WCF::getDB()->sendQuery($sql);
     while ($row = WCF::getDB()->fetchArray($result)) {
         $boardID = $row['boardID'];
         unset($row['boardID'], $row['userID']);
         $userPermissions[$boardID] = $row;
     }
     if (count($userPermissions)) {
         require_once WBB_DIR . 'lib/data/board/Board.class.php';
         Board::inheritPermissions(0, $userPermissions);
         foreach ($userPermissions as $boardID => $row) {
             foreach ($row as $key => $val) {
                 if ($val != -1) {
                     $this->boardPermissions[$boardID][$key] = $val;
                 }
             }
         }
     }
     // get group leader status
     if (MODULE_MODERATED_USER_GROUP == 1) {
         $sql = "SELECT\tCOUNT(*) AS count\n\t\t\t\tFROM\twcf" . WCF_N . "_group_leader leader, wcf" . WCF_N . "_group usergroup\n\t\t\t\tWHERE\t(leader.leaderUserID = " . $this->userID . "\n\t\t\t\t\tOR leader.leaderGroupID IN (" . implode(',', $this->getGroupIDs()) . "))\n\t\t\t\t\tAND leader.groupID = usergroup.groupID";
         $row = WCF::getDB()->getFirstRow($sql);
         $this->groupData['wcf.group.isGroupLeader'] = $row['count'] ? 1 : 0;
     }
 }
开发者ID:joaocustodio,项目名称:EmuDevstore-1,代码行数:33,代码来源:WBBUserSession.class.php


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