From 3c302bae5ac71c1853d33117f9bbcfc0e5d81651 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Sun, 13 Nov 2016 20:22:01 -0800 Subject: move all the zid related stuff to one file --- include/zid.php | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 include/zid.php (limited to 'include/zid.php') diff --git a/include/zid.php b/include/zid.php new file mode 100644 index 000000000..ac6433e4c --- /dev/null +++ b/include/zid.php @@ -0,0 +1,232 @@ += 3) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr); + 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); + + return $arr['result']; +} + + +function strip_zids($s) { + return preg_replace('/[\?&]zid=(.*?)(&|$)/ism','$2',$s); +} + +function strip_zats($s) { + return preg_replace('/[\?&]zat=(.*?)(&|$)/ism','$2',$s); +} + + +/** + * zidify_callback() and zidify_links() work together to turn any HTML a tags with class="zrl" into zid links + * These will typically be generated by a bbcode '[zrl]' tag. This is done inside prepare_text() rather than bbcode() + * because the latter is used for general purpose conversions and the former is used only when preparing text for + * immediate display. + * + * Issues: Currently the order of HTML parameters in the text is somewhat rigid and inflexible. + * We assume it looks like \ and will not work if zrl and href appear in a different order. + * + * @param array $match + * @return string + */ +function zidify_callback($match) { + $is_zid = ((feature_enabled(local_channel(),'sendzid')) || (strpos($match[1],'zrl')) ? true : false); + $replace = '