[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.22
From: |
nomail |
Subject: |
[Phpgroupware-cvs] api/interface/class.interface_xmlrpc.php, 1.1.2.22 |
Date: |
Sun, 25 Jul 2004 18:20:08 +0200 |
Update of /api/interface
Modified Files:
Branch: proposal-branch
class.interface_xmlrpc.php
date: 2004/07/25 16:20:08; author: dcech; state: Exp; lines: +42 -4
Log Message:
fixed passing login and session vars for xmlrpc interface
added xmlrpc_base64 type
changed ADODB fetch mode to ASSOC
cleaned up auth code in api_phpgw
modified check_op for speed
=====================================================================
Index: api/interface/class.interface_xmlrpc.php
diff -u api/interface/class.interface_xmlrpc.php:1.1.2.21
api/interface/class.interface_xmlrpc.php:1.1.2.22
--- api/interface/class.interface_xmlrpc.php:1.1.2.21 Mon Jun 28 14:12:57 2004
+++ api/interface/class.interface_xmlrpc.php Sun Jul 25 16:20:08 2004
@@ -66,9 +66,8 @@
function good_login()
{
- $newsid = $GLOBALS['phpgw']->session->sid();
- $result = "<?xml
version=\"1.0\"?>\n<methodResponse>\n<params>\n<param>\n<value>\n<base64>".base64_encode($newsid)."</base64>\n</value>\n</param>\n</params>\n</methodResponse>";
- echo $this->output($result);
+ $result = new
xmlrpc_base64($GLOBALS['phpgw']->session->sid());
+ echo $this->output($this->response($result));
exit;
}
@@ -196,6 +195,20 @@
{
$this->inputs =
$this->parse_param($request['params']['param']);
}
+
+ // export login vars and session id
+ if(isset($this->inputs['phpgw_user']))
+ {
+ $_GET['phpgw_user'] =
$this->inputs['phpgw_user'];
+ }
+ if(isset($this->inputs['phpgw_pass']))
+ {
+ $_GET['phpgw_pass'] =
$this->inputs['phpgw_pass'];
+ }
+ if(isset($this->inputs['sid']))
+ {
+ $_GET['sid'] = $this->inputs['sid'];
+ }
}
function parse_param($param)
@@ -322,6 +335,11 @@
break;
}
case 'object': // objects or associative arrays
+ if (is_object($params) &&
get_class($params) == 'xmlrpc_base64')
+ {
+ return
$this->add_vars($params->encode(),$level);
+ }
+
$result .=
str_repeat($this->indent,$level+1)."<struct>\n";
foreach ($params as $key => $val)
{
@@ -488,3 +506,23 @@
return $error_result;
}
}
+
+ class xmlrpc_base64
+ {
+ var $value;
+
+ function xmlrpc_base64($value = '')
+ {
+ $this->value = $value;
+ }
+
+ function decode()
+ {
+ return base64_decode($this->value);
+ }
+
+ function encode()
+ {
+ return base64_encode($this->value);
+ }
+ }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] api/interface/class.interface_xmlrpc.php, 1.1.2.22,
nomail <=