Fixed URL::absoluteUrl when an URL contains a target and parameters is not empty
This commit is contained in:
committed by
Julien Chanseaume
parent
e9bfe42070
commit
a1c1f1fb0e
@@ -154,6 +154,7 @@ class URL
|
||||
$base = $path;
|
||||
|
||||
$queryString = '';
|
||||
$anchor = '';
|
||||
|
||||
if (! is_null($parameters)) {
|
||||
foreach ($parameters as $name => $value) {
|
||||
@@ -167,6 +168,14 @@ class URL
|
||||
|
||||
if ('' !== $queryString = rtrim($queryString, "&")) {
|
||||
|
||||
// url could contain anchor
|
||||
$pos = strrpos($base, '#');
|
||||
if($pos !== false) {
|
||||
$anchor = substr($base, $pos);
|
||||
$base = substr($base, 0, $pos);
|
||||
}
|
||||
|
||||
|
||||
$base = rtrim($base, "?&");
|
||||
|
||||
$sepChar = strstr($base, '?') === false ? '?' : '&';
|
||||
@@ -174,7 +183,7 @@ class URL
|
||||
$queryString = $sepChar . $queryString;
|
||||
}
|
||||
|
||||
return $base . $queryString;
|
||||
return $base . $queryString . $anchor;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user