aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/classes/ElggSite.php2
-rw-r--r--engine/classes/XMLRPCArrayParameter.php56
-rw-r--r--engine/classes/XMLRPCBase64Parameter.php28
-rw-r--r--engine/classes/XMLRPCBoolParameter.php30
-rw-r--r--engine/classes/XMLRPCCall.php62
-rw-r--r--engine/classes/XMLRPCDateParameter.php33
-rw-r--r--engine/classes/XMLRPCDoubleParameter.php29
-rw-r--r--engine/classes/XMLRPCErrorResponse.php36
-rw-r--r--engine/classes/XMLRPCIntParameter.php29
-rw-r--r--engine/classes/XMLRPCParameter.php16
-rw-r--r--engine/classes/XMLRPCResponse.php71
-rw-r--r--engine/classes/XMLRPCStringParameter.php30
-rw-r--r--engine/classes/XMLRPCStructParameter.php55
-rw-r--r--engine/classes/XMLRPCSuccessResponse.php22
-rw-r--r--engine/handlers/page_handler.php8
-rw-r--r--engine/handlers/xml-rpc_handler.php44
-rw-r--r--engine/lib/deprecated-1.9.php (renamed from engine/lib/calendar.php)29
-rw-r--r--engine/lib/xml-rpc.php203
-rw-r--r--engine/start.php8
-rw-r--r--htaccess_dist5
-rw-r--r--install/ElggInstaller.php6
-rw-r--r--languages/en.php9
-rw-r--r--version.php4
-rw-r--r--views/xml/xml-rpc/output.php11
24 files changed, 36 insertions, 790 deletions
diff --git a/engine/classes/ElggSite.php b/engine/classes/ElggSite.php
index 3ccb146fb..2d6238a19 100644
--- a/engine/classes/ElggSite.php
+++ b/engine/classes/ElggSite.php
@@ -421,8 +421,6 @@ class ElggSite extends ElggEntity {
'action/security/refreshtoken',
'ajax/view/js/languages',
'upgrade\.php',
- 'xml-rpc\.php',
- 'mt/mt-xmlrpc\.cgi',
'css/.*',
'js/.*',
'cache/css/.*',
diff --git a/engine/classes/XMLRPCArrayParameter.php b/engine/classes/XMLRPCArrayParameter.php
deleted file mode 100644
index a8edccba7..000000000
--- a/engine/classes/XMLRPCArrayParameter.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/**
- * An array containing other XMLRPCParameter objects.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- *
- */
-class XMLRPCArrayParameter extends XMLRPCParameter
-{
- /**
- * Construct an array.
- *
- * @param array $parameters Optional array of parameters, if not provided
- * then addField must be used.
- */
- function __construct($parameters = NULL) {
- parent::__construct();
-
- if (is_array($parameters)) {
- foreach ($parameters as $v) {
- $this->addField($v);
- }
- }
- }
-
- /**
- * Add a field to the container.
- *
- * @param XMLRPCParameter $value The value.
- *
- * @return void
- */
- public function addField(XMLRPCParameter $value) {
- if (!is_array($this->value)) {
- $this->value = array();
- }
-
- $this->value[] = $value;
- }
-
- /**
- * Converts XML array to string
- *
- * @return string
- */
- function __toString() {
- $params = "";
- foreach ($this->value as $value) {
- $params .= "$value";
- }
-
- return "<array><data>$params</data></array>";
- }
-}
diff --git a/engine/classes/XMLRPCBase64Parameter.php b/engine/classes/XMLRPCBase64Parameter.php
deleted file mode 100644
index 7db0a761c..000000000
--- a/engine/classes/XMLRPCBase64Parameter.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/**
- * A base 64 encoded blob of binary.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCBase64Parameter extends XMLRPCParameter {
- /**
- * Construct a base64 encoded block
- *
- * @param string $blob Unencoded binary blob
- */
- function __construct($blob) {
- parent::__construct();
-
- $this->value = base64_encode($blob);
- }
-
- /**
- * Convert to string
- *
- * @return string
- */
- function __toString() {
- return "<value><base64>{$value}</base64></value>";
- }
-}
diff --git a/engine/classes/XMLRPCBoolParameter.php b/engine/classes/XMLRPCBoolParameter.php
deleted file mode 100644
index 607841cb8..000000000
--- a/engine/classes/XMLRPCBoolParameter.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
- * A boolean.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCBoolParameter extends XMLRPCParameter {
-
- /**
- * New bool parameter
- *
- * @param bool $value Value
- */
- function __construct($value) {
- parent::__construct();
-
- $this->value = (bool)$value;
- }
-
- /**
- * Convert to string
- *
- * @return string
- */
- function __toString() {
- $code = ($this->value) ? "1" : "0";
- return "<value><boolean>{$code}</boolean></value>";
- }
-}
diff --git a/engine/classes/XMLRPCCall.php b/engine/classes/XMLRPCCall.php
deleted file mode 100644
index 8eeba0c29..000000000
--- a/engine/classes/XMLRPCCall.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/**
- * An XMLRPC call
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCCall {
- /** Method name */
- private $methodname;
-
- /** Parameters */
- private $params;
-
- /**
- * Construct a new XML RPC Call
- *
- * @param string $xml XML
- */
- function __construct($xml) {
- $this->_parse($xml);
- }
-
- /**
- * Return the method name associated with the call.
- *
- * @return string
- */
- public function getMethodName() { return $this->methodname; }
-
- /**
- * Return the parameters.
- * Returns a nested array of XmlElement.
- *
- * @see XmlElement
- * @return array
- */
- public function getParameters() { return $this->params; }
-
- /**
- * Parse the xml into its components according to spec.
- * This first version is a little primitive.
- *
- * @param string $xml XML
- *
- * @return void
- */
- private function _parse($xml) {
- $xml = xml_to_object($xml);
-
- // sanity check
- if ((isset($xml->name)) && (strcasecmp($xml->name, "methodCall") != 0)) {
- throw new CallException(elgg_echo('CallException:NotRPCCall'));
- }
-
- // method name
- $this->methodname = $xml->children[0]->content;
-
- // parameters
- $this->params = $xml->children[1]->children;
- }
-}
diff --git a/engine/classes/XMLRPCDateParameter.php b/engine/classes/XMLRPCDateParameter.php
deleted file mode 100644
index 93bbbd8f5..000000000
--- a/engine/classes/XMLRPCDateParameter.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-/**
- * An ISO8601 data and time.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCDateParameter extends XMLRPCParameter {
- /**
- * Construct a date
- *
- * @param int $timestamp The unix timestamp, or blank for "now".
- */
- function __construct($timestamp = 0) {
- parent::__construct();
-
- $this->value = $timestamp;
-
- if (!$timestamp) {
- $this->value = time();
- }
- }
-
- /**
- * Convert to string
- *
- * @return string
- */
- function __toString() {
- $value = date('c', $this->value);
- return "<value><dateTime.iso8601>{$value}</dateTime.iso8601></value>";
- }
-}
diff --git a/engine/classes/XMLRPCDoubleParameter.php b/engine/classes/XMLRPCDoubleParameter.php
deleted file mode 100644
index b7834650e..000000000
--- a/engine/classes/XMLRPCDoubleParameter.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/**
- * A double precision signed floating point number.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCDoubleParameter extends XMLRPCParameter {
-
- /**
- * New XML Double
- *
- * @param int $value Value
- */
- function __construct($value) {
- parent::__construct();
-
- $this->value = (float)$value;
- }
-
- /**
- * Convert to string
- *
- * @return string
- */
- function __toString() {
- return "<value><double>{$this->value}</double></value>";
- }
-}
diff --git a/engine/classes/XMLRPCErrorResponse.php b/engine/classes/XMLRPCErrorResponse.php
deleted file mode 100644
index 425c075cc..000000000
--- a/engine/classes/XMLRPCErrorResponse.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/**
- * XMLRPC Error Response
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCErrorResponse extends XMLRPCResponse {
- /**
- * Set the error response and error code.
- *
- * @param string $message The message
- * @param int $code Error code (default = system error as defined by
- * http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php)
- */
- function __construct($message, $code = -32400) {
- $this->addParameter(
- new XMLRPCStructParameter(
- array (
- 'faultCode' => new XMLRPCIntParameter($code),
- 'faultString' => new XMLRPCStringParameter($message)
- )
- )
- );
- }
-
- /**
- * Output to XML.
- *
- * @return string
- */
- public function __toString() {
- return "<methodResponse><fault><value>{$this->parameters[0]}</value></fault></methodResponse>";
- }
-}
diff --git a/engine/classes/XMLRPCIntParameter.php b/engine/classes/XMLRPCIntParameter.php
deleted file mode 100644
index 0fc146165..000000000
--- a/engine/classes/XMLRPCIntParameter.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/**
- * An Integer.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCIntParameter extends XMLRPCParameter {
-
- /**
- * A new XML int
- *
- * @param int $value Value
- */
- function __construct($value) {
- parent::__construct();
-
- $this->value = (int)$value;
- }
-
- /**
- * Convert to string
- *
- * @return string
- */
- function __toString() {
- return "<value><i4>{$this->value}</i4></value>";
- }
-}
diff --git a/engine/classes/XMLRPCParameter.php b/engine/classes/XMLRPCParameter.php
deleted file mode 100644
index ffbad8082..000000000
--- a/engine/classes/XMLRPCParameter.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-/**
- * Superclass for all RPC parameters.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-abstract class XMLRPCParameter {
- protected $value;
-
- /**
- * Set initial values
- */
- function __construct() { }
-
-}
diff --git a/engine/classes/XMLRPCResponse.php b/engine/classes/XMLRPCResponse.php
deleted file mode 100644
index a6256d385..000000000
--- a/engine/classes/XMLRPCResponse.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/**
- * XML-RPC Response.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-abstract class XMLRPCResponse {
- /** An array of parameters */
- protected $parameters = array();
-
- /**
- * Add a parameter here.
- *
- * @param XMLRPCParameter $param The parameter.
- *
- * @return void
- */
- public function addParameter(XMLRPCParameter $param) {
- if (!is_array($this->parameters)) {
- $this->parameters = array();
- }
-
- $this->parameters[] = $param;
- }
-
- /**
- * Add an integer
- *
- * @param int $value Value
- *
- * @return void
- */
- public function addInt($value) {
- $this->addParameter(new XMLRPCIntParameter($value));
- }
-
- /**
- * Add a string
- *
- * @param string $value Value
- *
- * @return void
- */
- public function addString($value) {
- $this->addParameter(new XMLRPCStringParameter($value));
- }
-
- /**
- * Add a double
- *
- * @param int $value Value
- *
- * @return void
- */
- public function addDouble($value) {
- $this->addParameter(new XMLRPCDoubleParameter($value));
- }
-
- /**
- * Add a boolean
- *
- * @param bool $value Value
- *
- * @return void
- */
- public function addBoolean($value) {
- $this->addParameter(new XMLRPCBoolParameter($value));
- }
-}
diff --git a/engine/classes/XMLRPCStringParameter.php b/engine/classes/XMLRPCStringParameter.php
deleted file mode 100644
index 35b28214b..000000000
--- a/engine/classes/XMLRPCStringParameter.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
- * A string.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCStringParameter extends XMLRPCParameter {
-
- /**
- * A new XML string
- *
- * @param string $value Value
- */
- function __construct($value) {
- parent::__construct();
-
- $this->value = $value;
- }
-
- /**
- * Convert to XML string
- *
- * @return string
- */
- function __toString() {
- $value = htmlentities($this->value);
- return "<value><string>{$value}</string></value>";
- }
-}
diff --git a/engine/classes/XMLRPCStructParameter.php b/engine/classes/XMLRPCStructParameter.php
deleted file mode 100644
index 694ddf5df..000000000
--- a/engine/classes/XMLRPCStructParameter.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/**
- * A structure containing other XMLRPCParameter objects.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCStructParameter extends XMLRPCParameter {
- /**
- * Construct a struct.
- *
- * @param array $parameters Optional associated array of parameters, if
- * not provided then addField must be used.
- */
- function __construct($parameters = NULL) {
- parent::__construct();
-
- if (is_array($parameters)) {
- foreach ($parameters as $k => $v) {
- $this->addField($k, $v);
- }
- }
- }
-
- /**
- * Add a field to the container.
- *
- * @param string $name The name of the field.
- * @param XMLRPCParameter $value The value.
- *
- * @return void
- */
- public function addField($name, XMLRPCParameter $value) {
- if (!is_array($this->value)) {
- $this->value = array();
- }
-
- $this->value[$name] = $value;
- }
-
- /**
- * Convert to string
- *
- * @return string
- */
- function __toString() {
- $params = "";
- foreach ($this->value as $k => $v) {
- $params .= "<member><name>$k</name>$v</member>";
- }
-
- return "<value><struct>$params</struct></value>";
- }
-}
diff --git a/engine/classes/XMLRPCSuccessResponse.php b/engine/classes/XMLRPCSuccessResponse.php
deleted file mode 100644
index e02e82c5c..000000000
--- a/engine/classes/XMLRPCSuccessResponse.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Success Response
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-class XMLRPCSuccessResponse extends XMLRPCResponse {
- /**
- * Output to XML.
- *
- * @return string
- */
- public function __toString() {
- $params = "";
- foreach ($this->parameters as $param) {
- $params .= "<param>$param</param>\n";
- }
-
- return "<methodResponse><params>$params</params></methodResponse>";
- }
-}
diff --git a/engine/handlers/page_handler.php b/engine/handlers/page_handler.php
index 1ed295b7d..7eca37bb1 100644
--- a/engine/handlers/page_handler.php
+++ b/engine/handlers/page_handler.php
@@ -13,12 +13,16 @@
* * cache
* * services
* * export
- * * mt
- * * xml-rpc.php
+ * * js
+ * * css
* * rewrite.php
* * tag (deprecated, reserved for backwards compatibility)
* * pg (deprecated, reserved for backwards compatibility)
*
+ * These additionally are reserved for the xml-rpc plugin
+ * * mt
+ * * xml-rpc.php
+ *
* {@link page_handler()} explodes the pages string by / and sends it to
* the page handler function as registered by {@link elgg_register_page_handler()}.
* If a valid page handler isn't found, plugins have a chance to provide a 404.
diff --git a/engine/handlers/xml-rpc_handler.php b/engine/handlers/xml-rpc_handler.php
deleted file mode 100644
index 2ee29e5b7..000000000
--- a/engine/handlers/xml-rpc_handler.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/**
- * XML-RPC handler.
- *
- * @warning This is very old code. Does it work at all?
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- * @link http://docs.elgg.org/Tutorials/XMLRPC
- * @todo Does this work?
- */
-
-require_once(dirname(dirname(__FILE__)) . "/start.php");
-
-// 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
-echo elgg_view_page("XML-RPC", elgg_view("xml-rpc/output", array('result' => $result)));
diff --git a/engine/lib/calendar.php b/engine/lib/deprecated-1.9.php
index 9a06c5292..31d03428f 100644
--- a/engine/lib/calendar.php
+++ b/engine/lib/deprecated-1.9.php
@@ -1,14 +1,5 @@
<?php
/**
- * Elgg calendar / entity / event functions.
- *
- * @package Elgg.Core
- * @subpackage Calendar
- *
- * @todo Implement or remove
- */
-
-/**
* Return a timestamp for the start of a given day (defaults today).
*
* @param int $day Day
@@ -17,8 +8,10 @@
*
* @return int
* @access private
+ * @deprecated 1.9
*/
function get_day_start($day = null, $month = null, $year = null) {
+ elgg_deprecated_notice('get_day_start() has been deprecated', 1.9);
return mktime(0, 0, 0, $month, $day, $year);
}
@@ -31,8 +24,10 @@ function get_day_start($day = null, $month = null, $year = null) {
*
* @return int
* @access private
+ * @deprecated 1.9
*/
function get_day_end($day = null, $month = null, $year = null) {
+ elgg_deprecated_notice('get_day_end() has been deprecated', 1.9);
return mktime(23, 59, 59, $month, $day, $year);
}
@@ -53,10 +48,12 @@ function get_day_end($day = null, $month = null, $year = null) {
*
* @return array|false
* @access private
+ * @deprecated 1.9
*/
function get_notable_entities($start_time, $end_time, $type = "", $subtype = "", $owner_guid = 0,
$order_by = "asc", $limit = 10, $offset = 0, $count = false, $site_guid = 0,
$container_guid = null) {
+ elgg_deprecated_notice('get_notable_entities() has been deprecated', 1.9);
global $CONFIG;
if ($subtype === false || $subtype === null || $subtype === 0) {
@@ -201,10 +198,12 @@ $container_guid = null) {
*
* @return int|array A list of entities, or a count if $count is set to true
* @access private
+ * @deprecated 1.9
*/
function get_notable_entities_from_metadata($start_time, $end_time, $meta_name, $meta_value = "",
$entity_type = "", $entity_subtype = "", $owner_guid = 0, $limit = 10, $offset = 0, $order_by = "",
$site_guid = 0, $count = false) {
+ elgg_deprecated_notice('get_notable_entities_from_metadata() has been deprecated', 1.9);
global $CONFIG;
@@ -331,10 +330,12 @@ $site_guid = 0, $count = false) {
*
* @return array|int|false An array of entities, or the number of entities, or false on failure
* @access private
+ * @deprecated 1.9
*/
function get_noteable_entities_from_relationship($start_time, $end_time, $relationship,
$relationship_guid, $inverse_relationship = false, $type = "", $subtype = "", $owner_guid = 0,
$order_by = "", $limit = 10, $offset = 0, $count = false, $site_guid = 0) {
+ elgg_deprecated_notice('get_noteable_entities_from_relationship() has been deprecated', 1.9);
global $CONFIG;
@@ -441,9 +442,11 @@ $order_by = "", $limit = 10, $offset = 0, $count = false, $site_guid = 0) {
*
* @return array|false
* @access private
+ * @deprecated 1.9
*/
function get_todays_entities($type = "", $subtype = "", $owner_guid = 0, $order_by = "",
$limit = 10, $offset = 0, $count = false, $site_guid = 0, $container_guid = null) {
+ elgg_deprecated_notice('get_todays_entities() has been deprecated', 1.9);
$day_start = get_day_start();
$day_end = get_day_end();
@@ -468,10 +471,12 @@ $limit = 10, $offset = 0, $count = false, $site_guid = 0, $container_guid = null
*
* @return int|array A list of entities, or a count if $count is set to true
* @access private
+ * @deprecated 1.9
*/
function get_todays_entities_from_metadata($meta_name, $meta_value = "", $entity_type = "",
$entity_subtype = "", $owner_guid = 0, $limit = 10, $offset = 0, $order_by = "", $site_guid = 0,
$count = false) {
+ elgg_deprecated_notice('get_todays_entities_from_metadata() has been deprecated', 1.9);
$day_start = get_day_start();
$day_end = get_day_end();
@@ -499,10 +504,12 @@ $count = false) {
*
* @return array|int|false An array of entities, or the number of entities, or false on failure
* @access private
+ * @deprecated 1.9
*/
function get_todays_entities_from_relationship($relationship, $relationship_guid,
$inverse_relationship = false, $type = "", $subtype = "", $owner_guid = 0,
$order_by = "", $limit = 10, $offset = 0, $count = false, $site_guid = 0) {
+ elgg_deprecated_notice('get_todays_entities_from_relationship() has been deprecated', 1.9);
$day_start = get_day_start();
$day_end = get_day_end();
@@ -529,9 +536,11 @@ $order_by = "", $limit = 10, $offset = 0, $count = false, $site_guid = 0) {
*
* @return string A viewable list of entities
* @access private
+ * @deprecated 1.9
*/
function list_notable_entities($start_time, $end_time, $type= "", $subtype = "", $owner_guid = 0,
$limit = 10, $fullview = true, $listtypetoggle = false, $navigation = true) {
+ elgg_deprecated_notice('list_notable_entities() has been deprecated', 1.9);
$offset = (int) get_input('offset');
$count = get_notable_entities($start_time, $end_time, $type, $subtype,
@@ -559,9 +568,11 @@ $limit = 10, $fullview = true, $listtypetoggle = false, $navigation = true) {
*
* @return string A viewable list of entities
* @access private
+ * @deprecated 1.9
*/
function list_todays_entities($type= "", $subtype = "", $owner_guid = 0, $limit = 10,
$fullview = true, $listtypetoggle = false, $navigation = true) {
+ elgg_deprecated_notice('list_todays_entities() has been deprecated', 1.9);
$day_start = get_day_start();
$day_end = get_day_end();
diff --git a/engine/lib/xml-rpc.php b/engine/lib/xml-rpc.php
deleted file mode 100644
index bfe1a8645..000000000
--- a/engine/lib/xml-rpc.php
+++ /dev/null
@@ -1,203 +0,0 @@
-<?php
-/**
- * Elgg XML-RPC library.
- * Contains functions and classes to handle XML-RPC services, currently only server only.
- *
- * @package Elgg.Core
- * @subpackage XMLRPC
- */
-
-/**
- * parse XMLRPCCall parameters
- *
- * Convert an XMLRPCCall result array into native data types
- *
- * @param array $parameters An array of params
- *
- * @return array
- * @access private
- */
-function xmlrpc_parse_params($parameters) {
- $result = array();
-
- foreach ($parameters as $parameter) {
- $result[] = xmlrpc_scalar_value($parameter);
- }
-
- return $result;
-}
-
-/**
- * Extract the scalar value of an XMLObject type result array
- *
- * @param XMLObject $object And object
- *
- * @return mixed
- * @access private
- */
-function xmlrpc_scalar_value($object) {
- if ($object->name == 'param') {
- $object = $object->children[0]->children[0];
- }
-
- switch ($object->name) {
- case 'string':
- return $object->content;
-
- case 'array':
- foreach ($object->children[0]->children as $child) {
- $value[] = xmlrpc_scalar_value($child);
- }
- return $value;
-
- case 'struct':
- foreach ($object->children as $child) {
- if (isset($child->children[1]->children[0])) {
- $value[$child->children[0]->content] = xmlrpc_scalar_value($child->children[1]->children[0]);
- } else {
- $value[$child->children[0]->content] = $child->children[1]->content;
- }
- }
- return $value;
-
- case 'boolean':
- return (boolean) $object->content;
-
- case 'i4':
- case 'int':
- return (int) $object->content;
-
- case 'double':
- return (double) $object->content;
-
- case 'dateTime.iso8601':
- return (int) strtotime($object->content);
-
- case 'base64':
- return base64_decode($object->content);
-
- case 'value':
- return xmlrpc_scalar_value($object->children[0]);
-
- default:
- // @todo unsupported, throw an error
- return false;
- }
-}
-
-// Functions for adding handlers //////////////////////////////////////////////////////////
-
-/** XML-RPC Handlers */
-global $XML_RPC_HANDLERS;
-$XML_RPC_HANDLERS = array();
-
-/**
- * Register a method handler for a given XML-RPC method.
- *
- * @param string $method Method parameter.
- * @param string $handler The handler function. This function accepts
- * one XMLRPCCall object and must return a XMLRPCResponse object.
- *
- * @return bool
- */
-function register_xmlrpc_handler($method, $handler) {
- global $XML_RPC_HANDLERS;
-
- $XML_RPC_HANDLERS[$method] = $handler;
-}
-
-/**
- * Trigger a method call and pass the relevant parameters to the funciton.
- *
- * @param XMLRPCCall $parameters The call and parameters.
- *
- * @return XMLRPCCall
- * @access private
- */
-function trigger_xmlrpc_handler(XMLRPCCall $parameters) {
- global $XML_RPC_HANDLERS;
-
- // Go through and see if we have a handler
- if (isset($XML_RPC_HANDLERS[$parameters->getMethodName()])) {
- $handler = $XML_RPC_HANDLERS[$parameters->getMethodName()];
- $result = $handler($parameters);
-
- if (!($result instanceof XMLRPCResponse)) {
- $msg = elgg_echo('InvalidParameterException:UnexpectedReturnFormat',
- array($parameters->getMethodName()));
- throw new InvalidParameterException($msg);
- }
-
- // Result in right format, return it.
- return $result;
- }
-
- // if no handler then throw exception
- $msg = elgg_echo('NotImplementedException:XMLRPCMethodNotImplemented',
- array($parameters->getMethodName()));
- throw new NotImplementedException($msg);
-}
-
-/**
- * PHP Error handler function.
- * This function acts as a wrapper to catch and report PHP error messages.
- *
- * @see http://uk3.php.net/set-error-handler
- *
- * @param int $errno Error number
- * @param string $errmsg Human readable message
- * @param string $filename Filename
- * @param int $linenum Line number
- * @param array $vars Vars
- *
- * @return void
- * @access private
- */
-function _php_xmlrpc_error_handler($errno, $errmsg, $filename, $linenum, $vars) {
- $error = date("Y-m-d H:i:s (T)") . ": \"" . $errmsg . "\" in file "
- . $filename . " (line " . $linenum . ")";
-
- switch ($errno) {
- case E_USER_ERROR:
- error_log("ERROR: " . $error);
-
- // Since this is a fatal error, we want to stop any further execution but do so gracefully.
- throw new Exception("ERROR: " . $error);
- break;
-
- case E_WARNING :
- case E_USER_WARNING :
- error_log("WARNING: " . $error);
- break;
-
- default:
- error_log("DEBUG: " . $error);
- }
-}
-
-/**
- * PHP Exception handler for XMLRPC.
- *
- * @param Exception $exception The exception
- *
- * @return void
- * @access private
- */
-function _php_xmlrpc_exception_handler($exception) {
-
- error_log("*** FATAL EXCEPTION (XML-RPC) *** : " . $exception);
-
- $code = $exception->getCode();
-
- if ($code == 0) {
- $code = -32400;
- }
-
- $result = new XMLRPCErrorResponse($exception->getMessage(), $code);
-
- $vars = array('result' => $result);
-
- $content = elgg_view("xml-rpc/output", $vars);
-
- echo elgg_view_page($exception->getMessage(), $content);
-}
diff --git a/engine/start.php b/engine/start.php
index 00bdc3197..1decc5d80 100644
--- a/engine/start.php
+++ b/engine/start.php
@@ -92,7 +92,7 @@ $lib_files = array(
// these need to be loaded first.
'database.php', 'actions.php',
- 'admin.php', 'annotations.php', 'calendar.php',
+ 'admin.php', 'annotations.php',
'configuration.php', 'cron.php', 'entities.php', 'export.php',
'extender.php', 'filestore.php', 'group.php',
'location.php', 'mb_wrapper.php', 'memcache.php', 'metadata.php',
@@ -100,10 +100,10 @@ $lib_files = array(
'opendd.php', 'pagehandler.php', 'pam.php', 'plugins.php',
'private_settings.php', 'relationships.php', 'river.php', 'sites.php',
'statistics.php', 'tags.php', 'user_settings.php', 'users.php',
- 'upgrade.php', 'web_services.php', 'widgets.php', 'xml.php', 'xml-rpc.php',
+ 'upgrade.php', 'web_services.php', 'widgets.php', 'xml.php',
- //backwards compatibility
- 'deprecated-1.7.php', 'deprecated-1.8.php',
+ // backward compatibility
+ 'deprecated-1.7.php', 'deprecated-1.8.php', 'deprecated-1.9.php'
);
foreach ($lib_files as $file) {
diff --git a/htaccess_dist b/htaccess_dist
index bf163c69e..88285f81b 100644
--- a/htaccess_dist
+++ b/htaccess_dist
@@ -115,9 +115,6 @@ RewriteRule ^services\/api\/([A-Za-z0-9\_\-]+)\/(.*)$ engine/handlers/service_ha
RewriteRule ^export\/([A-Za-z]+)\/([0-9]+)\/?$ engine/handlers/export_handler.php?view=$1&guid=$2
RewriteRule ^export\/([A-Za-z]+)\/([0-9]+)\/([A-Za-z]+)\/([A-Za-z0-9\_]+)\/$ engine/handlers/export_handler.php?view=$1&guid=$2&type=$3&idname=$4
-RewriteRule xml-rpc.php engine/handlers/xml-rpc_handler.php
-RewriteRule mt/mt-xmlrpc.cgi engine/handlers/xml-rpc_handler.php
-
# rule for rewrite module test during install - can be removed after installation
RewriteRule ^rewrite.php$ install.php
@@ -125,7 +122,7 @@ RewriteRule ^rewrite.php$ install.php
# Everything else that isn't a file gets routed through the page handler
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
-RewriteRule ^([A-Za-z0-9\_\-]+)$ engine/handlers/page_handler.php?handler=$1 [QSA]
+RewriteRule ^([A-Za-z0-9\_\-.]+)$ engine/handlers/page_handler.php?handler=$1 [QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
diff --git a/install/ElggInstaller.php b/install/ElggInstaller.php
index d556ba744..2070f15e9 100644
--- a/install/ElggInstaller.php
+++ b/install/ElggInstaller.php
@@ -780,7 +780,7 @@ class ElggInstaller {
'database.php', 'actions.php',
'admin.php', 'annotations.php',
- 'calendar.php', 'cron.php', 'entities.php',
+ 'cron.php', 'entities.php',
'extender.php', 'filestore.php', 'group.php',
'location.php', 'mb_wrapper.php',
'memcache.php', 'metadata.php', 'metastrings.php',
@@ -790,8 +790,8 @@ class ElggInstaller {
'private_settings.php', 'relationships.php', 'river.php',
'sites.php', 'statistics.php', 'tags.php', 'user_settings.php',
'users.php', 'upgrade.php', 'web_services.php',
- 'widgets.php', 'xml.php', 'xml-rpc.php', 'deprecated-1.7.php',
- 'deprecated-1.8.php',
+ 'widgets.php', 'xml.php', 'deprecated-1.7.php',
+ 'deprecated-1.8.php', 'deprecated-1.9.php'
);
foreach ($lib_files as $file) {
diff --git a/languages/en.php b/languages/en.php
index 93099c98f..7d985b82f 100644
--- a/languages/en.php
+++ b/languages/en.php
@@ -208,10 +208,6 @@ $english = array(
'SecurityException:InvalidAPIKey' => "Invalid or missing API Key.",
'NotImplementedException:CallMethodNotImplemented' => "Call method '%s' is currently not supported.",
- 'NotImplementedException:XMLRPCMethodNotImplemented' => "XML-RPC method call '%s' not implemented.",
- 'InvalidParameterException:UnexpectedReturnFormat' => "Call to method '%s' returned an unexpected result.",
- 'CallException:NotRPCCall' => "Call does not appear to be a valid XML-RPC call",
-
'PluginException:NoPluginName' => "The plugin name could not be found",
'SecurityException:authenticationfailed' => "User could not be authenticated",
@@ -1089,11 +1085,6 @@ If you requested this, click on the link below. Otherwise ignore this email.
'user:default_access:failure' => "Your new default access level could not be saved.",
/**
- * XML-RPC
- */
- 'xmlrpc:noinputdata' => "Input data missing",
-
-/**
* Comments
*/
diff --git a/version.php b/version.php
index 29870f93f..07e854f8e 100644
--- a/version.php
+++ b/version.php
@@ -11,7 +11,7 @@
// YYYYMMDD = Elgg Date
// XX = Interim incrementer
-$version = 2011122100;
+$version = 2011110700;
// Human-friendly version name
-$release = '1.8.2';
+$release = '1.9.0-dev';
diff --git a/views/xml/xml-rpc/output.php b/views/xml/xml-rpc/output.php
deleted file mode 100644
index 4276029d1..000000000
--- a/views/xml/xml-rpc/output.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
- * Elgg XML output for XML-RPC
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$result = $vars['result'];
-
-echo "$result"; \ No newline at end of file