diff options
author | Arthur <arthur@hoa.ro> | 2015-11-07 16:51:50 +0100 |
---|---|---|
committer | Arthur <arthur@hoa.ro> | 2015-11-07 16:51:50 +0100 |
commit | 70df947af60afb05529024bb2d3825eaf6cc7950 (patch) | |
tree | 0cade3729406e61435e63b7b27e4957f8a2abd47 /application | |
parent | 38bedfbbcdd2a40e9f04f5753e0fd6f4fd513c21 (diff) | |
parent | d01c234235411bafb97661d335fcb6ea1e67ffbc (diff) | |
download | Shaarli-70df947af60afb05529024bb2d3825eaf6cc7950.tar.gz Shaarli-70df947af60afb05529024bb2d3825eaf6cc7950.tar.zst Shaarli-70df947af60afb05529024bb2d3825eaf6cc7950.zip |
Merge pull request #368 from ArthurHoaro/returnurl-again
Fixes #356 - adding a link should return added link's hash
Diffstat (limited to 'application')
-rwxr-xr-x | application/Utils.php | 11 |
1 files changed, 6 insertions, 5 deletions
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) | |||
97 | */ | 97 | */ |
98 | function generateLocation($referer, $host, $loopTerms = array()) | 98 | function generateLocation($referer, $host, $loopTerms = array()) |
99 | { | 99 | { |
100 | $final_referer = '?'; | 100 | $finalReferer = '?'; |
101 | 101 | ||
102 | // No referer if it contains any value in $loopCriteria. | 102 | // No referer if it contains any value in $loopCriteria. |
103 | foreach ($loopTerms as $value) { | 103 | foreach ($loopTerms as $value) { |
104 | if (strpos($referer, $value) !== false) { | 104 | if (strpos($referer, $value) !== false) { |
105 | return $final_referer; | 105 | return $finalReferer; |
106 | } | 106 | } |
107 | } | 107 | } |
108 | 108 | ||
@@ -111,11 +111,12 @@ function generateLocation($referer, $host, $loopTerms = array()) | |||
111 | $host = substr($host, 0, $pos); | 111 | $host = substr($host, 0, $pos); |
112 | } | 112 | } |
113 | 113 | ||
114 | if (!empty($referer) && strpos(parse_url($referer, PHP_URL_HOST), $host) !== false) { | 114 | $refererHost = parse_url($referer, PHP_URL_HOST); |
115 | $final_referer = $referer; | 115 | if (!empty($referer) && (strpos($refererHost, $host) !== false || startsWith('?', $refererHost))) { |
116 | $finalReferer = $referer; | ||
116 | } | 117 | } |
117 | 118 | ||
118 | return $final_referer; | 119 | return $finalReferer; |
119 | } | 120 | } |
120 | 121 | ||
121 | /** | 122 | /** |