X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fwebservices%2Fmanageurs.server.inc.php;h=89b1b59bbbf258608eaf397e2fa28cffed961221;hb=1760b3f7f98eabdd4506211ce17be472734e6192;hp=8fbd891f1502ade123cc5cb189c24665362be6ca;hpb=206e75c35f721f74c7d412d763e4c7ec8a620a5a;p=platal.git diff --git a/include/webservices/manageurs.server.inc.php b/include/webservices/manageurs.server.inc.php index 8fbd891..89b1b59 100644 --- a/include/webservices/manageurs.server.inc.php +++ b/include/webservices/manageurs.server.inc.php @@ -27,15 +27,16 @@ function get_annuaire_infos($method, $params) { //on ne recupere pas les adresses inutilement if(!isset($params[2])){ $res = XDB::iterRow( - "SELECT q.profile_mobile AS cell, a.naissance AS age - FROM auth_user_md5 AS a - INNER JOIN auth_user_quick AS q USING (user_id) - WHERE a.matricule = {?}", $params[1]); + "SELECT ph.display_tel AS cell, a.naissance AS age + FROM auth_user_md5 AS a + INNER JOIN auth_user_quick AS q USING (user_id) + LEFT JOIN profile_phones AS ph ON (ph.uid = a.user_id AND link_type='user' AND tel_type = 'mobile') + WHERE a.matricule = {?} LIMIT 1", $params[1]); $array = $res->next(); } else{ $res = XDB::iterRow( - "SELECT q.profile_mobile AS cell, a.naissance AS age, + "SELECT a.naissance AS age, adr.adr1, adr.adr2, adr.adr3, adr.postcode, adr.city, adr.country, adr.uid, adr.adrid @@ -48,10 +49,18 @@ function get_annuaire_infos($method, $params) { FIND_IN_SET('res-secondaire', adr.statut), NOT FIND_IN_SET('courrier', adr.statut)", $params[1]); //traitement des adresses si necessaire - if(list($cell, $age, $adr['adr1'], $adr['adr2'], $adr['adr3'], $adr['cp'], $adr['ville'], + if(list($age, $adr['adr1'], $adr['adr2'], $adr['adr3'], $adr['cp'], $adr['ville'], $adr['pays'], $uid, $adr['adrid']) = $res->next()) { - $array['cell'] = $cell; + $sql = XDB::query("SELECT display_tel + FROM profile_phones + WHERE uid ={?} AND link_type = 'user' AND tel_type = 'mobile' + LIMIT 1", $uid); + if ($sql->numRows()>0) { + $array['cell'] = $sql->fetchOneCell(); + } else { + $array['cell'] =''; + } $array['age'] = $age; $array['adresse'][] = $adr; @@ -61,7 +70,7 @@ function get_annuaire_infos($method, $params) { if ($adresse != 1) { //on ne veut pas la premiere adresse $i = 2; - while(list($cell, $age, $adr['adr1'], $adr['adr2'], $adr['adr3'], $adr['cp'], $adr['ville'], + while(list($age, $adr['adr1'], $adr['adr2'], $adr['adr3'], $adr['cp'], $adr['ville'], $adr['pays'], , $adr['adrid']) = $res->next()) { if($adresse == $i){//si on veut cette adresse en particulier @@ -75,24 +84,24 @@ function get_annuaire_infos($method, $params) { $i++; } } - + // on rajoute les numéros de tél $adrid_index = array(); foreach ($array['adresse'] as $i => $a) $adrid_index[$a['adrid']] = $i; // on rajoute les numéros de tels $restel = XDB::iterator( - "SELECT t.tel, t.tel_type, t.adrid - FROM tels AS t - INNER JOIN adresses AS a ON (t.adrid = a.adrid AND t.uid = a.uid) - WHERE t.uid = {?} AND NOT FIND_IN_SET('pro', a.statut)", $uid); + "SELECT t.display_tel AS tel, t.tel_type, t.link_id as adrid + FROM profile_phones AS t + INNER JOIN adresses AS a ON (t.link_id = a.adrid AND t.uid = a.uid) + WHERE t.uid = {?} AND t.link_type = 'address' AND NOT FIND_IN_SET('pro', a.statut)", $uid); while ($tel = $restel->next()) $array['adresse'][$adrid_index[$tel['adrid']]]['tels'][] = $tel; foreach ($array['adresse'] as $i => $adr) { unset($lasttel); foreach($adr['tels'] as $j => $t){ - if (!isset($array['adresse'][$i]['tel']) && (strpos($t['tel_type'], 'Tél') === 0)) $array['adresse'][$i]['tel'] = $t['tel']; + if (!isset($array['adresse'][$i]['tel']) && (strpos($t['tel_type'], 'Tél') === 0)) $array['adresse'][$i]['tel'] = $t['tel']; elseif (!isset($array['adresse'][$i]['fax']) && (strpos($t['tel_type'], 'Fax') === 0)) $array['adresse'][$i]['fax'] = $t['tel']; else $lasttel = $t['tel']; - if (isset($array['adresse'][$i]['tel']) && isset($array['adresse'][$i]['fax'])) break; + if (isset($array['adresse'][$i]['tel']) && isset($array['adresse'][$i]['fax'])) break; } if (!isset($array['adresse'][$i]['tel']) && isset($lasttel)) $array['adresse'][$i]['tel'] = $lasttel; @@ -137,9 +146,9 @@ function get_annuaire_infos($method, $params) { $args = array("erreur" => 1, "erreurstring" => $error_mat); $reply = xmlrpc_encode_request(NULL,$args); } - - return $reply; -} + + return $reply; +} function get_nouveau_infos($method, $params) { global $error_mat, $error_key, $globals; @@ -149,14 +158,14 @@ function get_nouveau_infos($method, $params) { $res = XDB::query( "SELECT a.nom, a.nom_usage,a.prenom, FIND_IN_SET('femme', a.flags) as femme ,a.deces!= 0 as decede , - a.naissance, a.promo, concat(al.alias, '@m4x.org') as mail + a.naissance, a.promo, concat(al.alias, '@m4x.org') 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);