- }
- else{
- $res = XDB::iterRow(
- "SELECT a.naissance AS age,
- adr.adr1, adr.adr2, adr.adr3,
- adr.postcode, adr.city, adr.country,
- adr.uid, adr.adrid
- FROM auth_user_md5 AS a
- INNER JOIN auth_user_quick AS q USING (user_id)
- LEFT JOIN adresses AS adr ON(adr.uid = a.user_id)
- WHERE a.matricule = {?} AND
- NOT FIND_IN_SET('pro', adr.statut)
- ORDER BY NOT FIND_IN_SET('active', adr.statut),
- FIND_IN_SET('res-secondaire', adr.statut),
- NOT FIND_IN_SET('courrier', adr.statut)", $params[1]);
- //traitement des adresses si necessaire
- if(list($age, $adr['adr1'], $adr['adr2'], $adr['adr3'], $adr['cp'], $adr['ville'],
- $adr['pays'], $uid, $adr['adrid']) = $res->next())
- {
- $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) {
+ } else {
+ $res = XDB::iterRow("SELECT p.birthdate, pa.text, pa.postalCode
+ gl.name, pa.countryId, p.pid, pa.id
+ FROM profiles AS p
+ LEFT JOIN profile_addresses AS pa ON (pa.pid = p.pid)
+ LEFT JOIN geoloc_localities AS gl ON (pl.id = pa.localityId)
+ WHERE p.xorg_id = {?} AND NOT FIND_IN_SET('job', pa.flags)
+ ORDER BY NOT FIND_IN_SET('current', pa.flags),
+ FIND_IN_SET('secondary', pa.flags),
+ NOT FIND_IN_SET('mail', pa.flags)",
+ $params[1]);
+ // Process the addresses we got.
+ if(list($age, $text, $adr['cp'], $adr['ville'],
+ $adr['pays'], $pid, $adr['adrid']) = $res->next()) {
+ list($adr['adr1'], $adr['adr2'], $adr['adr3']) =
+ explode("\n", Geocoder::getFirstLines($text, $adr['cp'], 3));
+ $sql = XDB::query("SELECT display_tel
+ FROM profile_phones
+ WHERE pid = {?} AND link_type = 'user' AND tel_type = 'mobile'
+ LIMIT 1", $pid);
+ if ($sql->numRows() > 0) {