From eac74fee75e303f24899ee7d44df5b237643dcd6 Mon Sep 17 00:00:00 2001 From: Miles Lott Date: Mon, 20 Aug 2001 00:28:36 +0000 Subject: [PATCH] add xmlrpcs_logout() --- phpgwapi/inc/xml_functions.inc.php | 32 ++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/phpgwapi/inc/xml_functions.inc.php b/phpgwapi/inc/xml_functions.inc.php index b5c1a31d60..861ba4cfcd 100644 --- a/phpgwapi/inc/xml_functions.inc.php +++ b/phpgwapi/inc/xml_functions.inc.php @@ -669,8 +669,8 @@ return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$acct_data, 'struct')); } */ - $GLOBALS['_xmlrpcs_auth_sig'] = array(array(xmlrpcString,xmlrpcString,xmlrpcString,xmlrpcString)); - $GLOBALS['_xmlrpcs_auth_doc'] = 'phpGroupWare client or server login via XML-RPC'; + $GLOBALS['_xmlrpcs_login_sig'] = array(array(xmlrpcString,xmlrpcString,xmlrpcString,xmlrpcString)); + $GLOBALS['_xmlrpcs_login_doc'] = 'phpGroupWare client or server login via XML-RPC'; function _xmlrpcs_login($server,$m) { $server_name = $m->getParam(0); @@ -705,6 +705,29 @@ return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$rtrn,'struct')); } + $GLOBALS['_xmlrpcs_logout_sig'] = array(array(xmlrpcString,xmlrpcString,xmlrpcString)); + $GLOBALS['_xmlrpcs_logout_doc'] = 'phpGroupWare client or server logout via XML-RPC'; + function _xmlrpcs_logout($server,$m) + { + $xsessionid = $m->getParam(0); + $xkp3 = $m->getParam(1); + + $sessionid = $xsessionid->scalarval(); + $kp3 = $xkp3->scalarval(); + $later = $GLOBALS['phpgw']->session->destroy(); + + if($later) + { + $rtrn[] = CreateObject('phpgwapi.xmlrpcval','GOODBYE','string'); + $rtrn[] = CreateObject('phpgwapi.xmlrpcval','XOXO','string'); + } + else + { + $rtrn[] = CreateObject('phpgwapi.xmlrpcval','WHAT?','string'); + } + return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$rtrn,'struct')); + } + /* $GLOBALS['_xmlrpcs_dmap'] = array( 'system.listMethods' => array( @@ -760,6 +783,11 @@ 'function' => '_xmlrpcs_login', 'signature' => $GLOBALS['_xmlrpcs_login_sig'], 'docstring' => $GLOBALS['_xmlrpcs_login_doc'] + ), + 'system.logout' => array( + 'function' => '_xmlrpcs_logout', + 'signature' => $GLOBALS['_xmlrpcs_logout_sig'], + 'docstring' => $GLOBALS['_xmlrpcs_logout_doc'] ) );