public function liveSearchAction() { $this->noViewRenderer(); $request = $this->getRequest(); $type = $request->getQuery('filter'); $json = array(); switch ($type) { case 'item': $items = Model_Orders::getAll(array('start' => 0, 'limit' => 100, 'filter_name' => $request->getQuery('term'))); if ($items) { $cache = array(); foreach ($items as $item) { if (!isset($cache[$item['item_name']])) { $json[] = array('id' => $item['id'], 'label' => $item['item_name'], 'value' => $item['item_name']); $cache[$item['item_name']] = true; } } } break; case 'user': $users = Model_Users::getUsers(array('start' => 0, 'limit' => 100, 'filter_username' => $request->getQuery('term'))); if ($users) { $cache = array(); foreach ($users as $user) { if (!isset($cache[$user['username']])) { $json[] = array('id' => $user['user_id'], 'label' => $user['username'], 'value' => $user['username']); $cache[$user['username']] = true; } } } break; case 'tags': $tags = Model_Tags::getTags(array('start' => 0, 'limit' => 100, 'filter_name' => $request->getQuery('term'))); if ($tags) { $cache = array(); foreach ($tags as $tag) { if (!isset($cache[$tag['name']])) { $json[] = array('id' => $tag['id'], 'label' => $tag['name'], 'value' => $tag['name']); $cache[$tag['name']] = true; } } } break; } $response = $this->getResponse(); $response->addHeader('Cache-Control: no-cache, must-revalidate'); $response->addHeader('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); $response->addHeader('Content-type: application/json'); echo JO_Json::encode($json); }