From 0cfbdcc7449f1cc17b819ffe49aec88c274dd090 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Sat, 17 Apr 2010 06:32:15 -0400 Subject: [feature/system-cron] Reorganized cron task parametrization. PHPBB3-9596 --- phpBB/includes/cron/cron_task.php | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'phpBB/includes/cron/cron_task.php') 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); } -- cgit v1.2.1