/** * Cron handler * * @param array $page Pages * * @return bool * @throws CronException * @access private */ function _elgg_cron_page_handler($page) { if (!isset($page[0])) { forward(); } if (PHP_SAPI !== 'cli' && elgg_get_config('security_protect_cron')) { elgg_signed_request_gatekeeper(); } $period = strtolower($page[0]); $allowed_periods = elgg_get_config('elgg_cron_periods'); if ($period != 'run' && !in_array($period, $allowed_periods)) { throw new \CronException("{$period} is not a recognized cron period."); } if ($period == 'run') { _elgg_cron_run(); } else { // Get a list of parameters $params = array(); $params['time'] = time(); // Data to return to $old_stdout = ""; ob_start(); $msg_key = "cron_latest:{$period}:msg"; $msg = elgg_echo('admin:cron:started', [$period, date('r', time())]); elgg_get_site_entity()->setPrivateSetting($msg_key, $msg); $old_stdout = elgg_trigger_plugin_hook('cron', $period, $params, $old_stdout); $std_out = ob_get_clean(); $msg = $std_out . $old_stdout; echo $msg; elgg_get_site_entity()->setPrivateSetting($msg_key, $msg); } return true; }
/** * Cron handler * * @param array $page Pages * * @return bool * @throws CronException * @access private */ function _elgg_cron_page_handler($page) { if (!isset($page[0])) { forward(); } $period = strtolower($page[0]); $allowed_periods = elgg_get_config('elgg_cron_periods'); if ($period != 'run' && !in_array($period, $allowed_periods)) { throw new \CronException("{$period} is not a recognized cron period."); } if ($period == 'run') { _elgg_cron_run(); } else { // Get a list of parameters $params = array(); $params['time'] = time(); // Data to return to $old_stdout = ""; ob_start(); $old_stdout = elgg_trigger_plugin_hook('cron', $period, $params, $old_stdout); $std_out = ob_get_clean(); echo $std_out . $old_stdout; } return true; }