public function GetAllArgumentsFromUri() { $request = $this->GetServerRequest(); if ($request !== false) { $arrUri = explode(self::PARAM_SEPARATOR, str_replace(dirname($request['SCRIPT_NAME']), '', $request['REQUEST_URI'])); // DIRTY OUTPUT- Array // ( // [0] => Array // ( // [module] => kukmumu // ) // // [1] => Array // ( // [controller] => hru // ) // // [2] => Array // ( // [action] => hru // ) // // ) $arrDirtyMvc = array_map(function ($key, $dir) { return array($key => $dir); }, array(self::MODULE_LC, self::CONTROLLER_LC, self::ACTION_LC), UrlControllerHelper::splitPath(array_shift($arrUri))); // REDUCE "DIRTY OUTPUT" to: Array // ( // [module] => kukmumu // [controller] => hru // [action] => hru // ) $arrReducedMvc = array(); array_walk($arrDirtyMvc, function ($item, $key) use(&$arrReducedMvc) { $key = key($item); $arrReducedMvc[key($item)] = $item[$key]; }); return array_merge($arrReducedMvc, array(self::PARAMS => UrlControllerHelper::splitParams($request['QUERY_STRING']))); } return false; }
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)); }