diff options
author | Máté Bartus <mate.bartus@gmail.com> | 2016-03-18 22:57:02 +0100 |
---|---|---|
committer | Máté Bartus <mate.bartus@gmail.com> | 2016-08-05 22:50:54 +0200 |
commit | 6eecc26e314796fadad7b22c37b0737ef05238d9 (patch) | |
tree | 54be689f1cbd28385da9c35080e93df09aa4815b /phpBB/cron.php | |
parent | Merge branch '3.2.x' (diff) | |
download | phpbb-6eecc26e314796fadad7b22c37b0737ef05238d9.tar.gz phpbb-6eecc26e314796fadad7b22c37b0737ef05238d9.tar.bz2 phpbb-6eecc26e314796fadad7b22c37b0737ef05238d9.zip |
[ticket/14542] Move cron to controller
PHPBB3-14542
Diffstat (limited to 'phpBB/cron.php')
-rw-r--r-- | phpBB/cron.php | 67 |
1 files changed, 10 insertions, 57 deletions
diff --git a/phpBB/cron.php b/phpBB/cron.php index 2f519947aa..58261429a2 100644 --- a/phpBB/cron.php +++ b/phpBB/cron.php @@ -11,10 +11,11 @@ * */ +use Symfony\Component\HttpFoundation\RedirectResponse; + /** */ define('IN_PHPBB', true); -define('IN_CRON', true); $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include($phpbb_root_path . 'common.' . $phpEx); @@ -23,62 +24,14 @@ include($phpbb_root_path . 'common.' . $phpEx); $user->session_begin(false); $auth->acl($user->data); -function output_image() -{ - // Output transparent gif - header('Cache-Control: no-cache'); - header('Content-type: image/gif'); - header('Content-length: 43'); - - echo base64_decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); - - // Flush here to prevent browser from showing the page as loading while - // running cron. - flush(); -} - -// Thanks to various fatal errors and lack of try/finally, it is quite easy to leave -// the cron lock locked, especially when working on cron-related code. -// -// Attempt to alleviate the problem by doing setup outside of the lock as much as possible. - $cron_type = $request->variable('cron_type', ''); -// Comment this line out for debugging so the page does not return an image. -output_image(); - -/* @var $cron_lock \phpbb\lock\db */ -$cron_lock = $phpbb_container->get('cron.lock_db'); -if ($cron_lock->acquire()) -{ - /* @var $cron \phpbb\cron\manager */ - $cron = $phpbb_container->get('cron.manager'); - - $task = $cron->find_task($cron_type); - if ($task) - { - /** - * This event enables you to catch the task before it runs - * - * @event core.cron_run_before - * @var \phpbb\cron\task\wrapper task Current Cron task - * @since 3.1.8-RC1 - */ - $vars = array( - 'task', - ); - extract($phpbb_dispatcher->trigger_event('core.cron_run_before', compact($vars))); - - if ($task->is_parametrized()) - { - $task->parse_parameters($request); - } - if ($task->is_ready()) - { - $task->run(); - } - } - $cron_lock->release(); -} +$get_params_array = $request->get_super_global(\phpbb\request\request_interface::GET); -garbage_collection(); +/** @var \phpbb\controller\helper $controller_helper */ +$controller_helper = $phpbb_container->get('controller.helper'); +$response = new RedirectResponse( + $controller_helper->route('phpbb_cron_run', $get_params_array), + 301 +); +$response->send(); |