mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-06 23:55:26 +02:00
81 lines
1.8 KiB
PHP
81 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* @package phpBB3
|
|
* @version $Id$
|
|
* @copyright (c) 2010 phpBB Group
|
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* @ignore
|
|
*/
|
|
if (!defined('IN_PHPBB'))
|
|
{
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* Cron task interface
|
|
* @package phpBB3
|
|
*/
|
|
interface cron_task
|
|
{
|
|
/**
|
|
* Runs this cron task.
|
|
*/
|
|
public function run();
|
|
|
|
/**
|
|
* Returns whether this cron task can run, given current board configuration.
|
|
*
|
|
* For example, a cron task that prunes forums can only run when
|
|
* forum pruning is enabled.
|
|
*/
|
|
public function is_runnable();
|
|
|
|
/**
|
|
* Returns whether this cron task should run now, because enough time
|
|
* has passed since it was last run.
|
|
*/
|
|
public function should_run();
|
|
|
|
/**
|
|
* Returns whether this cron task can be run in shutdown function.
|
|
*/
|
|
public function is_shutdown_function_safe();
|
|
}
|
|
|
|
/**
|
|
* Parametrized cron task interface.
|
|
*
|
|
* Parametrized cron tasks are somewhat of a cross between regular cron tasks and
|
|
* delayed jobs. Whereas regular cron tasks perform some action globally,
|
|
* parametrized cron tasks perform actions on a particular object (or objects).
|
|
* Parametrized cron tasks do not make sense and are not usable without
|
|
* specifying these objects.
|
|
*
|
|
* @package phpBB3
|
|
*/
|
|
interface parametrized_cron_task extends cron_task
|
|
{
|
|
/**
|
|
* Returns parameters of this cron task as an array.
|
|
*
|
|
* The array must map string keys to string values.
|
|
*/
|
|
public function get_parameters();
|
|
|
|
/**
|
|
* Parses parameters found in $params, which is an array.
|
|
*
|
|
* $params contains user input and must not be trusted.
|
|
* In normal operation $params contains the same data that was returned by
|
|
* get_parameters method. However, a malicious user can supply arbitrary
|
|
* data in $params.
|
|
* Cron task must validate all keys and values in $params before using them.
|
|
*/
|
|
public function parse_parameters($params);
|
|
}
|