Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Xentral\Modules\Postat\SOAP\Result;
|
||||
|
||||
class AllowedServicesResult
|
||||
{
|
||||
/** @var The raw data received from the SOAP API. */
|
||||
private $data;
|
||||
|
||||
/**
|
||||
* AllowedServicesResult constructor.
|
||||
*
|
||||
* @param $data
|
||||
*/
|
||||
public function __construct($data)
|
||||
{
|
||||
$this->data = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get two-level associative array of service codes and the service names.
|
||||
*
|
||||
* Can be used for example to generate options for a <select> element.
|
||||
*
|
||||
* [
|
||||
* 45 => [
|
||||
* 'name' => 'Premium Int. Outbound B2B',
|
||||
* 'features' => [
|
||||
* '007' => '24-Stundenpaket',
|
||||
* '022' => 'Nachnahme COD International',
|
||||
* '024' => 'Zerbrechlich international',
|
||||
* '063' => 'Höherversicherung',
|
||||
* '065' => 'Postlagernd',
|
||||
* '074' => 'Gefahrgut - begrenzte Menge (LQ)',
|
||||
* ],
|
||||
* ],
|
||||
* 46 => [
|
||||
* 'name' => 'Post Express International',
|
||||
* 'features' => [],
|
||||
* ],
|
||||
* etc...
|
||||
* ]
|
||||
*
|
||||
* @return array $options
|
||||
*/
|
||||
public function toOptionsArray(): array
|
||||
{
|
||||
$services = $this->data->GetAllowedServicesForCountryResult->CarrierServiceRow;
|
||||
|
||||
$options = [];
|
||||
foreach ($services as $service) {
|
||||
$features = [];
|
||||
foreach ($service->FeatureList->AdditionalInformationResult as $test) {
|
||||
$features[$test->ThirdPartyID] = $test->Name;
|
||||
}
|
||||
|
||||
$options[$service->ThirdPartyID] = [
|
||||
'name' => $service->Name,
|
||||
'features' => $features,
|
||||
];
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user