diff options
Diffstat (limited to 'phpBB/includes/cron/cron_task.php')
-rw-r--r-- | phpBB/includes/cron/cron_task.php | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/phpBB/includes/cron/cron_task.php b/phpBB/includes/cron/cron_task.php index 8b9ffacae6..46eacff517 100644 --- a/phpBB/includes/cron/cron_task.php +++ b/phpBB/includes/cron/cron_task.php @@ -48,13 +48,33 @@ interface cron_task } /** -* Parametrized cron task interface +* 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 a query string. + * 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 get_url_query_string(); + public function parse_parameters($params); } |