diff options
author | redmatrix <git@macgirvin.com> | 2016-08-21 17:38:36 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-08-21 17:38:36 -0700 |
commit | 7045b920efb6f5f9cd4a7eb2b7abaabe14b99634 (patch) | |
tree | 8a4d4089f0e860ab807419ec37c79bb0dc35fdba /include/channel.php | |
parent | 9a057623d6d83ce4b7f40b2479628fa14335c556 (diff) | |
download | volse-hubzilla-7045b920efb6f5f9cd4a7eb2b7abaabe14b99634.tar.gz volse-hubzilla-7045b920efb6f5f9cd4a7eb2b7abaabe14b99634.tar.bz2 volse-hubzilla-7045b920efb6f5f9cd4a7eb2b7abaabe14b99634.zip |
make zid() do the right things when confronted with url fragments
Diffstat (limited to 'include/channel.php')
-rw-r--r-- | include/channel.php | 10 |
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); |