From eb565e33569541981713c24d643ff89517db237c Mon Sep 17 00:00:00 2001 From: brettp Date: Wed, 14 Oct 2009 21:36:23 +0000 Subject: Standardized engine/handlers/* git-svn-id: http://code.elgg.org/elgg/trunk@3545 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/handlers/action_handler.php | 33 +++++++------- engine/handlers/cron_handler.php | 77 ++++++++++++++++--------------- engine/handlers/pagehandler.php | 41 ++++++++--------- engine/handlers/xml-rpc_handler.php | 90 ++++++++++++++++++------------------- 4 files changed, 117 insertions(+), 124 deletions(-) diff --git a/engine/handlers/action_handler.php b/engine/handlers/action_handler.php index 4878084ad..52c1a2633 100644 --- a/engine/handlers/action_handler.php +++ b/engine/handlers/action_handler.php @@ -1,21 +1,18 @@ +/** + * Load Elgg framework + */ +define('externalpage',true); +require_once("../start.php"); +$action = get_input("action"); +action($action); \ No newline at end of file diff --git a/engine/handlers/cron_handler.php b/engine/handlers/cron_handler.php index 71a8cf2a4..37a0335f6 100644 --- a/engine/handlers/cron_handler.php +++ b/engine/handlers/cron_handler.php @@ -1,38 +1,41 @@ 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; -?> \ No newline at end of file +/** + * Elgg Cron handler. + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd + * @link http://elgg.org/ + */ + +// Load Elgg engine +define('externalpage',true); +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 + +// Data to return to +$std_out = ""; +$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; \ No newline at end of file diff --git a/engine/handlers/pagehandler.php b/engine/handlers/pagehandler.php index 506ae9802..a0837caa1 100644 --- a/engine/handlers/pagehandler.php +++ b/engine/handlers/pagehandler.php @@ -1,27 +1,22 @@ \ No newline at end of file +// Call the page handler functions +if (!page_handler($handler, $page)) { + forward(); +} \ No newline at end of file diff --git a/engine/handlers/xml-rpc_handler.php b/engine/handlers/xml-rpc_handler.php index bc87306c7..26c1454bf 100644 --- a/engine/handlers/xml-rpc_handler.php +++ b/engine/handlers/xml-rpc_handler.php @@ -1,47 +1,45 @@ $result))); - -?> \ No newline at end of file +/** + * Elgg XML-RPC handler. + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd + * @link http://elgg.org/ + */ + +// Load Elgg engine +define('externalpage',true); +require_once("../start.php"); +global $CONFIG; + +// Register the error handler +error_reporting(E_ALL); +set_error_handler('__php_xmlrpc_error_handler'); + +// Register a default exception handler +set_exception_handler('__php_xmlrpc_exception_handler'); + +// Set some defaults +$result = null; +set_input('view', 'xml'); // Set default view regardless + +// Get the post data +$input = get_post_data(); + +if ($input) { + // Parse structures from xml + $call = new XMLRPCCall($input); + + // Process call + $result = trigger_xmlrpc_handler($call); +} else { + throw new CallException(elgg_echo('xmlrpc:noinputdata')); +} + +if (!($result instanceof XMLRPCResponse)) { + throw new APIException(elgg_echo('APIException:ApiResultUnknown')); +} + +// Output result +page_draw("XML-RPC", elgg_view("xml-rpc/output", array('result' => $result))); \ No newline at end of file -- cgit v1.2.3