X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=demo%2Fserver%2Fdiscuss.php;h=ac65209bd60f29a2aba902974d9c7a0596325b45;hb=52d0fcaf30f8185b1bf3e069eb065264bffb26f5;hp=dc4cd850ab2ccdf3631444201cd99e712b1d0790;hpb=26ac91603dc5dab166667622bbc5e7de6d585f3c;p=plcapi.git diff --git a/demo/server/discuss.php b/demo/server/discuss.php index dc4cd85..ac65209 100644 --- a/demo/server/discuss.php +++ b/demo/server/discuss.php @@ -1,124 +1,99 @@ decode($req); + $msgID = $n[0]; + $name = $n[1]; + $comment = $n[2]; - $dbh=dba_open("/tmp/comments.db", "c", "db2"); - if($dbh) - { - $countID="${msgID}_count"; - if(dba_exists($countID, $dbh)) - { - $count=dba_fetch($countID, $dbh); - } - else - { - $count=0; - } - // add the new comment in - dba_insert($msgID . "_comment_${count}", $comment, $dbh); - dba_insert($msgID . "_name_${count}", $name, $dbh); - $count++; - dba_replace($countID, $count, $dbh); - dba_close($dbh); - } - else - { - $err="Unable to open comments database."; - } - // if we generated an error, create an error return response - if($err) - { - return new xmlrpcresp(0, $xmlrpcerruser, $err); - } - else - { - // otherwise, we create the right response - // with the state name - return new xmlrpcresp(new xmlrpcval($count, "int")); - } - } + $dbh = dba_open("/tmp/comments.db", "c", "db2"); + if ($dbh) { + $countID = "${msgID}_count"; + if (dba_exists($countID, $dbh)) { + $count = dba_fetch($countID, $dbh); + } else { + $count = 0; + } + // add the new comment in + dba_insert($msgID . "_comment_${count}", $comment, $dbh); + dba_insert($msgID . "_name_${count}", $name, $dbh); + $count++; + dba_replace($countID, $count, $dbh); + dba_close($dbh); + } else { + $err = "Unable to open comments database."; + } + // if we generated an error, create an error return response + if ($err) { + return new PhpXmlRpc\Response(0, PhpXmlRpc\PhpXmlRpc::$xmlrpcerruser, $err); + } else { + // otherwise, we create the right response + return new PhpXmlRpc\Response(new PhpXmlRpc\Value($count, "int")); + } +} - $getcomments_sig=array(array($xmlrpcArray, $xmlrpcString)); +$getComments_sig = array(array(Value::$xmlrpcArray, Value::$xmlrpcString)); - $getcomments_doc='Returns an array of comments for a given ID, which +$getComments_doc = 'Returns an array of comments for a given ID, which is the sole argument. Each array item is a struct containing name and comment text.'; - function getcomments($m) - { - global $xmlrpcerruser; - $err=""; - $ra=array(); - // get the first param - if(XMLRPC_EPI_ENABLED == '1') - { - $msgID=xmlrpc_decode($m->getParam(0)); - } - else - { - $msgID=php_xmlrpc_decode($m->getParam(0)); - } - $dbh=dba_open("/tmp/comments.db", "r", "db2"); - if($dbh) - { - $countID="${msgID}_count"; - if(dba_exists($countID, $dbh)) - { - $count=dba_fetch($countID, $dbh); - for($i=0; $i<$count; $i++) - { - $name=dba_fetch("${msgID}_name_${i}", $dbh); - $comment=dba_fetch("${msgID}_comment_${i}", $dbh); - // push a new struct onto the return array - $ra[] = array( - "name" => $name, - "comment" => $comment - ); - } - } - } - // if we generated an error, create an error return response - if($err) - { - return new xmlrpcresp(0, $xmlrpcerruser, $err); - } - else - { - // otherwise, we create the right response - // with the state name - return new xmlrpcresp(php_xmlrpc_encode($ra)); - } - } +function getComments($req) +{ + $err = ""; + $ra = array(); + $encoder = new PhpXmlRpc\Encoder(); + $msgID = $encoder->decode($req->getParam(0)); + $dbh = dba_open("/tmp/comments.db", "r", "db2"); + if ($dbh) { + $countID = "${msgID}_count"; + if (dba_exists($countID, $dbh)) { + $count = dba_fetch($countID, $dbh); + for ($i = 0; $i < $count; $i++) { + $name = dba_fetch("${msgID}_name_${i}", $dbh); + $comment = dba_fetch("${msgID}_comment_${i}", $dbh); + // push a new struct onto the return array + $ra[] = array( + "name" => $name, + "comment" => $comment, + ); + } + } + } + // if we generated an error, create an error return response + if ($err) { + return new PhpXmlRpc\Response(0, PhpXmlRpc\PhpXmlRpc::$xmlrpcerruser, $err); + } else { + // otherwise, we create the right response + return new PhpXmlRpc\Response($encoder->encode($ra)); + } +} - $s = new xmlrpc_server(array( - "discuss.addComment" => array( - "function" => "addcomment", - "signature" => $addcomment_sig, - "docstring" => $addcomment_doc - ), - "discuss.getComments" => array( - "function" => "getcomments", - "signature" => $getcomments_sig, - "docstring" => $getcomments_doc - ) - )); -?> +$srv = new PhpXmlRpc\Server(array( + "discuss.addComment" => array( + "function" => "addComment", + "signature" => $addComment_sig, + "docstring" => $addComment_doc, + ), + "discuss.getComments" => array( + "function" => "getComments", + "signature" => $getComments_sig, + "docstring" => $getComments_doc, + ), +));