aboutsummaryrefslogtreecommitdiff
path: root/engine/handlers/cron_handler.php
blob: 639884da4cb066b09b12644b21e6ae7440374273 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
	/**
	 * Elgg Cron handler.
	 * 
	 * @package Elgg
	 * @subpackage Core
	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
	 * @author Curverider Ltd
	 * @copyright Curverider Ltd 2008-2009
	 * @link http://elgg.org/
	 */

	// Load Elgg engine
	require_once("../start.php");
	global $CONFIG;
	
	// Get basic parameters
	$period = get_input('period');
	if (!$period) throw new CronException(sprintf(elgg_echo('CronException:unknownperiod'), $period));
	
	// Get a list of parameters
	$params = array();
	$params['time'] = time();
	
	foreach ($CONFIG->input as $k => $v)
		$params[$k] = $v;
	
	// Trigger hack
	$std_out = ""; // Data to return to
	$old_stdout = "";
	ob_start();
	
	$old_stdout = trigger_plugin_hook('cron', $period, $params, $old_stdout);
		
	$std_out = ob_get_clean();
	
	// Return event
	echo $std_out . $old_stdout;
?>