/** * Gets paginated results from a source */ protected function filteredSearch() { $current_source = array('id' => 'invalid', 'title' => ''); $paginated = null; $q = trim($this->input->get('q', null, 'default')); try { if (!empty($q)) { $current_source = \Search\Models\Source::current(); $paginated = \Search\Models\Source::paginate($current_source, $q); \Dsc\Activities::track('Performed Search', array('Search Term' => $q, 'Search Source' => $current_source['title'], 'page_number' => $paginated->current_page, 'app' => 'search')); } } catch (\Exception $e) { \Dsc\System::addMessage($e->getMessage(), 'error'); } $this->app->set('current_source', $current_source); $this->app->set('paginated', $paginated); $this->app->set('q', $q); $this->app->set('meta.title', trim('Search ' . $current_source['title'])); echo $this->theme->render('Search/Site/Views::search/index.php'); }
protected function filteredSearch() { $q = $this->input->get('q', null, 'default'); try { $current_source = \Search\Models\Source::current(); $paginated = \Search\Models\Source::paginate($current_source, $q); $count = 0; foreach (\Search\Factory::sources() as $key => $source) { $count = $count + \Search\Models\Source::count($source, $q); } } catch (\Exception $e) { $this->app->error(404, 'Search Type Not Found'); return; } $this->app->set('current_source', $current_source); $this->app->set('paginated', $paginated); $this->app->set('count', $count); $this->app->set('q', $q); $this->app->set('meta.title', trim('Search ' . $current_source['title'])); echo $this->theme->render('Search/Admin/Views::search/index.php'); }