/**
  * @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;
     }
 }
 /**
  * Initialises the user session.
  */
 public function init()
 {
     parent::init();
     $this->boardVisits = $this->threadVisits = $this->closedCategories = $this->lastVisitTime = null;
 }