]> git.mxchange.org Git - friendica.git/blobdiff - include/network.php
Merge https://github.com/friendica/friendica into pull
[friendica.git] / include / network.php
index a95dde535c9fa967156b28806f9c508b9ed1b064..0e1a63792f5a04676cf3f23b00123c5cd7aad12b 100644 (file)
@@ -802,7 +802,7 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
        $s = htmlspecialchars_decode($s);
 
        $matches = null;
-       $c = preg_match_all('/\[img\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
+       $c = preg_match_all('/\[img.*?\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
        if($c) {
                require_once('include/Photo.php');
                foreach($matches as $mtch) {
@@ -823,6 +823,12 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
                                $scaled = $mtch[1];
                        $i = fetch_url($scaled);
 
+                       $cache = get_config('system','itemcache');
+                       if (($cache != '') and is_dir($cache)) {
+                               $cachefile = $cache."/".hash("md5", $scaled);
+                               file_put_contents($cachefile, $i);
+                       }
+
                        // guess mimetype from headers or filename
                        $type = guess_image_type($mtch[1],true);
                        
@@ -848,6 +854,10 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
                        }
                }
        }
+
+       // replace the special char encoding
+
+       $s = htmlspecialchars($s,ENT_QUOTES,'UTF-8');
        return $s;
 }