[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] api/interface/class.interface_xmlrpc.php, 1.1.2.13
From: |
nomail |
Subject: |
[Phpgroupware-cvs] api/interface/class.interface_xmlrpc.php, 1.1.2.13 |
Date: |
Wed, 16 Jun 2004 17:13:32 +0200 |
Update of /api/interface
Modified Files:
Branch: proposal-branch
class.interface_xmlrpc.php
date: 2004/06/16 15:13:32; author: dcech; state: Exp; lines: +38 -57
Log Message:
major fixes in generated message format
=====================================================================
Index: api/interface/class.interface_xmlrpc.php
diff -u api/interface/class.interface_xmlrpc.php:1.1.2.12
api/interface/class.interface_xmlrpc.php:1.1.2.13
--- api/interface/class.interface_xmlrpc.php:1.1.2.12 Fri Apr 16 20:59:49 2004
+++ api/interface/class.interface_xmlrpc.php Wed Jun 16 15:13:32 2004
@@ -30,7 +30,7 @@
var $op;
var $inputs;
var $method_result;
- var $indent = '';
+ var $indent = ' ';
var $first_input = true;
function api_interface()
@@ -147,13 +147,13 @@
if(!empty($this->method_result))
{
- $response_packet .= "<params>\n";
+ $response_packet .=
str_repeat($this->indent,1)."<params>\n";
if(!is_array($this->method_result))
{
- $response_packet .= "<param>\n";
- $response_packet .=
$this->add_vars($this->method_result);
- $response_packet .= "</param>\n";
+ $response_packet .=
str_repeat($this->indent,2)."<param>\n";
+ $response_packet .=
$this->add_vars($this->method_result,3);
+ $response_packet .=
str_repeat($this->indent,2)."</param>\n";
}
else
{
@@ -162,24 +162,24 @@
$num =
count($this->method_result);
for ($i=0; $i < $num; $i++)
{
- $response_packet .=
"<param>\n";
- $response_packet .=
$this->add_vars($this->method_result[$i]);
- $response_packet .=
"</param>\n";
+ $response_packet .=
str_repeat($this->indent,2)."<param>\n";
+ $response_packet .=
$this->add_vars($this->method_result[$i],3);
+ $response_packet .=
str_repeat($this->indent,2)."</param>\n";
}
}
else
{
- $response_packet .= "<param>\n";
- $response_packet .= "<value>\n";
- $response_packet .=
$this->add_vars($this->method_result);
- $response_packet .=
"</value>\n";
- $response_packet .=
"</param>\n";
+ $response_packet .=
str_repeat($this->indent,2)."<param>\n";
+ $response_packet .=
str_repeat($this->indent,3)."<value>\n";
+ $response_packet .=
$this->add_vars($this->method_result,4);
+ $response_packet .=
str_repeat($this->indent,3)."</value>\n";
+ $response_packet .=
str_repeat($this->indent,2)."</param>\n";
}
}
- $response_packet .= "</params>\n";
+ $response_packet .=
str_repeat($this->indent,1)."</params>\n";
}
- $response_packet .= "</methodResponse>";
+ $response_packet .= '</methodResponse>';
return $this->output($response_packet);
}
@@ -428,55 +428,36 @@
}
}
- function add_vars($params)
+ function add_vars($params,$level = 0)
{
if(!is_array($params))
{
- $result =
"<value>".$this->add_params_type_handler($params)."</value>\n";
+ return
str_repeat($this->indent,$level).'<value>'.$this->add_params_type_handler($params)."</value>\n";
}
- else
+
+ if(array_key_exists(0,$params) || empty($params))
{
- if(array_key_exists(0,$params))
+ $result =
str_repeat($this->indent,$level)."<array>\n";
+ $result .=
str_repeat($this->indent,$level+1)."<data>\n";
+ foreach ($params as $val)
{
- $num = count($params);
- $result = "<array>\n<data>\n";
- for ($i=0; $i < $num; $i++)
- {
- if(is_array($params[$i]))
- {
- $result .=
$this->add_vars($params[$i]);
- }
- else
- {
- $result .=
"<value>".$this->add_params_type_handler($params[$i])."</value>\n";
- }
- }
-
- $result .= "</data>\n</array>\n";
+ $result .=
$this->add_vars($val,$level+2);
}
- else
+
+ $result .=
str_repeat($this->indent,$level+1)."</data>\n";
+ $result .=
str_repeat($this->indent,$level)."</array>\n";
+ }
+ else
+ {
+ $result =
str_repeat($this->indent,$level)."<struct>\n";
+ foreach ($params as $key => $val)
{
- $result = "<struct>\n";
- foreach($params as $key=>$val)
- {
- if(is_array($val))
- {
- $result .=
$this->add_vars($val);
- }
- else
- {
- $result .= "<member>\n";
- $result .=
"<name>".$key."</name>\n";
- $result .=
"<value>".$this->add_params_type_handler($val)."</value>\n";
- $result .=
"</member>\n";
- }
- }
- $result .= "</struct>\n";
- /* Im not clear why its double
struct'ing, but it is and this is how I fixed it for now /*
- /* If you dont like this hack, fix it.
Dan*/
- $result = str_replace
("<struct>\n<struct>\n", "<struct>\n", $result);
- $result = str_replace
("</struct>\n</struct>\n", "</struct>\n", $result);
+ $result .=
str_repeat($this->indent,$level+1)."<member>\n";
+ $result .=
str_repeat($this->indent,$level+2)."<name>".$key."</name>\n";
+ $result .=
$this->add_vars($val,$level+2);
+ $result .=
str_repeat($this->indent,$level+1)."</member>\n";
}
+ $result .=
str_repeat($this->indent,$level)."</struct>\n";
}
return $result;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] api/interface/class.interface_xmlrpc.php, 1.1.2.13,
nomail <=