public function search($req, $res, $args) { if (!Input::query('keywords')) { return Router::redirect(Router::pathFor('plugins')); } // Get number of pages $nbPlugins = PluginModel::countGetSearch(Input::query('keywords')); $nbPages = ceil(($nbPlugins + 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, 'plugins/search?keywords=' . Input::query('keywords') . '/#'); $plugins = PluginModel::getSearch(Input::query('keywords')); return View::setPageInfo(['plugins' => $plugins, 'pagination' => $pagination, 'title' => 'Search', 'active_nav' => 'plugins', 'top_right_link' => ['url' => Router::pathFor('plugins.create'), 'text' => 'Add plugin']])->addBreadcrumb([Router::pathFor('plugins') => 'Plugins', 'Search results', '"' . Input::query('keywords') . '"'])->addTemplate('plugins/index.php')->display(); }
public function getIndex() { $routers = Router::paginate(10); return View::make('admin.routers.index')->with('routers', $routers); }
public function testPaginate() { $_SERVER['REQUEST_METHOD'] = 'GET'; $_SERVER['REQUEST_URI'] = '/products/software'; $p = 0; Router::paginate('/products/software', function ($page) use(&$p) { $p = $page; return false; })->process(); $this->assertEquals(1, $p); $_SERVER['REQUEST_URI'] = '/products/software/page/9'; $p = 0; Router::paginate('/products/software', function ($page) use(&$p) { $p = $page; return false; })->process(); $this->assertEquals(9, $p); $_SERVER['REQUEST_URI'] = '/products/software/page/3?search=disco&limit=10'; $_SERVER['QUERY_STRING'] = 'search=disco&limit=10'; //$_SERVER['REQUEST_URI'] = '/products/software/page/3'; $p = 0; $cat = ''; Router::paginate('/products/{category}', function ($category, $page) use(&$cat, &$p) { $cat = $category; $p = $page; return false; })->allowURLParameters(array('search', 'limit'))->where('category', 'alpha_nospace')->process(); $this->assertEquals('software', $cat); $this->assertEquals(3, $p); \Disco\classes\Router::$paginateCurrentPage = 1; }