| 
<?php
 function smarty_block_cache($params, $content, &$smarty, &$repeat)
 {
 
 if($content===null)
 {
 if(!isset($smarty->cache)) trigger_error("smarty_block_cache error: \$smarty->cache object not set!", E_USER_ERROR);
 if(!isset($params['file'])) trigger_error("smarty_block_cache error: parameter 'file' not specified!", E_USER_ERROR);
 if(!isset($params['time'])) trigger_error("smarty_block_cache error: parameter 'time' not specified!", E_USER_ERROR);
 
 ob_start();
 $finish = !$smarty->cache->save($params['file'],$params['time']);
 $r = ob_get_contents();
 ob_end_clean();
 
 if($finish)
 {
 $repeat=false;
 echo($r);
 }
 
 }
 else
 {
 echo $content;
 $smarty->cache->save($params['file'],$params['time']);
 }
 
 return "";
 
 }
 
 ?>
 
 |