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]; }
public static function detect($site) { return (string) (int) $site == $site ? Site::getById((int) $site) : Site::find($site); }
protected function mapSites() { foreach (static::SiteMapping as $index => $expected) { if ((string) (int) $this->{$expected} != $this->{$expected}) { $site = Site::find($this->{$expected}); if ($site instanceof Site) { $this->{$expected} = $site->id; $this->{static::CountryMapping[$index]} = $site->countryId; } } } }