]> dev.renevier.net Git - syp.git/blobdiff - inc/utils.php
rss feed
[syp.git] / inc / utils.php
index a0824c8dea4293d218717c16714a3dfecef26edf..04aeff9817cc424dc83b4060082e39bbfbbfc027 100644 (file)
@@ -4,6 +4,16 @@
 
 require_once ("inc/settings.php");
 
+function gethost() {
+    $host = $_SERVER ["HTTP_HOST"];
+    $colpos = strpos ($host, ':');
+    // some web clients add port informations in Host header
+    if ($colpos !== false) {
+        $host = substr ($host, 0, $colpos);
+    }
+    return $host;
+}
+
 function unquote($gpc_str) {
    if (!isset ($gpc_str)) {
        return $gpc_str;
@@ -15,13 +25,19 @@ function unquote($gpc_str) {
    }
 }
 
-function full_url_from_filename ($filename) {
+function full_url_from_imgpath ($filename) {
     if (defined ("IMGSDIRURL") && (strlen (IMGSDIRURL) != 0)) {
         return rtrim (IMGSDIRURL, '/') . "/" . rawurlencode ($filename);
     }
 
     $rel_path = UPLOADDIR . "/" . rawurlencode ($filename);
 
+    return full_url_from_path (UPLOADDIR . "/" . rawurlencode ($filename));
+}
+
+function full_url_from_path ($path) {
+    $rel_path = $path;
+
     while (substr($rel_path, 0, 2) == "./") { // strips ./
         $rel_path = substr ($rel_path, 2);
     }
@@ -44,7 +60,7 @@ function full_url_from_filename ($filename) {
         $path = "$script_dir/$rel_path";
     }
 
-    $host = $_SERVER ["HTTP_HOST"];
+    $host = gethost();
     $port = $_SERVER ["SERVER_PORT"];
     if ($_SERVER ["HTTPS"] == "on") {
         $proto = "https";
@@ -61,5 +77,4 @@ function full_url_from_filename ($filename) {
 
     return "$proto://$host$port$path";
 }
-
 ?>