diff options
Diffstat (limited to 'phpBB/phpbb/cron')
| -rw-r--r-- | phpBB/phpbb/cron/manager.php | 30 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/base.php | 10 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/prune_all_forums.php | 16 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/prune_forum.php | 22 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/prune_notifications.php | 59 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/queue.php | 16 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/tidy_cache.php | 16 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/tidy_database.php | 14 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/tidy_plupload.php | 116 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/tidy_search.php | 20 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/tidy_sessions.php | 16 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/core/tidy_warnings.php | 14 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/parametrized.php | 16 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/task.php | 10 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/wrapper.php | 16 |
15 files changed, 244 insertions, 147 deletions
diff --git a/phpBB/phpbb/cron/manager.php b/phpBB/phpbb/cron/manager.php index 84c9650830..b6af07aff7 100644 --- a/phpBB/phpbb/cron/manager.php +++ b/phpBB/phpbb/cron/manager.php @@ -7,13 +7,7 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron; /** * Cron manager class. @@ -22,10 +16,10 @@ if (!defined('IN_PHPBB')) * * @package phpBB3 */ -class phpbb_cron_manager +class manager { /** - * Set of phpbb_cron_task_wrapper objects. + * Set of \phpbb\cron\task\wrapper objects. * Array holding all tasks that have been found. * * @var array @@ -52,7 +46,7 @@ class phpbb_cron_manager * Loads tasks given by name, wraps them * and puts them into $this->tasks. * - * @param array|Traversable $tasks Array of instances of phpbb_cron_task + * @param array|Traversable $tasks Array of instances of \phpbb\cron\task\task * * @return null */ @@ -71,7 +65,7 @@ class phpbb_cron_manager * * If no tasks are ready, null is returned. * - * @return phpbb_cron_task_wrapper|null + * @return \phpbb\cron\task\wrapper|null */ public function find_one_ready_task() { @@ -88,7 +82,7 @@ class phpbb_cron_manager /** * Finds all tasks that are ready to run. * - * @return array List of tasks which are ready to run (wrapped in phpbb_cron_task_wrapper). + * @return array List of tasks which are ready to run (wrapped in \phpbb\cron\task\wrapper). */ public function find_all_ready_tasks() { @@ -111,7 +105,7 @@ class phpbb_cron_manager * Web runner uses this method to resolve names to tasks. * * @param string $name Name of the task to look up. - * @return phpbb_cron_task A task corresponding to the given name, or null. + * @return \phpbb\cron\task\task A task corresponding to the given name, or null. */ public function find_task($name) { @@ -126,13 +120,13 @@ class phpbb_cron_manager } /** - * Wraps a task inside an instance of phpbb_cron_task_wrapper. + * Wraps a task inside an instance of \phpbb\cron\task\wrapper. * - * @param phpbb_cron_task $task The task. - * @return phpbb_cron_task_wrapper The wrapped task. + * @param \phpbb\cron\task\task $task The task. + * @return \phpbb\cron\task\wrapper The wrapped task. */ - public function wrap_task(phpbb_cron_task $task) + public function wrap_task(\phpbb\cron\task\task $task) { - return new phpbb_cron_task_wrapper($task, $this->phpbb_root_path, $this->php_ext); + return new \phpbb\cron\task\wrapper($task, $this->phpbb_root_path, $this->php_ext); } } diff --git a/phpBB/phpbb/cron/task/base.php b/phpBB/phpbb/cron/task/base.php index 94a2f267b4..63f0407bcd 100644 --- a/phpBB/phpbb/cron/task/base.php +++ b/phpBB/phpbb/cron/task/base.php @@ -7,13 +7,7 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task; /** * Cron task base class. Provides sensible defaults for cron tasks @@ -26,7 +20,7 @@ if (!defined('IN_PHPBB')) * * @package phpBB3 */ -abstract class phpbb_cron_task_base implements phpbb_cron_task +abstract class base implements \phpbb\cron\task\task { private $name; diff --git a/phpBB/phpbb/cron/task/core/prune_all_forums.php b/phpBB/phpbb/cron/task/core/prune_all_forums.php index 2c5d38cec0..90b9a5914b 100644 --- a/phpBB/phpbb/cron/task/core/prune_all_forums.php +++ b/phpBB/phpbb/cron/task/core/prune_all_forums.php @@ -7,13 +7,7 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task\core; /** * Prune all forums cron task. @@ -24,7 +18,7 @@ if (!defined('IN_PHPBB')) * * @package phpBB3 */ -class phpbb_cron_task_core_prune_all_forums extends phpbb_cron_task_base +class prune_all_forums extends \phpbb\cron\task\base { protected $phpbb_root_path; protected $php_ext; @@ -36,10 +30,10 @@ class phpbb_cron_task_core_prune_all_forums extends phpbb_cron_task_base * * @param string $phpbb_root_path The root path * @param string $php_ext The PHP extension - * @param phpbb_config $config The config - * @param phpbb_db_driver $db The db connection + * @param \phpbb\config\config $config The config + * @param \phpbb\db\driver\driver $db The db connection */ - public function __construct($phpbb_root_path, $php_ext, phpbb_config $config, phpbb_db_driver $db) + public function __construct($phpbb_root_path, $php_ext, \phpbb\config\config $config, \phpbb\db\driver\driver $db) { $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; diff --git a/phpBB/phpbb/cron/task/core/prune_forum.php b/phpBB/phpbb/cron/task/core/prune_forum.php index e3c497f072..e0d8b067c5 100644 --- a/phpBB/phpbb/cron/task/core/prune_forum.php +++ b/phpBB/phpbb/cron/task/core/prune_forum.php @@ -7,13 +7,7 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task\core; /** * Prune one forum cron task. @@ -24,7 +18,7 @@ if (!defined('IN_PHPBB')) * * @package phpBB3 */ -class phpbb_cron_task_core_prune_forum extends phpbb_cron_task_base implements phpbb_cron_task_parametrized +class prune_forum extends \phpbb\cron\task\base implements \phpbb\cron\task\parametrized { protected $phpbb_root_path; protected $php_ext; @@ -46,10 +40,10 @@ class phpbb_cron_task_core_prune_forum extends phpbb_cron_task_base implements p * * @param string $phpbb_root_path The root path * @param string $php_ext The PHP extension - * @param phpbb_config $config The config - * @param phpbb_db_driver $db The db connection + * @param \phpbb\config\config $config The config + * @param \phpbb\db\driver\driver $db The db connection */ - public function __construct($phpbb_root_path, $php_ext, phpbb_config $config, phpbb_db_driver $db) + public function __construct($phpbb_root_path, $php_ext, \phpbb\config\config $config, \phpbb\db\driver\driver $db) { $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; @@ -132,15 +126,15 @@ class phpbb_cron_task_core_prune_forum extends phpbb_cron_task_base implements p /** * Parses parameters found in $request, which is an instance of - * phpbb_request_interface. + * \phpbb\request\request_interface. * * It is expected to have a key f whose value is id of the forum to be pruned. * - * @param phpbb_request_interface $request Request object. + * @param \phpbb\request\request_interface $request Request object. * * @return null */ - public function parse_parameters(phpbb_request_interface $request) + public function parse_parameters(\phpbb\request\request_interface $request) { $this->forum_data = null; if ($request->is_set('f')) diff --git a/phpBB/phpbb/cron/task/core/prune_notifications.php b/phpBB/phpbb/cron/task/core/prune_notifications.php new file mode 100644 index 0000000000..9f67c54e1c --- /dev/null +++ b/phpBB/phpbb/cron/task/core/prune_notifications.php @@ -0,0 +1,59 @@ +<?php +/** +* +* @package phpBB3 +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +namespace phpbb\cron\task\core; + +/** +* Prune notifications cron task. +* +* @package phpBB3 +*/ +class prune_notifications extends \phpbb\cron\task\base +{ + protected $config; + protected $notification_manager; + + /** + * Constructor. + * + * @param \phpbb\config\config $config The config + * @param \phpbb\notification\manager $notification_manager Notification manager + */ + public function __construct(\phpbb\config\config $config, \phpbb\notification\manager $notification_manager) + { + $this->config = $config; + $this->notification_manager = $notification_manager; + } + + /** + * {@inheritdoc} + */ + public function run() + { + // time minus expire days in seconds + $timestamp = time() - ($this->config['read_notification_expire_days'] * 60 * 60 * 24); + $this->notification_manager->prune_notifications($timestamp); + } + + /** + * {@inheritdoc} + */ + public function is_runnable() + { + return (bool) $this->config['read_notification_expire_days']; + } + + /** + * {@inheritdoc} + */ + public function should_run() + { + return $this->config['read_notification_last_gc'] < time() - $this->config['read_notification_gc']; + } +} diff --git a/phpBB/phpbb/cron/task/core/queue.php b/phpBB/phpbb/cron/task/core/queue.php index 732f9c6bea..cd799b8024 100644 --- a/phpBB/phpbb/cron/task/core/queue.php +++ b/phpBB/phpbb/cron/task/core/queue.php @@ -7,20 +7,14 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task\core; /** * Queue cron task. Sends email and jabber messages queued by other scripts. * * @package phpBB3 */ -class phpbb_cron_task_core_queue extends phpbb_cron_task_base +class queue extends \phpbb\cron\task\base { protected $phpbb_root_path; protected $php_ext; @@ -31,9 +25,9 @@ class phpbb_cron_task_core_queue extends phpbb_cron_task_base * * @param string $phpbb_root_path The root path * @param string $php_ext The PHP extension - * @param phpbb_config $config The config + * @param \phpbb\config\config $config The config */ - public function __construct($phpbb_root_path, $php_ext, phpbb_config $config) + public function __construct($phpbb_root_path, $php_ext, \phpbb\config\config $config) { $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; @@ -51,7 +45,7 @@ class phpbb_cron_task_core_queue extends phpbb_cron_task_base { include($this->phpbb_root_path . 'includes/functions_messenger.' . $this->php_ext); } - $queue = new queue(); + $queue = new \queue(); $queue->process(); } diff --git a/phpBB/phpbb/cron/task/core/tidy_cache.php b/phpBB/phpbb/cron/task/core/tidy_cache.php index 16a45dae7c..a94a85db53 100644 --- a/phpBB/phpbb/cron/task/core/tidy_cache.php +++ b/phpBB/phpbb/cron/task/core/tidy_cache.php @@ -7,20 +7,14 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task\core; /** * Tidy cache cron task. * * @package phpBB3 */ -class phpbb_cron_task_core_tidy_cache extends phpbb_cron_task_base +class tidy_cache extends \phpbb\cron\task\base { protected $config; protected $cache; @@ -28,10 +22,10 @@ class phpbb_cron_task_core_tidy_cache extends phpbb_cron_task_base /** * Constructor. * - * @param phpbb_config $config The config - * @param phpbb_cache_driver_interface $cache The cache driver + * @param \phpbb\config\config $config The config + * @param \phpbb\cache\driver\driver_interface $cache The cache driver */ - public function __construct(phpbb_config $config, phpbb_cache_driver_interface $cache) + public function __construct(\phpbb\config\config $config, \phpbb\cache\driver\driver_interface $cache) { $this->config = $config; $this->cache = $cache; diff --git a/phpBB/phpbb/cron/task/core/tidy_database.php b/phpBB/phpbb/cron/task/core/tidy_database.php index b882e7b500..f712a5047c 100644 --- a/phpBB/phpbb/cron/task/core/tidy_database.php +++ b/phpBB/phpbb/cron/task/core/tidy_database.php @@ -7,20 +7,14 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task\core; /** * Tidy database cron task. * * @package phpBB3 */ -class phpbb_cron_task_core_tidy_database extends phpbb_cron_task_base +class tidy_database extends \phpbb\cron\task\base { protected $phpbb_root_path; protected $php_ext; @@ -31,9 +25,9 @@ class phpbb_cron_task_core_tidy_database extends phpbb_cron_task_base * * @param string $phpbb_root_path The root path * @param string $php_ext The PHP extension - * @param phpbb_config $config The config + * @param \phpbb\config\config $config The config */ - public function __construct($phpbb_root_path, $php_ext, phpbb_config $config) + public function __construct($phpbb_root_path, $php_ext, \phpbb\config\config $config) { $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; diff --git a/phpBB/phpbb/cron/task/core/tidy_plupload.php b/phpBB/phpbb/cron/task/core/tidy_plupload.php new file mode 100644 index 0000000000..5a98e0bd7b --- /dev/null +++ b/phpBB/phpbb/cron/task/core/tidy_plupload.php @@ -0,0 +1,116 @@ +<?php +/** +* +* @package phpBB3 +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +namespace phpbb\cron\task\core; + +/** +* Cron task for cleaning plupload's temporary upload directory. +* +* @package phpBB3 +*/ +class tidy_plupload extends \phpbb\cron\task\base +{ + /** + * How old a file must be (in seconds) before it is deleted. + * @var int + */ + protected $max_file_age = 86400; + + /** + * How often we run the cron (in seconds). + * @var int + */ + protected $cron_frequency = 86400; + + /** + * phpBB root path + * @var string + */ + protected $phpbb_root_path; + + /** + * Config object + * @var \phpbb\config\config + */ + protected $config; + + /** + * Directory where plupload stores temporary files. + * @var string + */ + protected $plupload_upload_path; + + /** + * Constructor. + * + * @param string $phpbb_root_path The root path + * @param \phpbb\config\config $config The config + */ + public function __construct($phpbb_root_path, \phpbb\config\config $config) + { + $this->phpbb_root_path = $phpbb_root_path; + $this->config = $config; + + $this->plupload_upload_path = $this->phpbb_root_path . $this->config['upload_path'] . '/plupload'; + } + + /** + * {@inheritDoc} + */ + public function run() + { + // Remove old temporary file (perhaps failed uploads?) + $last_valid_timestamp = time() - $this->max_file_age; + try + { + $iterator = new \DirectoryIterator($this->plupload_upload_path); + foreach ($iterator as $file) + { + if (strpos($file->getBasename(), $this->config['plupload_salt']) !== 0) + { + // Skip over any non-plupload files. + continue; + } + + if ($file->getMTime() < $last_valid_timestamp) + { + @unlink($file->getPathname()); + } + } + } + catch (\UnexpectedValueException $e) + { + add_log( + 'critical', + 'LOG_PLUPLOAD_TIDY_FAILED', + $this->plupload_upload_path, + $e->getMessage(), + $e->getTraceAsString() + ); + } + + $this->config->set('plupload_last_gc', time(), true); + } + + /** + * {@inheritDoc} + */ + public function is_runnable() + { + return !empty($this->config['plupload_salt']) && is_dir($this->plupload_upload_path); + } + + /** + * {@inheritDoc} + */ + public function should_run() + { + return $this->config['plupload_last_gc'] < time() - $this->cron_frequency; + } +} diff --git a/phpBB/phpbb/cron/task/core/tidy_search.php b/phpBB/phpbb/cron/task/core/tidy_search.php index a3d5b7dbd2..42f7df308f 100644 --- a/phpBB/phpbb/cron/task/core/tidy_search.php +++ b/phpBB/phpbb/cron/task/core/tidy_search.php @@ -7,13 +7,7 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task\core; /** * Tidy search cron task. @@ -22,7 +16,7 @@ if (!defined('IN_PHPBB')) * * @package phpBB3 */ -class phpbb_cron_task_core_tidy_search extends phpbb_cron_task_base +class tidy_search extends \phpbb\cron\task\base { protected $phpbb_root_path; protected $php_ext; @@ -36,12 +30,12 @@ class phpbb_cron_task_core_tidy_search extends phpbb_cron_task_base * * @param string $phpbb_root_path The root path * @param string $php_ext The PHP extension - * @param phpbb_auth $auth The auth - * @param phpbb_config $config The config - * @param phpbb_db_driver $db The db connection - * @param phpbb_user $user The user + * @param \phpbb\auth\auth $auth The auth + * @param \phpbb\config\config $config The config + * @param \phpbb\db\driver\driver $db The db connection + * @param \phpbb\user $user The user */ - public function __construct($phpbb_root_path, $php_ext, phpbb_auth $auth, phpbb_config $config, phpbb_db_driver $db, phpbb_user $user) + public function __construct($phpbb_root_path, $php_ext, \phpbb\auth\auth $auth, \phpbb\config\config $config, \phpbb\db\driver\driver $db, \phpbb\user $user) { $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; diff --git a/phpBB/phpbb/cron/task/core/tidy_sessions.php b/phpBB/phpbb/cron/task/core/tidy_sessions.php index 95f55235c9..68094af1f7 100644 --- a/phpBB/phpbb/cron/task/core/tidy_sessions.php +++ b/phpBB/phpbb/cron/task/core/tidy_sessions.php @@ -7,20 +7,14 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task\core; /** * Tidy sessions cron task. * * @package phpBB3 */ -class phpbb_cron_task_core_tidy_sessions extends phpbb_cron_task_base +class tidy_sessions extends \phpbb\cron\task\base { protected $config; protected $user; @@ -28,10 +22,10 @@ class phpbb_cron_task_core_tidy_sessions extends phpbb_cron_task_base /** * Constructor. * - * @param phpbb_config $config The config - * @param phpbb_user $user The user + * @param \phpbb\config\config $config The config + * @param \phpbb\user $user The user */ - public function __construct(phpbb_config $config, phpbb_user $user) + public function __construct(\phpbb\config\config $config, \phpbb\user $user) { $this->config = $config; $this->user = $user; diff --git a/phpBB/phpbb/cron/task/core/tidy_warnings.php b/phpBB/phpbb/cron/task/core/tidy_warnings.php index 2a7798e56e..a0ff23fc57 100644 --- a/phpBB/phpbb/cron/task/core/tidy_warnings.php +++ b/phpBB/phpbb/cron/task/core/tidy_warnings.php @@ -7,13 +7,7 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task\core; /** * Tidy warnings cron task. @@ -22,7 +16,7 @@ if (!defined('IN_PHPBB')) * * @package phpBB3 */ -class phpbb_cron_task_core_tidy_warnings extends phpbb_cron_task_base +class tidy_warnings extends \phpbb\cron\task\base { protected $phpbb_root_path; protected $php_ext; @@ -33,9 +27,9 @@ class phpbb_cron_task_core_tidy_warnings extends phpbb_cron_task_base * * @param string $phpbb_root_path The root path * @param string $php_ext The PHP extension - * @param phpbb_config $config The config + * @param \phpbb\config\config $config The config */ - public function __construct($phpbb_root_path, $php_ext, phpbb_config $config) + public function __construct($phpbb_root_path, $php_ext, \phpbb\config\config $config) { $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; diff --git a/phpBB/phpbb/cron/task/parametrized.php b/phpBB/phpbb/cron/task/parametrized.php index 5f0e46eafc..1aeead0399 100644 --- a/phpBB/phpbb/cron/task/parametrized.php +++ b/phpBB/phpbb/cron/task/parametrized.php @@ -7,13 +7,7 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task; /** * Parametrized cron task interface. @@ -26,7 +20,7 @@ if (!defined('IN_PHPBB')) * * @package phpBB3 */ -interface phpbb_cron_task_parametrized extends phpbb_cron_task +interface parametrized extends \phpbb\cron\task\task { /** * Returns parameters of this cron task as an array. @@ -39,14 +33,14 @@ interface phpbb_cron_task_parametrized extends phpbb_cron_task /** * Parses parameters found in $request, which is an instance of - * phpbb_request_interface. + * \phpbb\request\request_interface. * * $request contains user input and must not be trusted. * Cron task must validate all data before using it. * - * @param phpbb_request_interface $request Request object. + * @param \phpbb\request\request_interface $request Request object. * * @return null */ - public function parse_parameters(phpbb_request_interface $request); + public function parse_parameters(\phpbb\request\request_interface $request); } diff --git a/phpBB/phpbb/cron/task/task.php b/phpBB/phpbb/cron/task/task.php index 2d585df96d..3ce3de9598 100644 --- a/phpBB/phpbb/cron/task/task.php +++ b/phpBB/phpbb/cron/task/task.php @@ -7,19 +7,13 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task; /** * Cron task interface * @package phpBB3 */ -interface phpbb_cron_task +interface task { /** * Returns the name of the task. diff --git a/phpBB/phpbb/cron/task/wrapper.php b/phpBB/phpbb/cron/task/wrapper.php index 386fb5b383..fc3f897206 100644 --- a/phpBB/phpbb/cron/task/wrapper.php +++ b/phpBB/phpbb/cron/task/wrapper.php @@ -7,13 +7,7 @@ * */ -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} +namespace phpbb\cron\task; /** * Cron task wrapper class. @@ -21,7 +15,7 @@ if (!defined('IN_PHPBB')) * * @package phpBB3 */ -class phpbb_cron_task_wrapper +class wrapper { protected $task; protected $phpbb_root_path; @@ -32,9 +26,9 @@ class phpbb_cron_task_wrapper * * Wraps a task $task, which must implement cron_task interface. * - * @param phpbb_cron_task $task The cron task to wrap. + * @param \phpbb\cron\task\task $task The cron task to wrap. */ - public function __construct(phpbb_cron_task $task, $phpbb_root_path, $php_ext) + public function __construct(\phpbb\cron\task\task $task, $phpbb_root_path, $php_ext) { $this->task = $task; $this->phpbb_root_path = $phpbb_root_path; @@ -51,7 +45,7 @@ class phpbb_cron_task_wrapper */ public function is_parametrized() { - return $this->task instanceof phpbb_cron_task_parametrized; + return $this->task instanceof \phpbb\cron\task\parametrized; } /** |
