aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-08-21 17:38:36 -0700
committerredmatrix <git@macgirvin.com>2016-08-21 17:38:36 -0700
commit7045b920efb6f5f9cd4a7eb2b7abaabe14b99634 (patch)
tree8a4d4089f0e860ab807419ec37c79bb0dc35fdba
parent9a057623d6d83ce4b7f40b2479628fa14335c556 (diff)
downloadvolse-hubzilla-7045b920efb6f5f9cd4a7eb2b7abaabe14b99634.tar.gz
volse-hubzilla-7045b920efb6f5f9cd4a7eb2b7abaabe14b99634.tar.bz2
volse-hubzilla-7045b920efb6f5f9cd4a7eb2b7abaabe14b99634.zip
make zid() do the right things when confronted with url fragments
-rw-r--r--include/channel.php10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/channel.php b/include/channel.php
index 1179697a4..47db7e806 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -1381,6 +1381,11 @@ function zid($s,$address = '') {
if (! strlen($s) || strpos($s,'zid='))
return $s;
+ $m = parse_url($s);
+ $fragment = ((array_key_exists('fragment',$m) && $m['fragment']) ? $m['fragment'] : false);
+ if($fragment !== false)
+ $s = str_replace('#' . $fragment,'',$s);
+
$has_params = ((strpos($s,'?')) ? true : false);
$num_slashes = substr_count($s, '/');
if (! $has_params)
@@ -1401,6 +1406,11 @@ function zid($s,$address = '') {
else
$zurl = $s;
+ // put fragment at the end
+
+ if($fragment)
+ $zurl .= '#' . $fragment;
+
$arr = array('url' => $s, 'zid' => urlencode($myaddr), 'result' => $zurl);
call_hooks('zid', $arr);