public function search($req, $res, $args) { if (!Input::query('keywords')) { return Router::redirect(Router::pathFor('themes')); } // Get number of pages $nbThemes = ThemeModel::countGetSearch(Input::query('keywords')); $nbPages = ceil(($nbThemes + 1) / 20); // Determine the offset $p = !isset($args['page']) || $args['page'] <= 1 || $args['page'] > $nbPages ? 1 : intval($args['page']); $offset = 20 * ($p - 1); // Generate paging links $pagination = Router::paginate($nbPages, $p, 'themes/search?keywords=' . Input::query('keywords') . '/#'); $themes = ThemeModel::getSearch(Input::query('keywords')); return View::setPageInfo(['themes' => $themes, 'pagination' => $pagination, 'title' => 'Search', 'active_nav' => 'themes', 'top_right_link' => ['url' => Router::pathFor('themes.create'), 'text' => 'Add theme']])->addBreadcrumb([Router::pathFor('themes') => 'Themes', 'Search results', '"' . Input::query('keywords') . '"'])->addTemplate('themes/index.php')->display(); }