summaryrefslogtreecommitdiffstats
path: root/system/libraries/Xmlrpcs.php
diff options
context:
space:
mode:
Diffstat (limited to 'system/libraries/Xmlrpcs.php')
-rw-r--r--system/libraries/Xmlrpcs.php124
1 files changed, 75 insertions, 49 deletions
diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php
index 6d270c2ea..d6c3416c9 100644
--- a/system/libraries/Xmlrpcs.php
+++ b/system/libraries/Xmlrpcs.php
@@ -1,4 +1,4 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php
/**
* CodeIgniter
*
@@ -24,6 +24,7 @@
* @since Version 1.0
* @filesource
*/
+defined('BASEPATH') OR exit('No direct script access allowed');
if ( ! function_exists('xml_parser_create'))
{
@@ -46,14 +47,42 @@ if ( ! class_exists('CI_Xmlrpc'))
* @author EllisLab Dev Team
* @link http://codeigniter.com/user_guide/libraries/xmlrpc.html
*/
-class CI_Xmlrpcs extends CI_Xmlrpc
-{
- public $methods = array(); //array of methods mapped to function names and signatures
- public $debug_msg = ''; // Debug Message
- public $system_methods = array(); // XML RPC Server methods
- public $controller_obj;
- public $object = FALSE;
+class CI_Xmlrpcs extends CI_Xmlrpc {
+
+ /**
+ * Array of methods mapped to function names and signatures
+ *
+ * @var array
+ */
+ public $methods = array();
+
+ /**
+ * Debug Message
+ *
+ * @var string
+ */
+ public $debug_msg = '';
+
+ /**
+ * XML RPC Server methods
+ *
+ * @var array
+ */
+ public $system_methods = array();
+
+ /**
+ * Configuration object
+ *
+ * @var object
+ */
+ public $object = FALSE;
+ /**
+ * Initialize XMLRPC class
+ *
+ * @param array $config
+ * @return void
+ */
public function __construct($config = array())
{
parent::__construct();
@@ -158,9 +187,9 @@ class CI_Xmlrpcs extends CI_Xmlrpc
public function add_to_map($methodname, $function, $sig, $doc)
{
$this->methods[$methodname] = array(
- 'function' => $function,
- 'signature' => $sig,
- 'docstring' => $doc
+ 'function' => $function,
+ 'signature' => $sig,
+ 'docstring' => $doc
);
}
@@ -180,7 +209,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
// Get Data
//-------------------------------------
- if ($data == '')
+ if ($data === '')
{
$data = $HTTP_RAW_POST_DATA;
}
@@ -202,21 +231,21 @@ class CI_Xmlrpcs extends CI_Xmlrpc
);
xml_set_object($parser, $parser_object);
- xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, true);
+ xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, TRUE);
xml_set_element_handler($parser, 'open_tag', 'closing_tag');
xml_set_character_data_handler($parser, 'character_data');
//xml_set_default_handler($parser, 'default_handler');
//-------------------------------------
- // PARSE + PROCESS XML DATA
+ // PARSE + PROCESS XML DATA
//-------------------------------------
if ( ! xml_parse($parser, $data, 1))
{
- // return XML error as a faultCode
+ // Return XML error as a faultCode
$r = new XML_RPC_Response(0,
- $this->xmlrpcerrxml + xml_get_error_code($parser),
- sprintf('XML error: %s at line %d',
+ $this->xmlrpcerrxml + xml_get_error_code($parser),
+ sprintf('XML error: %s at line %d',
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
xml_parser_free($parser);
@@ -230,7 +259,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
xml_parser_free($parser);
$m = new XML_RPC_Message($parser_object->xh[$parser]['method']);
- $plist='';
+ $plist = '';
for ($i = 0, $c = count($parser_object->xh[$parser]['params']); $i < $c; $i++)
{
@@ -251,7 +280,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
}
//-------------------------------------
- // SET DEBUGGING MESSAGE
+ // SET DEBUGGING MESSAGE
//-------------------------------------
if ($this->debug === TRUE)
@@ -275,15 +304,15 @@ class CI_Xmlrpcs extends CI_Xmlrpc
$methName = $m->method_name;
// Check to see if it is a system call
- $system_call = (strncmp($methName, 'system', 5) === 0);
+ $system_call = (strpos($methName, 'system') === 0);
- if ($this->xss_clean == FALSE)
+ if ($this->xss_clean === FALSE)
{
$m->xss_clean = FALSE;
}
//-------------------------------------
- // Valid Method
+ // Valid Method
//-------------------------------------
if ( ! isset($this->methods[$methName]['function']))
@@ -292,11 +321,11 @@ class CI_Xmlrpcs extends CI_Xmlrpc
}
//-------------------------------------
- // Check for Method (and Object)
+ // Check for Method (and Object)
//-------------------------------------
$method_parts = explode('.', $this->methods[$methName]['function']);
- $objectCall = (isset($method_parts[1]) && $method_parts[1] != '');
+ $objectCall = (isset($method_parts[1]) && $method_parts[1] !== '');
if ($system_call === TRUE)
{
@@ -313,7 +342,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
}
//-------------------------------------
- // Checking Methods Signature
+ // Checking Methods Signature
//-------------------------------------
if (isset($this->methods[$methName]['signature']))
@@ -328,9 +357,9 @@ class CI_Xmlrpcs extends CI_Xmlrpc
for ($n = 0, $mc = count($m->params); $n < $mc; $n++)
{
$p = $m->params[$n];
- $pt = ($p->kindOf() == 'scalar') ? $p->scalarval() : $p->kindOf();
+ $pt = ($p->kindOf() === 'scalar') ? $p->scalarval() : $p->kindOf();
- if ($pt != $current_sig[$n+1])
+ if ($pt !== $current_sig[$n+1])
{
$pno = $n+1;
$wanted = $current_sig[$n+1];
@@ -346,7 +375,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
}
//-------------------------------------
- // Calls the Function
+ // Calls the Function
//-------------------------------------
if ($objectCall === TRUE)
@@ -365,7 +394,6 @@ class CI_Xmlrpcs extends CI_Xmlrpc
else
{
return $this->object->$method_parts[1]($m);
- //return call_user_func(array(&$method_parts['0'],$method_parts['1']), $m);
}
}
}
@@ -378,7 +406,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
// --------------------------------------------------------------------
/**
- * Server Function: List Methods
+ * Server Function: List Methods
*
* @param mixed
* @return object
@@ -405,7 +433,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
// --------------------------------------------------------------------
/**
- * Server Function: Return Signature for Method
+ * Server Function: Return Signature for Method
*
* @param mixed
* @return object
@@ -439,13 +467,13 @@ class CI_Xmlrpcs extends CI_Xmlrpc
return new XML_RPC_Response(new XML_RPC_Values('undef', 'string'));
}
- return new XML_RPC_Response(0,$this->xmlrpcerr['introspect_unknown'], $this->xmlrpcstr['introspect_unknown']);
+ return new XML_RPC_Response(0, $this->xmlrpcerr['introspect_unknown'], $this->xmlrpcstr['introspect_unknown']);
}
// --------------------------------------------------------------------
/**
- * Server Function: Doc String for Method
+ * Server Function: Doc String for Method
*
* @param mixed
* @return object
@@ -470,7 +498,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
// --------------------------------------------------------------------
/**
- * Server Function: Multi-call
+ * Server Function: Multi-call
*
* @param mixed
* @return object
@@ -487,10 +515,8 @@ class CI_Xmlrpcs extends CI_Xmlrpc
foreach ($calls as $value)
{
- //$attempt = $this->_execute(new XML_RPC_Message($value[0], $value[1]));
-
$m = new XML_RPC_Message($value[0]);
- $plist='';
+ $plist = '';
for ($i = 0, $c = count($value[1]); $i < $c; $i++)
{
@@ -499,7 +525,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
$attempt = $this->_execute($m);
- if ($attempt->faultCode() != 0)
+ if ($attempt->faultCode() !== 0)
{
return $attempt;
}
@@ -513,14 +539,14 @@ class CI_Xmlrpcs extends CI_Xmlrpc
// --------------------------------------------------------------------
/**
- * Multi-call Function: Error Handling
+ * Multi-call Function: Error Handling
*
* @param mixed
* @return object
*/
public function multicall_error($err)
{
- $str = is_string($err) ? $this->xmlrpcstr["multicall_${err}"] : $err->faultString();
+ $str = is_string($err) ? $this->xmlrpcstr["multicall_${err}"] : $err->faultString();
$code = is_string($err) ? $this->xmlrpcerr["multicall_${err}"] : $err->faultCode();
$struct['faultCode'] = new XML_RPC_Values($code, 'int');
@@ -532,14 +558,14 @@ class CI_Xmlrpcs extends CI_Xmlrpc
// --------------------------------------------------------------------
/**
- * Multi-call Function: Processes method
+ * Multi-call Function: Processes method
*
* @param mixed
* @return object
*/
public function do_multicall($call)
{
- if ($call->kindOf() != 'struct')
+ if ($call->kindOf() !== 'struct')
{
return $this->multicall_error('notstruct');
}
@@ -548,14 +574,14 @@ class CI_Xmlrpcs extends CI_Xmlrpc
return $this->multicall_error('nomethod');
}
- list($scalar_type,$scalar_value)=each($methName->me);
- $scalar_type = $scalar_type == $this->xmlrpcI4 ? $this->xmlrpcInt : $scalar_type;
+ list($scalar_type, $scalar_value) = each($methName->me);
+ $scalar_type = $scalar_type === $this->xmlrpcI4 ? $this->xmlrpcInt : $scalar_type;
- if ($methName->kindOf() != 'scalar' OR $scalar_type != 'string')
+ if ($methName->kindOf() !== 'scalar' OR $scalar_type !== 'string')
{
return $this->multicall_error('notstring');
}
- elseif ($scalar_value == 'system.multicall')
+ elseif ($scalar_value === 'system.multicall')
{
return $this->multicall_error('recursion');
}
@@ -563,12 +589,12 @@ class CI_Xmlrpcs extends CI_Xmlrpc
{
return $this->multicall_error('noparams');
}
- elseif ($params->kindOf() != 'array')
+ elseif ($params->kindOf() !== 'array')
{
return $this->multicall_error('notarray');
}
- list($a,$b) = each($params->me);
+ list($a, $b) = each($params->me);
$msg = new XML_RPC_Message($scalar_value);
for ($i = 0, $numParams = count($b); $i < $numParams; $i++)
@@ -578,7 +604,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc
$result = $this->_execute($msg);
- if ($result->faultCode() != 0)
+ if ($result->faultCode() !== 0)
{
return $this->multicall_error($result);
}