public function SetDefaultCascade($strParam)
 {
     if (!empty($strParam)) {
         if ($strParam === self::MODULE_LC) {
             $this->_module->Set(\RouterSettings::GetDefaultModuleName());
             $this->_controller->Set(self::KEY_DEFAULT);
             $this->_action->Set(self::KEY_DEFAULT);
         } else {
             if ($strParam === self::CONTROLLER_LC) {
                 $this->_controller->Set(self::KEY_DEFAULT);
                 $this->_action->Set(self::KEY_DEFAULT);
             } else {
                 if ($strParam === self::ACTION_LC) {
                     $this->_action->Set(self::KEY_DEFAULT);
                 }
             }
         }
     }
 }
 protected function checkModule(RouterControllerHelper $oRouter)
 {
     /**
      * Module search key is  phisical dir name ( also namespace name)
      */
     $MODULE_SEARCH_KEY = $oRouter->_module->GetSearchKey();
     $arrModules = $this->getModules();
     if (!isset($arrModules[$MODULE_SEARCH_KEY])) {
         $DEFAULT_MODULE = \RouterSettings::GetDefaultModuleName();
         if ($MODULE_SEARCH_KEY !== $DEFAULT_MODULE) {
             /**
              * try to reroute to default module
              */
             $oRouter->SetDefaultCascade(self::MODULE_LC);
             $this->checkModule($oRouter);
         } else {
             /**
              * bad. Default module does not exist
              */
             throw new \Exception("Module {$MODULE_SEARCH_KEY} does not exist or not registered.");
         }
     }
 }
Example #3
0
 public static function BuildUrl($params)
 {
     //        self::AddDebugStatic("IN params are:" . print_r($params,true),__CLASS__);
     $URL = isset($params[self::URL]) ? $params[self::URL] : null;
     if (!isset($URL)) {
         $URL = (isset($params[self::COUNTRY_ID]) && isset($params[self::LANGUAGE_ID]) ? DIRECTORY_SEPARATOR . $params[self::COUNTRY_ID] . DIRECTORY_SEPARATOR . $params[self::LANGUAGE_ID] : "") . DIRECTORY_SEPARATOR . (isset($params[self::MODULE_LC]) ? $params[self::MODULE_LC] : \RouterSettings::GetDefaultModuleName()) . DIRECTORY_SEPARATOR . (isset($params[self::CONTROLLER_LC]) ? RouterControllerHelper::normalizeKey($params[self::CONTROLLER_LC]) : "") . DIRECTORY_SEPARATOR . (isset($params[self::ACTION_LC]) ? RouterControllerHelper::normalizeKey($params[self::ACTION_LC]) : "");
     }
     return UrlControllerHelper::addParams(array(UrlControllerHelper::URL => $URL, UrlControllerHelper::PARAMS => isset($params[self::PARAMS]) ? $params[self::PARAMS] : null));
 }