From d01c234235411bafb97661d335fcb6ea1e67ffbc Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Wed, 4 Nov 2015 19:53:59 +0100 Subject: Fixes #356 * adding a link should return added link's hash * allow redirection relative urls in generateLocation --- application/Utils.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'application') diff --git a/application/Utils.php b/application/Utils.php index 1422961d..120333c5 100755 --- a/application/Utils.php +++ b/application/Utils.php @@ -97,12 +97,12 @@ function checkDateFormat($format, $string) */ function generateLocation($referer, $host, $loopTerms = array()) { - $final_referer = '?'; + $finalReferer = '?'; // No referer if it contains any value in $loopCriteria. foreach ($loopTerms as $value) { if (strpos($referer, $value) !== false) { - return $final_referer; + return $finalReferer; } } @@ -111,11 +111,12 @@ function generateLocation($referer, $host, $loopTerms = array()) $host = substr($host, 0, $pos); } - if (!empty($referer) && strpos(parse_url($referer, PHP_URL_HOST), $host) !== false) { - $final_referer = $referer; + $refererHost = parse_url($referer, PHP_URL_HOST); + if (!empty($referer) && (strpos($refererHost, $host) !== false || startsWith('?', $refererHost))) { + $finalReferer = $referer; } - return $final_referer; + return $finalReferer; } /** -- cgit v1.2.3