Advertisement
Guest User

Untitled

a guest
Aug 14th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.77 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App;
  4.  
  5. use Nette;
  6. use Nette\Application\Routers\Route;
  7. use Nette\Application\Routers\RouteList;
  8. use Nette\Database\Context;
  9.  
  10. use App\Model\DodavateleManager;
  11.  
  12. class RouterFactory
  13. {
  14.     use Nette\StaticClass;
  15.  
  16.     /**
  17.      * @return Nette\Application\IRouter
  18.      */
  19.     public static function createRouter(Context $database, DodavateleManager $dodavateleManager)
  20.     {      
  21.         $router = new RouteList;
  22.        
  23.     $router[] = new Route('clanky/<id>/', array(
  24.         'presenter' => 'Clanky',
  25.         'action' => 'kategorie',
  26.         'id'  =>  array(            
  27.             Route::FILTER_IN => function ($id) use ($database) {                
  28.                 $fetch = $database->table('url_names')->where('object_name', 'article_category')->where('url_name', $id)->fetch();
  29.                
  30.                 return (!empty($fetch->object_id)) ? $fetch->object_id : false;
  31.             },
  32.             Route::FILTER_OUT => function ($id) use ($database) {  
  33.                 $fetch = $database->table('url_names')->where('object_name', 'article_category')->where('object_id', $id)->fetch();
  34.                
  35.                 return (!empty($fetch->url_name)) ? $fetch->url_name : false;
  36.             }
  37.         )
  38.     ));
  39.    
  40.     $router[] = new Route('clanek/<id>.html', array(
  41.         'presenter' => 'Clanky',
  42.         'action' => 'detail',
  43.         'id'  =>  array(            
  44.             Route::FILTER_IN => function ($id) use ($database) {                
  45.                 $fetch = $database->table('url_names')->where('object_name', 'article')->where('url_name', $id)->fetch();
  46.                
  47.                 return (!empty($fetch->object_id)) ? $fetch->object_id : false;
  48.             },
  49.             Route::FILTER_OUT => function ($id) use ($database) {  
  50.                 $fetch = $database->table('url_names')->where('object_name', 'article')->where('object_id', $id)->fetch();
  51.                
  52.                 return (!empty($fetch->url_name)) ? $fetch->url_name : false;
  53.             }
  54.         )
  55.     ));
  56.    
  57.     $router[] = new Route('dodavatele/<id>/', array(
  58.         'presenter' => 'Dodavatele',
  59.         'action' => 'kategorie',
  60.         'id'  =>  array(            
  61.             Route::FILTER_IN => function ($id) use ($database) {                
  62.                 $fetch = $database->table('url_names')->select('object_id')->where('object_name', 'company_category')->where('url_name', $id)->fetch();
  63.                
  64.                 return (!empty($fetch->object_id)) ? $fetch->object_id : false;
  65.             },
  66.             Route::FILTER_OUT => function ($id) use ($database) {  
  67.                 $fetch = $database->table('url_names')->select('url_name')->where('object_name', 'company_category')->where('object_id', $id)->fetch();
  68.                
  69.                 return (!empty($fetch->url_name)) ? $fetch->url_name : false;
  70.             }    
  71.         )
  72.     ));
  73.    
  74.     $router[] = new Route('dodavatel/<id>.html', array(
  75.         'presenter' => 'Dodavatele',
  76.         'action' => 'detail',
  77.         'id'  =>  array(
  78.             Route::FILTER_IN => function ($id) use ($database) {                
  79.                 $fetch = $database->table('url_names')->where('object_name', 'company')->where('url_name', $id)->fetch();
  80.                
  81.                 return (!empty($fetch->object_id)) ? $fetch->object_id : false;
  82.             },
  83.             Route::FILTER_OUT => function ($id) use ($database) {  
  84.                 $fetch = $database->table('url_names')->where('object_name', 'company')->where('object_id', $id)->fetch();
  85.                
  86.                 return (!empty($fetch->url_name)) ? $fetch->url_name : false;
  87.             }
  88.         )
  89.     ));
  90.        
  91.         $router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
  92.    
  93.         return $router;
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement