isAdmin()) throw new NotAllowedException(); if (!isset($_GET['type'])) throw new UnexpectedValueException('Unsupported autosuggest request.'); if ($_GET['type'] === 'tags' && isset($_GET['data'])) { $data = array_unique(explode(' ', urldecode($_GET['data']))); $data = array_filter($data, function($item) { return strlen($item) >= 3; }); $this->payload = ['items' => []]; // Nothing to look for? if (count($data) === 0) return; $results = Tag::match($data); foreach ($results as $id_tag => $tag) $this->payload['items'][] = [ 'label' => $tag, 'id_tag' => $id_tag, ]; } } }