From fb57be5a5af3a2fb46b2dbf2b503ffe78eb5cf49 Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Sun, 21 Oct 2012 18:47:57 +0200 Subject: First commit --- lib/Url.php | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100755 lib/Url.php (limited to 'lib/Url.php') diff --git a/lib/Url.php b/lib/Url.php new file mode 100755 index 000000000..1519c8e95 --- /dev/null +++ b/lib/Url.php @@ -0,0 +1,102 @@ +printUriRewrited ($url); + } else { + $url_string .= self::printUri ($url); + } + } else { + $url_string .= $url; + } + + return $url_string; + } + + /** + * Construit l'URI d'une URL sans url rewriting + * @param l'url sous forme de tableau + * @return l'uri sous la forme ?key=value&key2=value2 + */ + private static function printUri ($url) { + $uri = ''; + $separator = '/?'; + + if (isset ($url['c']) + && $url['c'] != Request::defaultControllerName ()) { + $uri .= $separator . 'c=' . $url['c']; + $separator = '&'; + } + + if (isset ($url['a']) + && $url['a'] != Request::defaultActionName ()) { + $uri .= $separator . 'a=' . $url['a']; + $separator = '&'; + } + + if (isset ($url['params'])) { + foreach ($url['params'] as $key => $param) { + $uri .= $separator . $key . '=' . $param; + $separator = '&'; + } + } + + 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; + } +} -- cgit v1.2.3