diff options
| author | Oleg Pudeyev <oleg@bsdpower.com> | 2010-05-09 16:47:52 -0400 |
|---|---|---|
| committer | Oleg Pudeyev <oleg@bsdpower.com> | 2011-02-12 22:05:51 -0500 |
| commit | ccf5902c50ecd8fc5307efbb64a20aa19a2652b4 (patch) | |
| tree | 297dece9d9528da66f3a04885bbce6898c6341ba | |
| parent | 071472a6fdef07c0e1e6d79b419412452c2425a7 (diff) | |
| download | forums-ccf5902c50ecd8fc5307efbb64a20aa19a2652b4.tar forums-ccf5902c50ecd8fc5307efbb64a20aa19a2652b4.tar.gz forums-ccf5902c50ecd8fc5307efbb64a20aa19a2652b4.tar.bz2 forums-ccf5902c50ecd8fc5307efbb64a20aa19a2652b4.tar.xz forums-ccf5902c50ecd8fc5307efbb64a20aa19a2652b4.zip | |
[feature/system-cron] Fixed instantiate_task to work correctly.
PHPBB3-9596
| -rw-r--r-- | phpBB/includes/cron/cron_manager.php | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/phpBB/includes/cron/cron_manager.php b/phpBB/includes/cron/cron_manager.php index 5c3bfd01b5..a97f2bde4e 100644 --- a/phpBB/includes/cron/cron_manager.php +++ b/phpBB/includes/cron/cron_manager.php @@ -168,13 +168,23 @@ class cron_manager return null; } + /** + * Creates an instance of parametrized cron task $name with args $args. + * + * $name is the task name, which is the same as cron task class name. + * $args will be passed to the task class's constructor. + * The constructed task is wrapped with cron task wrapper before being returned. + */ function instantiate_task($name, $args) { $task = $this->find_task($name); if ($task) { - $class = get_class($task); + // task here is actually an instance of cron task wrapper + $class = $task->get_name(); $task = new $class($args); + // need to wrap the new task too + $task = new cron_task_wrapper($task); } return $task; } |
