/**
* @brief Removes the baseurl from an url. This avoids some mixed content problems.
*
- * @param string $url
+ * @param string $orig_url
*
* @return string The cleaned url
*/
- function remove_baseurl($url){
+ function remove_baseurl($orig_url){
// Is the function called statically?
- if (!is_object($this))
- return(self::$a->remove_baseurl($url));
+ if (!is_object($this)) {
+ return(self::$a->remove_baseurl($orig_url));
+ }
- $url = normalise_link($url);
+ // Remove the hostname from the url if it is an internal link
+ $nurl = normalise_link($orig_url);
$base = normalise_link($this->get_baseurl());
- $url = str_replace($base."/", "", $url);
- return $url;
+ $url = str_replace($base."/", "", $nurl);
+
+ // if it is an external link return the orignal value
+ if ($url == normalise_link($orig_url)) {
+ return $orig_url;
+ } else {
+ return $url;
+ }
}
/**