本文整理汇总了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);
}
}