From 436e5ff37712c84329b5bd7822712ea9574fee16 Mon Sep 17 00:00:00 2001 From: x2000lajoie Date: Sun, 18 Sep 2005 18:08:13 +0000 Subject: [PATCH] New webservice for Manageurs.com Inscription for new user git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@36 839d8a87-29fc-0310-9880-83ba4fa771e5 --- htdocs/webservices/manageurs.php | 6 +---- include/webservices/manageurs.server.inc.php | 39 ++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/htdocs/webservices/manageurs.php b/htdocs/webservices/manageurs.php index 4db6f6b..237989b 100644 --- a/htdocs/webservices/manageurs.php +++ b/htdocs/webservices/manageurs.php @@ -23,21 +23,17 @@ require_once('xorg.inc.php'); require_once('webservices/manageurs.server.inc.php'); $ips = array_flip(split(' ',$globals->manageurs->authorized_ips)); - if($ips && isset($ips[$_SERVER['REMOTE_ADDR']])){ - $server = xmlrpc_server_create(); xmlrpc_server_register_method($server, "get_annuaire_infos", "get_annuaire_infos"); + xmlrpc_server_register_method($server, "get_nouveau_infos", "get_nouveau_infos"); $request = $GLOBALS['HTTP_RAW_POST_DATA']; - $response = xmlrpc_server_call_method($server, $request, null); header('Content-Type: text/xml'); print $response; - xmlrpc_server_destroy($server); } - ?> diff --git a/include/webservices/manageurs.server.inc.php b/include/webservices/manageurs.server.inc.php index 25cb186..159268a 100644 --- a/include/webservices/manageurs.server.inc.php +++ b/include/webservices/manageurs.server.inc.php @@ -17,6 +17,8 @@ $error_key = "You didn't provide me with a valid cipher key..."; function get_annuaire_infos($method, $params) { global $error_mat, $error_key, $globals; + + //verif du mdp if(!isset($params[0]) || ($params[0] != $globals->manageurs->manageurs_pass)){return false;} //si on a adresse == -1 => on ne recupère aucune adresse @@ -50,7 +52,7 @@ function get_annuaire_infos($method, $params) { } - //traitement des adresss si necessaire + //traitement des adresses si necessaire if (isset($params[2])) { if(list($cell, $age, $adr['adr1'], $adr['adr2'], $adr['adr3'], $adr['cp'], $adr['ville'], $adr['pays'], $adr['tel'], $adr['fax']) = $res->next()) @@ -117,8 +119,41 @@ function get_annuaire_infos($method, $params) { } else {//le matricule n'etait pas en argument $args = array("erreur" => 1, "erreurstring" => $error_mat); $reply = xmlrpc_encode_request(NULL,$args); - } + } + return $reply; } +function get_nouveau_infos($method, $params) { + global $error_mat, $error_key, $globals; + //verif du mdp + if(!isset($params[0]) || ($params[0] != $globals->manageurs->manageurs_pass)){return false;} + if( !empty($params[1]) ){ // on verifie qu'on a bien un matricule + + $res = $globals->xdb->query( + "SELECT a.nom, a.nom_usage,a.prenom,a.flags='femme' as femme ,a.deces!= 0 as decede ,a.naissance,a.promo,al.alias as mail + FROM auth_user_md5 AS a + INNER JOIN aliases as al ON a.user_id=al.id + WHERE al.flags='bestalias' and a.matricule = {?}",$params[1]); + $data=$res->fetchOneAssoc(); + //$data['mail'].='@polytechnique.org'; + + + //on commence le cryptage des donnees + if (manageurs_encrypt_init($params[1]) == 1) {//on a pas trouve la cle pour crypter + $args = array("erreur" => 3, "erreurstring" => $error_key); + $reply = xmlrpc_encode_request(NULL,$args); + } else { + $reply = manageurs_encrypt_array($data); + manageurs_encrypt_close(); + } + + } + else{ + $reply=false; + } + return $reply; + +} + ?> -- 2.1.4