1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-04-13 04:13:29 +02:00

[ticket/12507] Add console command to purge the cache

PHPBB3-12507
This commit is contained in:
Tristan Darricau 2014-05-06 16:50:18 +02:00
parent 571d6ae852
commit 06ecb62abd
3 changed files with 74 additions and 0 deletions

View File

@ -33,6 +33,7 @@ $phpbb_class_loader_ext->register();
$phpbb_container = phpbb_create_update_container($phpbb_root_path, $phpEx, "$phpbb_root_path/config");
$phpbb_container->get('request')->enable_super_globals();
require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION);
$application->register_container_commands($phpbb_container);

View File

@ -1,4 +1,15 @@
services:
console.command.cache.purge:
class: phpbb\console\command\cache\purge
arguments:
- @cache.driver
- @dbal.conn
- @auth
- @log
- @user
tags:
- { name: console.command }
console.command.config.delete:
class: phpbb\console\command\config\delete
arguments:

View File

@ -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'));
}
}