Пример #1
0
 public function touch_theme_tmpl($theme)
 {
     $db = app::get('site')->database();
     $qb = $db->createQueryBuilder();
     $rows = $qb->select('*')->from('site_themes_tmpl')->where('theme=' . $qb->createPositionalParameter($theme))->execute()->fetchAll();
     if ($rows) {
         array_push($rows, array('tmpl_path' => 'block/header.html'), array('tmpl_path' => 'block/footer.html'));
         foreach ($rows as $row) {
             $this->touch_tmpl_file($theme . '/' . $row['tmpl_path']);
         }
         kernel::single('site_theme_base')->set_theme_cache_version($theme);
     }
     $cache_keys = $db->executeQuery('SELECT `prefix`, `key` FROM base_kvstore WHERE `prefix` IN ("cache/template", "cache/theme")')->fetchAll();
     foreach ($cache_keys as $value) {
         base_kvstore::instance($value['prefix'])->get_controller()->delete($value['key']);
     }
     app::get('base')->database()->executeUpdate('DELETE FROM base_kvstore WHERE `prefix` IN ("cache/template", "cache/theme")');
     //todo cacheobject touch tmpl时清缓存
     cacheobject::init(true);
     cacheobject::clean($msg);
     cacheobject::init(false);
     return true;
 }
Пример #2
0
 public function clean()
 {
     $this->begin('');
     $this->end(cacheobject::clean($msg), $msg);
 }
Пример #3
0
 function command_cacheclean()
 {
     logger::info('Cache Clear...');
     if (cacheobject::clean($msg)) {
         logger::info($msg ? $msg : '...Clear Success');
     } else {
         logger::info($msg ? $msg : '...Clear Failure');
     }
     cacheobject::init(false);
 }