Пример #1
0
 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;
 }
Пример #2
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));
 }