Exemple #1
0
 /**
  * Router podla dopytovanej URI zisti, ktory controller treba na obsluzenie - vrati jeho meno
  *
  * @return string
  */
 public static function getControllerName()
 {
     // vytiahneme z URL parameter 'uri', kde su ulozene vsetky slug parametre requestu
     $uri = strtolower(Request::getParamByName('uri', REQUEST_PARAM_STRING));
     $routes = unserialize(ROUTES);
     foreach ($routes as $ctrlName => $ctrlRoutes) {
         foreach ($ctrlRoutes as $route) {
             // vyescapujeme lomitka
             $pattern = "/^" . str_replace('/', '\\/', $route) . "\$/";
             // nahradime * za regex analogiu
             $pattern = str_replace('*', '[a-z0-9]+', $pattern);
             if (preg_match($pattern, $uri) === 1) {
                 // URI sedi na tuto routu !
                 Logger::debug("Najdena routa pre URI '{$uri}' --> CONTROLLER {$ctrlName}");
                 $controllerName = $ctrlName;
                 break 2;
             }
         }
     }
     // default controller
     if (!isset($controllerName)) {
         $controllerName = 'Home';
     }
     return $controllerName;
 }
Exemple #2
0
 public function run()
 {
     switch (Request::getParamByName('uri', REQUEST_PARAM_STRING)) {
         case 'orders/active':
             // vyberieme vsetky objednavky na ktorych treba robit
             $this->_View->title = 'Aktívne objednávky';
             $this->_View->title2 = 'otvorené objednávky, na ktorých sa práve pracuje';
             $orders = Admin_ModelOrder::getActiveOrders();
             break;
         case 'orders/open':
             // vyberieme vsetky otvorene objednavky
             $this->_View->title = 'Otvorené objednávky';
             $this->_View->title2 = 'rozpracované';
             $orders = Admin_ModelOrder::getOpenOrders();
             break;
         case 'orders/closed':
             // vyberieme vsetky uzatvorene objednavky
             $this->_View->title = 'Uzatvorené objednávky';
             $this->_View->title2 = 'uzatvorené/odoslané objednávky';
             $orders = Admin_ModelOrder::getClosedOrders();
             break;
         default:
             $this->_View->title = 'Všetky objednávky';
             $this->_View->title2 = 'celá história';
             $orders = Admin_ModelOrder::getOrders();
     }
     // preprocessing dat
     $neparny = true;
     foreach ($orders as $key => $order) {
         $order['row_class'] = $neparny ? 'odd' : 'even';
         $neparny = !$neparny;
         $order['status_class'] = Admin_ModelOrder::statusToClass($order['status']);
         $orders[$key] = $order;
     }
     $this->_View->records = $orders;
     $this->_View->records_num = count($orders);
     $this->_View->urlLogout = Request::makeUriRelative('logout');
 }