make zid() do the right things when confronted with url fragments
This commit is contained in:
parent
9a057623d6
commit
7045b920ef
@ -1381,6 +1381,11 @@ function zid($s,$address = '') {
|
|||||||
if (! strlen($s) || strpos($s,'zid='))
|
if (! strlen($s) || strpos($s,'zid='))
|
||||||
return $s;
|
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);
|
$has_params = ((strpos($s,'?')) ? true : false);
|
||||||
$num_slashes = substr_count($s, '/');
|
$num_slashes = substr_count($s, '/');
|
||||||
if (! $has_params)
|
if (! $has_params)
|
||||||
@ -1401,6 +1406,11 @@ function zid($s,$address = '') {
|
|||||||
else
|
else
|
||||||
$zurl = $s;
|
$zurl = $s;
|
||||||
|
|
||||||
|
// put fragment at the end
|
||||||
|
|
||||||
|
if($fragment)
|
||||||
|
$zurl .= '#' . $fragment;
|
||||||
|
|
||||||
$arr = array('url' => $s, 'zid' => urlencode($myaddr), 'result' => $zurl);
|
$arr = array('url' => $s, 'zid' => urlencode($myaddr), 'result' => $zurl);
|
||||||
call_hooks('zid', $arr);
|
call_hooks('zid', $arr);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user