From 728d642563be526d84921c73825f4087dcb1b044 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Fri, 20 Jan 2012 14:52:36 +0100 Subject: Part of bug #3463481: Add HTTP protocol to self URL in feed --- src/SemanticScuttle/functions.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src') diff --git a/src/SemanticScuttle/functions.php b/src/SemanticScuttle/functions.php index 84e9c5f..09f7cf3 100644 --- a/src/SemanticScuttle/functions.php +++ b/src/SemanticScuttle/functions.php @@ -118,6 +118,31 @@ function createURL($page = '', $ending = '') { return ROOT . $page; } } + +/** + * Adds the protocol to the URL if it's missing. + * If the current URL is served via HTTPS, https will be used as protocol. + * + * Useful to fix ROOT urls of SemanticScuttle when it's needed, e.g. + * in the bookmarklet or the feed. + * + * @param string $url Url with or without the protocol ("//example.org/foo") + * + * @return string URL with a HTTP protocol + */ +function addProtocolToUrl($url) +{ + if (substr($url, 0, 2) != '//') { + return $url; + } + + if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']) { + $protocol = 'https:'; + } else { + $protocol = 'http:'; + } + return $protocol . $url; +} /** * Creates a "vote for/against this bookmark" URL. * Also runs htmlspecialchars() on them to prevent XSS. -- cgit v1.2.3