| 
<?
 
 function SmartyBridge_Cache_handler($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null, $exp_time=null){
 global $cache_obj;
 $CacheID = md5($tpl_file.$cache_id.$compile_id);
 
 
 $dsn = 'memcache://127.0.0.1:11211';
 
 //        $dsn = 'sqlite://sqlite.db';
 
 $cache_obj = isset($cache_obj) && is_object($cache_obj) ? $cache_obj : CacheMeLoader::Factory($dsn);
 //$cache_obj->lifetime = $smarty_obj->cache_lifetime;
 
 //die();
 switch ($action) {
 case 'read':
 $cache_content = $cache_obj->get($CacheID);
 return $cache_content;
 break;
 case 'write':
 
 return $cache_obj->set($CacheID, $cache_content);
 break;
 case 'clear':
 if(empty($cache_id) && empty($compile_id) && empty($tpl_file)) {
 return $cache_obj->clear();
 } else {
 return $cache_obj->clear($cache_id);
 }
 break;
 default:
 $smarty_obj->_trigger_error_msg("cache_handler: unknown action \"$action\"");
 break;
 }
 
 }
 
 include 'libs/Smarty/Smarty.class.php';
 include dirname(dirname(__FILE__)).'/Cacheme/Cacheme.php';
 $smarty = new Smarty;
 $smarty->cache_handler_func = 'SmartyBridge_Cache_handler';
 $smarty->template_dir = dirname(__FILE__).'/';
 $smarty->compile_dir  = dirname(__FILE__).'/';
 $smarty->cache_dir      = dirname(__FILE__).'/_tmp/_tmp_templates_cache';
 $smarty->force_compile = false;
 $smarty->caching = true;
 $smarty->cache_lifetime = 5;
 
 $var = 'me cached  ';
 if ($smarty->is_cached('test.tpl', $var)){
 $smarty->display('test.tpl', $var);
 die(' @cached');
 } else {
 $smarty->assign('var', $var);
 $smarty->display('test.tpl', $var);
 die(' @generated');
 }
 
 ?>
 |