]> git.mxchange.org Git - friendica.git/commitdiff
Caching improved.
authorMichael Vogel <icarus@dabo.de>
Sat, 10 Mar 2012 17:19:00 +0000 (18:19 +0100)
committerMichael Vogel <icarus@dabo.de>
Sat, 10 Mar 2012 17:19:00 +0000 (18:19 +0100)
include/text.php

index 38736d8364cd2ae8346bbb1b017da749d87d9327..5bf815105b71eafecfd4331cde2e5049c9b96138 100644 (file)
@@ -874,25 +874,27 @@ function link_compare($a,$b) {
 if(! function_exists('prepare_body')) {
 function prepare_body($item,$attach = false) {
 
+       call_hooks('prepare_body_init', $item); 
+
        $cache = get_config('system','itemcache');
 
        if (($cache != '')) {
-               $cachefile = $cache."/".$item["guid"]."-".strtotime($item["edited"])."-".$attach;
-               if (file_exists($cachefile))
-                       return(file_get_contents($cachefile));
-       }
-
-       call_hooks('prepare_body_init', $item); 
+               $cachefile = $cache."/".$item["guid"]."-".strtotime($item["edited"])."-".$attach."-".hash("crc32", $item['body']);
 
-       $s = prepare_text($item['body']);
+               if (file_exists($cachefile))
+                       $s = file_get_contents($cachefile);
+               else {
+                       $s = prepare_text($item['body']);
+                       file_put_contents($cachefile, $s);
+               }
+       } else
+               $s = prepare_text($item['body']);
 
        $prep_arr = array('item' => $item, 'html' => $s);
        call_hooks('prepare_body', $prep_arr);
        $s = $prep_arr['html'];
 
        if(! $attach) {
-               if ($cache != '')
-                       file_put_contents($cachefile, $s);
                return $s;
        }
 
@@ -925,13 +927,9 @@ function prepare_body($item,$attach = false) {
                $s .= '<div class="clear"></div></div>';
        }
 
-
        $prep_arr = array('item' => $item, 'html' => $s);
        call_hooks('prepare_body_final', $prep_arr);
 
-       if ($cache != '')
-               file_put_contents($cachefile, $prep_arr['html']);
-
        return $prep_arr['html'];
 }}