XMLRPC library frmo PEAR used
- solved bug: http://bugs.campware.org/view.php?id=480
This commit is contained in:
parent
44c38ddaf9
commit
ba315ed7d4
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: tomas $
|
Author : $Author: tomas $
|
||||||
Version : $Revision: 1.5 $
|
Version : $Revision: 1.6 $
|
||||||
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/xmlrpc/xrLocStor.php,v $
|
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/xmlrpc/xrLocStor.php,v $
|
||||||
|
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
@ -48,15 +48,14 @@ ini_set("error_append_string", "</string></value>
|
||||||
</methodResponse>");
|
</methodResponse>");
|
||||||
header("Content-type: text/xml");
|
header("Content-type: text/xml");
|
||||||
|
|
||||||
include_once "xmlrpc.inc";
|
require_once "XML/RPC/Server.php";
|
||||||
include_once "xmlrpcs.inc";
|
|
||||||
require_once '../conf.php';
|
require_once '../conf.php';
|
||||||
require_once 'DB.php';
|
require_once 'DB.php';
|
||||||
require_once '../LocStor.php';
|
require_once '../LocStor.php';
|
||||||
|
|
||||||
function errHndl($errno, $errmsg, $filename, $linenum, $vars){
|
function errHndl($errno, $errmsg, $filename, $linenum, $vars){
|
||||||
if($errno == 8 /*E_NOTICE*/) return;
|
if($errno == 8 /*E_NOTICE*/) return;
|
||||||
$xr =& new xmlrpcresp(0, 805,
|
$xr =& new XML_RPC_Response(0, 805,
|
||||||
"ERROR:xrLoctor: $errno $errmsg ($filename:$linenum)");
|
"ERROR:xrLoctor: $errno $errmsg ($filename:$linenum)");
|
||||||
header("Content-type: text/xml");
|
header("Content-type: text/xml");
|
||||||
echo $xr->serialize();
|
echo $xr->serialize();
|
||||||
|
@ -85,13 +84,13 @@ class XR_LocStor extends LocStor{
|
||||||
if($struct) $r[$k]=$this->_v2xr($v);
|
if($struct) $r[$k]=$this->_v2xr($v);
|
||||||
else $r[]=$this->_v2xr($v);
|
else $r[]=$this->_v2xr($v);
|
||||||
}
|
}
|
||||||
return new xmlrpcval($r, ($struct ? "struct" : "array"));
|
return new XML_RPC_Value($r, ($struct ? "struct" : "array"));
|
||||||
}else if(is_int($var)){
|
}else if(is_int($var)){
|
||||||
return new xmlrpcval($var, "int");
|
return new XML_RPC_Value($var, "int");
|
||||||
}else if(is_bool($var)){
|
}else if(is_bool($var)){
|
||||||
return new xmlrpcval($var, "boolean");
|
return new XML_RPC_Value($var, "boolean");
|
||||||
}else{
|
}else{
|
||||||
return new xmlrpcval($var, "string");
|
return new XML_RPC_Value($var, "string");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -108,7 +107,7 @@ class XR_LocStor extends LocStor{
|
||||||
while(list($k,$v) = $p->structeach()){ $r[$k] = $v->scalarval(); }
|
while(list($k,$v) = $p->structeach()){ $r[$k] = $v->scalarval(); }
|
||||||
return array(TRUE, $r);
|
return array(TRUE, $r);
|
||||||
}
|
}
|
||||||
else return array(FALSE, new xmlrpcresp(0, 801,
|
else return array(FALSE, new XML_RPC_Response(0, 801,
|
||||||
"wrong 1st parameter, struct expected."
|
"wrong 1st parameter, struct expected."
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
@ -124,7 +123,7 @@ class XR_LocStor extends LocStor{
|
||||||
{
|
{
|
||||||
list($ok, $r) = $this->_xr_getPars($input);
|
list($ok, $r) = $this->_xr_getPars($input);
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
return new xmlrpcresp($this->_v2xr(array(
|
return new XML_RPC_Response($this->_v2xr(array(
|
||||||
'str'=>strtoupper($r['teststring']),
|
'str'=>strtoupper($r['teststring']),
|
||||||
'login'=>$this->getSessLogin($r['sessid']),
|
'login'=>$this->getSessLogin($r['sessid']),
|
||||||
'sessid'=>$r['sessid']
|
'sessid'=>$r['sessid']
|
||||||
|
@ -167,10 +166,10 @@ class XR_LocStor extends LocStor{
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
$res = $this->authenticate($r['login'], $r['pass']);
|
$res = $this->authenticate($r['login'], $r['pass']);
|
||||||
if(PEAR::isError($res)){
|
if(PEAR::isError($res)){
|
||||||
return new xmlrpcresp(0, 804,"xr_authenticate: database error");
|
return new XML_RPC_Response(0, 804,"xr_authenticate: database error");
|
||||||
}
|
}
|
||||||
$retval = ($res !== FALSE);
|
$retval = ($res !== FALSE);
|
||||||
return new xmlrpcresp(new xmlrpcval($retval, "boolean"));
|
return new XML_RPC_Response(new XML_RPC_Value($retval, "boolean"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -214,14 +213,14 @@ class XR_LocStor extends LocStor{
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
$res = $this->login($r['login'], $r['pass']);
|
$res = $this->login($r['login'], $r['pass']);
|
||||||
if(PEAR::isError($res)){
|
if(PEAR::isError($res)){
|
||||||
return new xmlrpcresp(0, 804,"xr_login: database error");
|
return new XML_RPC_Response(0, 804,"xr_login: database error");
|
||||||
}
|
}
|
||||||
if($res === FALSE)
|
if($res === FALSE)
|
||||||
return new xmlrpcresp(0, 802,
|
return new XML_RPC_Response(0, 802,
|
||||||
"xr_login: login failed - incorrect username or password."
|
"xr_login: login failed - incorrect username or password."
|
||||||
);
|
);
|
||||||
else
|
else
|
||||||
return new xmlrpcresp($this->_v2xr($res, false));
|
return new XML_RPC_Response($this->_v2xr($res, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -260,9 +259,9 @@ class XR_LocStor extends LocStor{
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
$res = $this->logout($r['sessid']);
|
$res = $this->logout($r['sessid']);
|
||||||
if(!PEAR::isError($res))
|
if(!PEAR::isError($res))
|
||||||
return new xmlrpcresp($this->_v2xr('Bye', false));
|
return new XML_RPC_Response($this->_v2xr('Bye', false));
|
||||||
else
|
else
|
||||||
return new xmlrpcresp(0, 803,
|
return new XML_RPC_Response(0, 803,
|
||||||
"xr_logout: logout failed - not logged."
|
"xr_logout: logout failed - not logged."
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -306,11 +305,11 @@ class XR_LocStor extends LocStor{
|
||||||
$res = $this->existsAudioClip($r['sessid'], $r['gunid']);
|
$res = $this->existsAudioClip($r['sessid'], $r['gunid']);
|
||||||
#$this->debugLog($res);
|
#$this->debugLog($res);
|
||||||
if(PEAR::isError($res))
|
if(PEAR::isError($res))
|
||||||
return new xmlrpcresp(0, 805,
|
return new XML_RPC_Response(0, 805,
|
||||||
"xr_existsAudioClip: ".$res->getMessage().
|
"xr_existsAudioClip: ".$res->getMessage().
|
||||||
" ".$res->getUserInfo()
|
" ".$res->getUserInfo()
|
||||||
);
|
);
|
||||||
return new xmlrpcresp(new xmlrpcval($res, "boolean"));
|
return new XML_RPC_Response(new XML_RPC_Value($res, "boolean"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -354,9 +353,9 @@ class XR_LocStor extends LocStor{
|
||||||
$r['sessid'], $r['gunid'], $r['mediaFileLP'], $r['mdataFileLP']
|
$r['sessid'], $r['gunid'], $r['mediaFileLP'], $r['mdataFileLP']
|
||||||
);
|
);
|
||||||
if(!PEAR::isError($res))
|
if(!PEAR::isError($res))
|
||||||
return new xmlrpcresp(new xmlrpcval($res, "string"));
|
return new XML_RPC_Response(new XML_RPC_Value($res, "string"));
|
||||||
else
|
else
|
||||||
return new xmlrpcresp(0, 805,
|
return new XML_RPC_Response(0, 805,
|
||||||
"xr_storeAudioClip: ".$res->getMessage().
|
"xr_storeAudioClip: ".$res->getMessage().
|
||||||
" ".$res->getUserInfo()
|
" ".$res->getUserInfo()
|
||||||
);
|
);
|
||||||
|
@ -399,9 +398,9 @@ class XR_LocStor extends LocStor{
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
$res = $this->deleteAudioClip($r['sessid'], $r['gunid']);
|
$res = $this->deleteAudioClip($r['sessid'], $r['gunid']);
|
||||||
if(!PEAR::isError($res))
|
if(!PEAR::isError($res))
|
||||||
return new xmlrpcresp(new xmlrpcval($res, "boolean"));
|
return new XML_RPC_Response(new XML_RPC_Value($res, "boolean"));
|
||||||
else
|
else
|
||||||
return new xmlrpcresp(0, 805,
|
return new XML_RPC_Response(0, 805,
|
||||||
"xr_deleteAudioClip: ".$res->getMessage().
|
"xr_deleteAudioClip: ".$res->getMessage().
|
||||||
" ".$res->getUserInfo()
|
" ".$res->getUserInfo()
|
||||||
);
|
);
|
||||||
|
@ -447,9 +446,9 @@ class XR_LocStor extends LocStor{
|
||||||
$r['sessid'], $r['gunid'], $r['mdataFileLP']
|
$r['sessid'], $r['gunid'], $r['mdataFileLP']
|
||||||
);
|
);
|
||||||
if(!PEAR::isError($res))
|
if(!PEAR::isError($res))
|
||||||
return new xmlrpcresp(new xmlrpcval($res, "boolean"));
|
return new XML_RPC_Response(new XML_RPC_Value($res, "boolean"));
|
||||||
else
|
else
|
||||||
return new xmlrpcresp(0, 805,
|
return new XML_RPC_Response(0, 805,
|
||||||
"xr_updateAudioClip: ".$res->getMessage().
|
"xr_updateAudioClip: ".$res->getMessage().
|
||||||
" ".$res->getUserInfo()
|
" ".$res->getUserInfo()
|
||||||
);
|
);
|
||||||
|
@ -496,9 +495,9 @@ class XR_LocStor extends LocStor{
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
$res = $this->searchMetadata($r['sessid'], $r['criteria']);
|
$res = $this->searchMetadata($r['sessid'], $r['criteria']);
|
||||||
if(!PEAR::isError($res))
|
if(!PEAR::isError($res))
|
||||||
return new xmlrpcresp(new xmlrpcval($res, "boolean"));
|
return new XML_RPC_Response(new XML_RPC_Value($res, "boolean"));
|
||||||
else
|
else
|
||||||
return new xmlrpcresp(0, 803,
|
return new XML_RPC_Response(0, 803,
|
||||||
"xr_searchAudioClip: ".$res->getMessage().
|
"xr_searchAudioClip: ".$res->getMessage().
|
||||||
" ".$res->getUserInfo()
|
" ".$res->getUserInfo()
|
||||||
);
|
);
|
||||||
|
@ -541,9 +540,9 @@ class XR_LocStor extends LocStor{
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
$res = $this->accessRawAudioData($r['sessid'], $r['gunid']);
|
$res = $this->accessRawAudioData($r['sessid'], $r['gunid']);
|
||||||
if(!PEAR::isError($res))
|
if(!PEAR::isError($res))
|
||||||
return new xmlrpcresp(new xmlrpcval($res, "string"));
|
return new XML_RPC_Response(new XML_RPC_Value($res, "string"));
|
||||||
else
|
else
|
||||||
return new xmlrpcresp(0, 805,
|
return new XML_RPC_Response(0, 805,
|
||||||
"xr_accessRawAudioData: ".$res->getMessage().
|
"xr_accessRawAudioData: ".$res->getMessage().
|
||||||
" ".$res->getUserInfo()
|
" ".$res->getUserInfo()
|
||||||
);
|
);
|
||||||
|
@ -587,9 +586,9 @@ class XR_LocStor extends LocStor{
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
$res = $this->releaseRawAudioData($r['sessid'], $r['tmpLink']);
|
$res = $this->releaseRawAudioData($r['sessid'], $r['tmpLink']);
|
||||||
if(!PEAR::isError($res))
|
if(!PEAR::isError($res))
|
||||||
return new xmlrpcresp(new xmlrpcval($res, "boolean"));
|
return new XML_RPC_Response(new XML_RPC_Value($res, "boolean"));
|
||||||
else
|
else
|
||||||
return new xmlrpcresp(0, 805,
|
return new XML_RPC_Response(0, 805,
|
||||||
"xr_releaseRawAudioData: ".$res->getMessage().
|
"xr_releaseRawAudioData: ".$res->getMessage().
|
||||||
" ".$res->getUserInfo()
|
" ".$res->getUserInfo()
|
||||||
);
|
);
|
||||||
|
@ -632,9 +631,9 @@ class XR_LocStor extends LocStor{
|
||||||
if(!$ok) return $r;
|
if(!$ok) return $r;
|
||||||
$res = $this->getAudioClip($r['sessid'], $r['gunid']);
|
$res = $this->getAudioClip($r['sessid'], $r['gunid']);
|
||||||
if(!PEAR::isError($res))
|
if(!PEAR::isError($res))
|
||||||
return new xmlrpcresp(new xmlrpcval($res, "string"));
|
return new XML_RPC_Response(new XML_RPC_Value($res, "string"));
|
||||||
else
|
else
|
||||||
return new xmlrpcresp(0, 805,
|
return new XML_RPC_Response(0, 805,
|
||||||
"xr_getAudioClip: ".$res->getMessage()." ".$res->getUserInfo()
|
"xr_getAudioClip: ".$res->getMessage()." ".$res->getUserInfo()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -665,10 +664,23 @@ $methods = array(
|
||||||
$defs = array();
|
$defs = array();
|
||||||
foreach($methods as $method=>$description){
|
foreach($methods as $method=>$description){
|
||||||
$defs["locstor.$method"] = array(
|
$defs["locstor.$method"] = array(
|
||||||
"function" => array(&$locStor, "xr_$method"),
|
# "function" => array(&$locStor, "xr_$method"),
|
||||||
"signature" => array(array($xmlrpcStruct, $xmlrpcStruct)),
|
"function" => "\$GLOBALS['locStor']->xr_$method",
|
||||||
|
"signature" => array(
|
||||||
|
array($GLOBALS['XML_RPC_Struct'], $GLOBALS['XML_RPC_Struct'])
|
||||||
|
),
|
||||||
"docstring" => $description
|
"docstring" => $description
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$s=new xmlrpc_server( $defs );
|
$s=new XML_RPC_Server( $defs );
|
||||||
|
|
||||||
|
#$s=new XML_RPC_Server( $defs , 0 );
|
||||||
|
##var_dump($s);
|
||||||
|
#$r = $s->parseRequest();
|
||||||
|
#$r = $r[0];
|
||||||
|
#var_dump($r);
|
||||||
|
#echo ($cn = get_class($r))."\n";
|
||||||
|
#$a = get_class_methods($cn);
|
||||||
|
#var_dump($a);
|
||||||
|
#echo $r->serialize();
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue