Example #1
0
 public function autocomplete()
 {
     $name = htmlentities(Input::get('query'), ENT_QUOTES, 'UTF-8', false);
     if (self::MIN_AUTOCOMPLETE_LENGTH > mb_strlen($name)) {
         return ['results' => [], 'more' => false];
     }
     $client = Client::createFromArray(Input::all());
     if (!$client) {
         return ['results' => [], 'more' => false];
     }
     $filter = new FilterSite();
     $filter->searchString = $name;
     /**
      * @var Speedy $speedy
      */
     $speedy = app('speedy');
     $speedy->user($client);
     $sites = $speedy->listSitesEx($filter, new Language(App::getLocale()));
     if (!isset($sites->return)) {
         throw new SpeedyException('Error while searching for Speedy sites.');
     }
     $result = [];
     $settlements = SiteEx::createFromSoapResponse($sites->return);
     foreach ($settlements as $settlement) {
         if (!$settlement instanceof SiteEx) {
             continue;
         }
         $entry = ['id' => $settlement->site->id, 'name' => $settlement->site->formatted];
         $entry['ref'] = $settlement->site->name;
         $result[] = (object) $entry;
     }
     return ['results' => $result, 'more' => false];
 }
Example #2
0
 public function autocomplete()
 {
     $settlement = (int) Input::get('settlement');
     $name = htmlentities(Input::get('query'), ENT_QUOTES, 'UTF-8', false);
     if (0 >= $settlement || self::MIN_AUTOCOMPLETE_LENGTH > mb_strlen($name)) {
         return ['results' => [], 'more' => false];
     }
     $client = Client::createFromArray(Input::all());
     if (!$client) {
         return ['results' => [], 'more' => false];
     }
     /**
      * @var Speedy $speedy
      */
     $speedy = app('speedy');
     $speedy->user($client);
     $streets = $speedy->listStreets($settlement, Language::create(), $name);
     if (!isset($streets->return)) {
         throw new SpeedyException('Error while searching for Speedy streets.');
     }
     $result = [];
     $streets = Street::createFromSoapResponse($streets->return);
     foreach ($streets as $street) {
         if (!$street instanceof Street) {
             continue;
         }
         $entry = ['id' => $street->id, 'name' => $street->formatted];
         $entry['ref'] = $street->name;
         $result[] = (object) $entry;
     }
     return ['results' => $result, 'more' => false];
 }
Example #3
0
 public function pdf(PdfRequest $request)
 {
     $data = $request->all();
     $client = Client::createFromArray($data);
     /**
      * @var Speedy $speedy
      */
     $speedy = app('speedy');
     $speedy->user($client);
     $pdf = Pdf::createFromRequest($data);
     $pdf = $speedy->createPDF($pdf);
     if (!isset($pdf->return) || !$pdf->return) {
         throw new SpeedyException('Invalid PDF detected.');
     }
     return response()->stream(function () use($pdf) {
         $fp = fopen('php://output', 'w');
         fputs($fp, $pdf->return);
         fclose($fp);
     }, 200, ['Content-Type' => 'application/pdf']);
 }
Example #4
0
 protected function loadServicesForSites(array $data, $sender_site_id, $receiver_site_id)
 {
     /**
      * @var Speedy $speedy
      */
     $speedy = app('speedy');
     $speedy->user(Client::createFromArray($data));
     $sender_site_id = (int) $sender_site_id;
     $receiver_site_id = (int) $receiver_site_id;
     $date = isset($data['date']) ? Carbon::createFromFormat('Y-m-d', $data['date']) : null;
     if (!$sender_site_id || !$receiver_site_id) {
         throw new SpeedyException('Invalid sender or receiver site ID given for service availability check.');
     }
     $services = $speedy->listServicesForSites($sender_site_id, $receiver_site_id, Language::create(), $date);
     if (!isset($services->return) || !$services->return) {
         throw new SpeedyException('Invalid Speedy services response detected.');
     }
     $services = CourierServiceExt::createFromSoapResponse($services->return);
     return $services;
 }
Example #5
0
 public function autocomplete()
 {
     $client = Client::createFromArray(Input::all());
     if (!$client) {
         return ['results' => [], 'more' => false];
     }
     /**
      * @var Speedy $speedy
      */
     $speedy = app('speedy');
     $speedy->user($client);
     $settlement = Input::get('settlement');
     if ((string) (int) $settlement != $settlement) {
         $site = Site::find($settlement);
         if ($site instanceof Site) {
             $settlement = $site->id;
         }
     }
     $settlement = (int) $settlement;
     $name = htmlentities(Input::get('query'), ENT_QUOTES, 'UTF-8', false);
     if (0 >= $settlement) {
         return ['results' => [], 'more' => false];
     }
     $offices = $speedy->listOfficesEx($settlement, Language::create(), $name);
     if (!$offices || !isset($offices->return)) {
         return ['results' => [], 'more' => false];
     }
     $result = [];
     $offices = OfficeEx::createFromSoapResponse($offices->return);
     foreach ($offices as $office) {
         if (!$office instanceof OfficeEx) {
             continue;
         }
         $entry = ['id' => $office->id, 'name' => $office->name];
         $entry['ref'] = $office->name;
         $result[] = (object) $entry;
     }
     return ['results' => $result, 'more' => false];
 }
Example #6
0
 public function user($data)
 {
     if ($data instanceof Client) {
         $this->user = $data;
     }
     if ($this->user instanceof Client) {
         if ($this->active()) {
             return $this->user;
         }
         if ($this->user->username() && $this->user->password()) {
             return $this->login($this->user->username(), $this->user->password());
         }
         return $this->user;
     }
     $client = Client::createFromArray($data);
     if ($this->activeClient($client)) {
         $this->user = $client;
     }
     if (!$this->user) {
         $this->login($client->username(), $client->password());
     }
     return $this->user;
 }