function getLengthList()
 {
     $query = "SELECT length_id, length, time_scale FROM gban_length ORDER BY length";
     $this->db->sql_query($query);
     $lengthList = array();
     $minutesList = array();
     $hoursList = array();
     $daysList = array();
     $weeksList = array();
     $monthsList = array();
     $lengths = $this->db->get_array();
     for ($i = 0; $i < count($lengths); $i++) {
         $length = new Length();
         $length->setId($lengths[$i]['length_id']);
         $length->setLength($lengths[$i]['length']);
         $length->setTimeScale($lengths[$i]['time_scale']);
         if ($length->getTimeScale() == "minutes") {
             array_push($minutesList, $length);
         } else {
             if ($length->getTimeScale() == "hours") {
                 array_push($hoursList, $length);
             } else {
                 if ($length->getTimeScale() == "days") {
                     array_push($daysList, $length);
                 } else {
                     if ($length->getTimeScale() == "weeks") {
                         array_push($weeksList, $length);
                     } else {
                         if ($length->getTimeScale() == "months") {
                             array_push($monthsList, $length);
                         }
                     }
                 }
             }
         }
     }
     // Order the length list with smallest to largest
     $lengthList = $this->combineLengthLists($lengthList, $minutesList);
     $lengthList = $this->combineLengthLists($lengthList, $hoursList);
     $lengthList = $this->combineLengthLists($lengthList, $daysList);
     $lengthList = $this->combineLengthLists($lengthList, $weeksList);
     $lengthList = $this->combineLengthLists($lengthList, $monthsList);
     if ($lengthList[0]->getTimeScale() == "minutes" && $lengthList[0]->getLength() == 0) {
         // Order Permanent Ban Length to the end of array
         $fruit = array_shift($lengthList);
         array_push($lengthList, $fruit);
     }
     return $lengthList;
 }
 // HARDCODED: 4 = member
 if ($user->getAccessLevel() == 4) {
     $pending = 1;
 }
 // Validate IP
 if (!preg_match("/^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\$/", $ipOfBanned)) {
     $ipOfBanned = null;
 }
 // Do not ban if it was an admin
 if (!$isUserMember) {
     if ($length->getLength() > 0) {
         $lengthInSec = $length->getLengthInSeconds();
         $expireDate = time() + $lengthInSec;
         // Expire date
         // Add the new ban non-perma ban
         if ($length->getTimeScale() == "minutes" || $length->getTimeScale() == "hours" || $length->getTimeScale() == "days" && $length->getLength() == 1) {
             // 1 day bans or shorter take affect immediately for all members
             $banId = $banQueries->addBan($steamId, $length->getLength(), $length->getTimeScale(), $expireDate, $reason, $user->getName(), 0, $nameOfBanned, $serverId, $ipOfBanned, $banner);
         } else {
             // bans longer than 1 day are put into pending mode if the user only has member level priveliges
             $banId = $banQueries->addBan($steamId, $length->getLength(), $length->getTimeScale(), $expireDate, $reason, $user->getName(), $pending, $nameOfBanned, $serverId, $ipOfBanned, $banner);
         }
     } else {
         // Add perma ban
         $banId = $banQueries->addBan($steamId, $length->getLength(), $length->getTimeScale(), time(), $reason, $user->getName(), $pending, $nameOfBanned, $serverId, $ipOfBanned, $banner);
     }
     $menssageTOplayer = eregi_replace("gb_reason", $reasonQueries->getReason($reason), eregi_replace("gb_time", $length->getReadable(), $config->banMessage));
     $menssageTOserver = "#multi #green " . $LAN_PROCESSBAN_014 . ": #lightgreen " . $nameOfBanned . " #green " . $LAN_PROCESSBAN_015 . " #lightgreen " . $length->getReadable() . " #green " . $LAN_PROCESSBAN_016 . " #lightgreen " . $reasonQueries->getReason($reason) . " #green " . $LAN_PROCESSBAN_017 . " #lightgreen \"" . $steamId . "\" #green !!!";
     // Now kick the user
     kickUser($steamId, $serverId, $menssageTOplayer, $menssageTOserver);
     // Use this to build the URL link (replace processServerBan with updateBan)