/** * Returns a list of group ids by type. * * @return array<array> */ protected function getGroupIDs() { if ($this->groupIDs === null) { $this->groupIDs = array('admin' => array(), 'mod' => array(), 'all' => array(), 'registered' => array()); $sql = "SELECT\tgroupID, groupType\n\t\t\t\tFROM\twcf" . WCF_N . "_user_group"; $statement = WCF::getDB()->prepareStatement($sql); $statement->execute(); while ($row = $statement->fetchArray()) { $group = new UserGroup(null, $row); $this->groupIDs['all'][] = $group->groupID; if ($group->groupType != UserGroup::EVERYONE && $group->groupType != UserGroup::GUESTS) { $this->groupIDs['registered'][] = $group->groupID; if ($group->isModGroup()) { $this->groupIDs['mod'][] = $group->groupID; } if ($group->isAdminGroup()) { $this->groupIDs['admin'][] = $group->groupID; } } } } return $this->groupIDs; }