aboutsummaryrefslogtreecommitdiff
path: root/h-source/Library/Url.php
diff options
context:
space:
mode:
Diffstat (limited to 'h-source/Library/Url.php')
-rwxr-xr-xh-source/Library/Url.php23
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,"&");
}
}