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