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);
 }
Example #3
0
 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;
 }