printUriRewrited ($url); } else { $url_string .= self::printUri ($url, $encodage); } } else { $url_string .= $url; } return $url_string; } /** * Construit l'URI d'une URL sans url rewriting * @param l'url sous forme de tableau * @param $encodage pour indiquer comment encoder les & (& ou & pour html) * @return l'uri sous la forme ?key=value&key2=value2 */ private static function printUri ($url, $encodage) { $uri = ''; $separator = '/?'; if($encodage == 'html') { $and = '&'; } else { $and = '&'; } if (isset ($url['c']) && $url['c'] != Request::defaultControllerName ()) { $uri .= $separator . 'c=' . $url['c']; $separator = $and; } if (isset ($url['a']) && $url['a'] != Request::defaultActionName ()) { $uri .= $separator . 'a=' . $url['a']; $separator = $and; } if (isset ($url['params'])) { foreach ($url['params'] as $key => $param) { $uri .= $separator . $key . '=' . $param; $separator = $and; } } return $uri; } /** * Vérifie que les éléments du tableau représentant une url soit ok * @param l'url sous forme de tableau (sinon renverra directement $url) * @return l'url vérifié */ public static function checkUrl ($url) { $url_checked = $url; if (is_array ($url)) { if (!isset ($url['c'])) { $url_checked['c'] = Request::defaultControllerName (); } if (!isset ($url['a'])) { $url_checked['a'] = Request::defaultActionName (); } if (!isset ($url['params'])) { $url_checked['params'] = array (); } } return $url_checked; } } function _url ($controller, $action) { $nb_args = func_num_args (); if($nb_args < 2 || $nb_args % 2 != 0) { return false; } $args = func_get_args (); $params = array (); for($i = 2; $i < $nb_args; $i = $i + 2) { $params[$args[$i]] = $args[$i + 1]; } return Url::display (array ('c' => $controller, 'a' => $action, 'params' => $params)); }