diff options
author | Tristan Darricau <github@nicofuma.fr> | 2014-05-06 16:50:18 +0200 |
---|---|---|
committer | Tristan Darricau <github@nicofuma.fr> | 2014-05-06 16:50:18 +0200 |
commit | 06ecb62abd5b1bee7ec25094e56968e28d2a29bf (patch) | |
tree | e22eaf383725e24b45b5be9c12d7e67459e1a0b6 /phpBB/phpbb | |
parent | 571d6ae852fd6bc6d3ce57b00cb1faed84f45434 (diff) | |
download | forums-06ecb62abd5b1bee7ec25094e56968e28d2a29bf.tar forums-06ecb62abd5b1bee7ec25094e56968e28d2a29bf.tar.gz forums-06ecb62abd5b1bee7ec25094e56968e28d2a29bf.tar.bz2 forums-06ecb62abd5b1bee7ec25094e56968e28d2a29bf.tar.xz forums-06ecb62abd5b1bee7ec25094e56968e28d2a29bf.zip |
[ticket/12507] Add console command to purge the cache
PHPBB3-12507
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r-- | phpBB/phpbb/console/command/cache/purge.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/phpBB/phpbb/console/command/cache/purge.php b/phpBB/phpbb/console/command/cache/purge.php new file mode 100644 index 0000000000..017bdc5144 --- /dev/null +++ b/phpBB/phpbb/console/command/cache/purge.php @@ -0,0 +1,62 @@ +<?php +/** +* +* @package phpBB3 +* @copyright (c) 2014 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ +namespace phpbb\console\command\cache; + +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class purge extends \phpbb\console\command\command +{ + /** @var \phpbb\cache\driver\driver_interface */ + protected $cache; + + /** @var \phpbb\db\driver\driver_interface */ + protected $db; + + /** @var \phpbb\auth\auth */ + protected $auth; + + /** @var \phpbb\log\log */ + protected $log; + + /** @var \phpbb\user */ + protected $user; + + function __construct(\phpbb\cache\driver\driver_interface $cache, \phpbb\db\driver\driver_interface $db, \phpbb\auth\auth $auth, \phpbb\log\log $log, \phpbb\user $user) + { + $this->cache = $cache; + $this->db = $db; + $this->auth = $auth; + $this->log = $log; + $this->user = $user; + $this->user->add_lang(array('acp/common')); + parent::__construct(); + } + + protected function configure() + { + $this + ->setName('cache:purge') + ->setDescription('Purge the cache.') + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $this->cache->purge(); + + // Clear permissions + $this->auth->acl_clear_prefetch(); + phpbb_cache_moderators($this->db, $this->cache, $this->auth); + + $this->log->add('admin', ANONYMOUS, '', 'LOG_PURGE_CACHE', time(), array()); + + $output->writeln($this->user->lang('PURGE_CACHE_SUCCESS')); + } +} |