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; }
public function clean() { $this->begin(''); $this->end(cacheobject::clean($msg), $msg); }
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); }