Ejemplo n.º 1
0
 public function Update()
 {
     parent::bootstrap();
     $server_groups = $this->tsClient->serverGroupList();
     $users = \User::all();
     $seat_groups = \Auth::findAllGroups();
     $corps = \EveCorporationCorporationSheet::all();
     list($validCorps, $invalidUsers) = $this->getValidCorps($users);
     foreach ($server_groups as $sg) {
         foreach ($validCorps as $c) {
             $corp = array_shift($c['corps']);
             $groups = $c['user_groups'];
             if ($sg->toString() === $corp) {
                 $this->addClient($sg, $c['user']);
             }
             foreach ($groups as $uGroup) {
                 $this->updateServerGroup($uGroup, $sg, $c['user']);
             }
             if ($this->seatGroupCompare($sg)) {
                 foreach ($seat_groups as $seatGroup) {
                     $this->updateSeatGroup($sg, $seatGroup, $c['user']);
                 }
             }
         }
         $client_list = $sg->clientList();
         foreach ($invalidUsers as $user) {
             foreach ($client_list as $client) {
                 if ($client["client_unique_identifier"] == $user->tsid) {
                     try {
                         $usr_client = self::$tsClient->clientFindDb($user->tsid, true);
                         if (!empty($usr_client)) {
                             $sg->clientDel($usr_client);
                         }
                     } catch (Exception $e) {
                     }
                 }
             }
             if ($sg->__toString() != "Guest Server Query" && $sg->__toString() != "Admin Server Query" && $sg->__toString() != "Server Admin" && $sg->__toString() != "Guest" && $sg->__toString() != "epicness" && $sg->__toString() != "Friends" && $sg->__toString() != "Normal") {
                 $client_list = $sg->clientList();
                 foreach ($client_list as $client) {
                     if ($client["client_unique_identifier"] == $user->tsid) {
                         try {
                             $sg->clientDel($client["cldbid"]);
                         } catch (Exception $e) {
                         }
                     }
                 }
             }
         }
     }
 }