X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=convpath%2Fconvpath.php;h=0aaeb5f92e7dddd92a8f32c6c0240e5ef6edd17f;hb=18784a484b04b5f74e6d4dca516b2dc20cffe953;hp=e5dc0b36705eb0eb42354c2c5cc460fe64464b4d;hpb=d35fc5c38cc867317a7dd40238111673e3a6cbbb;p=friendica-addons.git diff --git a/convpath/convpath.php b/convpath/convpath.php index e5dc0b36..0aaeb5f9 100644 --- a/convpath/convpath.php +++ b/convpath/convpath.php @@ -4,18 +4,28 @@ * Description: Converts all internal paths according to the current scheme (http or https) * Version: 1.0 * Author: Michael Vogel - * + * Status: Unsupported */ function convpath_install() { register_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end'); register_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header'); + register_hook('ping_xmlize', 'addon/convpath/convpath.php', 'convpath_ping_xmlize_hook'); + register_hook('prepare_body', 'addon/convpath/convpath.php', 'convpath_prepare_body_hook'); + register_hook('display_item', 'addon/convpath/convpath.php', 'convpath_display_item_hook'); } function convpath_uninstall() { unregister_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end'); unregister_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header'); + unregister_hook('ping_xmlize', 'addon/convpath/convpath.php', 'convpath_ping_xmlize_hook'); + unregister_hook('prepare_body', 'addon/convpath/convpath.php', 'convpath_prepare_body_hook'); + unregister_hook('display_item', 'addon/convpath/convpath.php', 'convpath_display_item_hook'); +} + +function convpath_ping_xmlize_hook(&$a, &$o) { + $o["photo"] = convpath_url($a, $o["photo"]); } function convpath_page_header(&$a, &$o){ @@ -24,7 +34,44 @@ function convpath_page_header(&$a, &$o){ function convpath_page_end(&$a, &$o){ $o = convpath_convert($o); - $a->page['aside'] = convpath_convert($a->page['aside']); + if (isset($a->page['aside'])) + $a->page['aside'] = convpath_convert($a->page['aside']); +} + +function convpath_prepare_body_hook(&$a, &$o) { + $o["html"] = convpath_convert($o["html"]); +} + +function convpath_display_item_hook(&$a, &$o) { + if (isset($o["output"])) { + if (isset($o["output"]["thumb"])) + $o["output"]["thumb"] = convpath_url($a, $o["output"]["thumb"]); + if (isset($o["output"]["author-avatar"])) + $o["output"]["author-avatar"] = convpath_url($a, $o["output"]["author-avatar"]); + if (isset($o["output"]["owner-avatar"])) + $o["output"]["owner-avatar"] = convpath_url($a, $o["output"]["owner-avatar"]); + if (isset($o["output"]["owner_photo"])) + $o["output"]["owner_photo"] = convpath_url($a, $o["output"]["owner_photo"]); + } +} + +function convpath_url($a, $path) { + if ($path == "") + return(""); + + $ssl = (substr($a->get_baseurl(), 0, 8) == "https://"); + + if ($ssl) { + $search = "http://".$a->get_hostname(); + $replace = "https://".$a->get_hostname(); + } else { + $search = "https://".$a->get_hostname(); + $replace = "http://".$a->get_hostname(); + } + + $path = str_replace($search, $replace, $path); + + return($path); } /*