summaryrefslogtreecommitdiff
path: root/include/functions2.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/functions2.php')
-rw-r--r--include/functions2.php9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/functions2.php b/include/functions2.php
index c779d0a8c..f3570e56b 100644
--- a/include/functions2.php
+++ b/include/functions2.php
@@ -2074,6 +2074,13 @@
return $parts['scheme'] . "://" . $parts['host'] . $parts['path'];
}
+ function cleanup_url_path($path) {
+ $path = str_replace("/./", "/", $path);
+ $path = str_replace("//", "/", $path);
+
+ return $path;
+ }
+
/**
* Converts a (possibly) relative URL to a absolute one.
*
@@ -2094,6 +2101,7 @@
} else if (strpos($rel_url, "/") === 0) {
$parts = parse_url($url);
$parts['path'] = $rel_url;
+ $parts['path'] = cleanup_url_path($parts['path']);
return build_url($parts);
@@ -2108,6 +2116,7 @@
$dir !== '/' && $dir .= '/';
}
$parts['path'] = $dir . $rel_url;
+ $parts['path'] = cleanup_url_path($parts['path']);
return build_url($parts);
}