예제 #1
0
 public function formResult()
 {
     $xmlString = simplexml_load_string($this->response);
     $xmlItems = $xmlString->result_table->items;
     if (!$xmlItems) {
         return false;
     }
     $firstItem = $xmlItems[0];
     $lastItem = $xmlItems[count($xmlItems) - 1];
     $route = strval($firstItem->City) . ' (' . strval($firstItem->Country) . ')';
     if (count($xmlItems) > 1) {
         $route = $route . ' - ' . strval($lastItem->City) . ' (' . strval($lastItem->Country) . ')';
     }
     if (isset($this->statusMessages['ru']["{$lastItem->ActionId}"])) {
         $status = $this->statusMessages['ru']["{$lastItem->ActionId}"];
     } else {
         $status = $this->statusMessages['ru'][777];
     }
     $address = strval($lastItem->City) . ' (' . strval($lastItem->Country) . ')';
     if (isset($lastItem) && $lastItem) {
         $this->result = array('service' => $this->service, 'identifier' => $this->identifier, 'status' => $status . ' ' . strval($lastItem->DetailMessages), 'route' => TableBuilder::translate($route, 'uk-ru'), 'address' => TableBuilder::translate($address, 'uk-ru'), 'date_arrival' => strval($lastItem->DateTimeAction));
         return true;
     } else {
         return false;
     }
 }
예제 #2
0
 public function formResult()
 {
     $resultObject = simplexml_load_string($this->response);
     if (!$resultObject) {
         return false;
     }
     $receiverCode = substr($this->identifier, 0, 2);
     $receiverCountryName = Country::where('code', $receiverCode)->pluck('name_ru');
     $senderCode = substr($this->identifier, 11, 2);
     $senderCountryName = Country::where('code', $senderCode)->pluck('name_ru');
     $description = $resultObject->eventdescription;
     if ($this->strposArray($description, $this->badStatuses)) {
         return false;
     }
     $status = strpos($description, 'відправлене') ? 'Отправлено' : 'В обработке';
     $dateLeave = $resultObject->eventdate;
     $routeStart = $resultObject->lastoffice . ' ' . $resultObject->lastofficeindex;
     if ($senderCountryName) {
         $routeStart .= ' (' . $senderCountryName . ')';
     }
     $this->result = array('service' => $this->service, 'identifier' => $this->identifier, 'route_start' => TableBuilder::translate($routeStart, 'uk-ru'), 'route_end' => $receiverCountryName, 'date_leaving' => $dateLeave, 'status' => $status, 'other' => TableBuilder::translate($description, 'uk-ru'));
     return true;
 }