aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMáté Bartus <mate.bartus@gmail.com>2016-03-18 22:57:02 +0100
committerMáté Bartus <mate.bartus@gmail.com>2016-08-05 22:50:54 +0200
commit6eecc26e314796fadad7b22c37b0737ef05238d9 (patch)
tree54be689f1cbd28385da9c35080e93df09aa4815b /phpBB/cron.php
parentMerge branch '3.2.x' (diff)
downloadphpbb-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.php67
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();