/**
  * 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;
 }