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."); } } }
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)); }