diff options
Diffstat (limited to 'h-source/Library/Url.php')
-rwxr-xr-x | h-source/Library/Url.php | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/h-source/Library/Url.php b/h-source/Library/Url.php index da312b1..26ff3df 100755 --- a/h-source/Library/Url.php +++ b/h-source/Library/Url.php @@ -2,7 +2,7 @@ // EasyGiant is a PHP framework for creating and managing dynamic content // -// Copyright (C) 2009 - 2011 Antonio Gallo +// Copyright (C) 2009 - 2014 Antonio Gallo (info@laboratoriolibero.com) // See COPYRIGHT.txt and LICENSE.txt. // // This file is part of EasyGiant @@ -26,28 +26,35 @@ class Url { //get the url starting from the root folder public static function getRoot($pathFromRootFolder = null) { - $url = MOD_REWRITE_MODULE === true ? 'http://' . DOMAIN_NAME . '/' . $pathFromRootFolder : 'http://' . DOMAIN_NAME . '/index.php/' . $pathFromRootFolder; + + $langUrl = isset(Params::$lang) ? "/".Params::$lang : null; + + $protocol = Params::$useHttps ? "https" : "http"; + + $url = MOD_REWRITE_MODULE === true ? "$protocol://" . DOMAIN_NAME . $langUrl . '/' . $pathFromRootFolder : "$protocol://" . DOMAIN_NAME . '/index.php/' . $langUrl . $pathFromRootFolder; return $url; } - //create an url string (element1/element2/element4) from the values of the array $valuesArray considering only the elements indicated in the numeric string $numericString (in this case '1,2,4') - public static function createUrl($valuesArray,$numericString = null) { + //create an url string (element1/element2/element4) from the values of the array $valuesArray considering only the elements indicated in the numeric string $numericString + //$forceRewrite: if true it always rewrite the status variables + public static function createUrl($variablesArray, $numericString = null, $forceRewrite = false) { $elementsArray = explode(',',$numericString); - $valuesArray = array_values($valuesArray); + $valuesArray = array_values($variablesArray); + $keysArray = array_keys($variablesArray); $urlString = null; for ($i = 0; $i < count($valuesArray); $i++) { if (isset($numericString)) { if (isset($valuesArray[$i]) and in_array($i,$elementsArray)) { - $urlString .= "/".$valuesArray[$i]; + $urlString .= (Params::$rewriteStatusVariables or $forceRewrite) ? "/".$valuesArray[$i] : "&".$keysArray[$i]."=".$valuesArray[$i]; } } else { if (isset($valuesArray[$i])) { - $urlString .= "/".$valuesArray[$i]; + $urlString .= (Params::$rewriteStatusVariables or $forceRewrite) ? "/".$valuesArray[$i] : "&".$keysArray[$i]."=".$valuesArray[$i]; } } } - return $urlString; + return (Params::$rewriteStatusVariables or $forceRewrite) ? $urlString : "?".ltrim($urlString,"&"); } } |