]> git.mxchange.org Git - friendica-addons.git/commitdiff
privacy_image_cache: If the cached file would be too long then don't cache it.
authorMichael Vogel <icarus@dabo.de>
Fri, 21 Dec 2012 13:57:45 +0000 (14:57 +0100)
committerMichael Vogel <icarus@dabo.de>
Fri, 21 Dec 2012 13:57:45 +0000 (14:57 +0100)
privacy_image_cache/privacy_image_cache.php

index a47f0e1ac5294b7aa0cf405ed619afa4655f79f9..3be4262088310dbf8751c9ff791d071b115deefa 100644 (file)
@@ -226,13 +226,21 @@ function privacy_image_cache_cachename($url, $writemode = false) {
  * @return boolean
  */
 function privacy_image_cache_is_local_image($url) {
-    if ($url[0] == '/') return true;
+       if ($url[0] == '/') return true;
+
        if (strtolower(substr($url, 0, 5)) == "data:") return true;
 
+       // Check if the cached path would be longer than 255 characters - apache doesn't like it
+       if (is_dir($_SERVER["DOCUMENT_ROOT"]."/privacy_image_cache")) {
+               $cachedurl = get_app()->get_baseurl()."/privacy_image_cache/". privacy_image_cache_cachename($url);
+               if (strlen($url) > 255)
+                       return true;
+       }
+
        // links normalised - bug #431
-    $baseurl = normalise_link(get_app()->get_baseurl());
+       $baseurl = normalise_link(get_app()->get_baseurl());
        $url = normalise_link($url);
-    return (substr($url, 0, strlen($baseurl)) == $baseurl);
+       return (substr($url, 0, strlen($baseurl)) == $baseurl);
 }
 
 /**