fetchOneCell(); if (!$newid) $newid = 0; XDB::execute( "INSERT INTO tels SET tel_type = {?}, tel_pub = {?}, tel = {?}, uid = {?}, adrid = {?}, telid = {?}", $tel['tel_type'], $tel['tel_pub'], $tel['tel'], S::v('uid', -1), $adrid, $newid); } foreach ($adresses as $adrid => $adr) { if ($adr['nouvelle'] != 'new') { // test si on vient de creer cette adresse dans verif_adresse.inc.php //construction des bits $statut = ""; if ($adr["secondaire"]) $statut .= 'res-secondaire,'; if ($adr["courrier"]) $statut .= 'courrier,'; if ($adr["active"]) $statut .= 'active,'; if ($adr["temporaire"]) $statut .= 'temporaire,'; if (! empty($statut)) $statut = substr($statut, 0, -1); $precise_coords = ""; if (isset($adr['precise_lat']) && isset($adr['precise_lon'])) { $precise_coords = ", glat = '".$adr['precise_lat']."'"; $precise_coords .= ", glng = '".$adr['precise_lon']."'"; } if ($adr["nouvelle"] == 'ajout') { //nouvelle adresse if (is_adr_empty($adrid)) { unset($adresses[$adrid]); continue; } echo "Nouveau pas vide"; XDB::execute("INSERT INTO adresses SET adr1 = {?}, adr2 = {?}, adr3 = {?}, postcode = {?}, city = {?}, cityid = {?}, country = {?}, region = {?}, regiontxt = {?}, pub = {?}, datemaj = NOW(), statut = {?}, uid = {?}, adrid = {?}".$precise_coords, $adr['adr1'], $adr['adr2'], $adr['adr3'], $adr['postcode'], $adr['city'], $adr['cityid'], $adr['country'], $adr['region'], $adr['regiontxt'], $adr['pub'], $statut, S::v('uid', -1), $adrid); $telsvalues = ""; foreach ($adr['tels'] as $tel) { insert_new_tel($adrid, $tel); } } else { //c'est une mise à jour XDB::execute("UPDATE adresses SET adr1 = {?}, adr2 = {?}, adr3 = {?}, postcode = {?}, city = {?}, cityid = {?}, country = {?}, region = {?}, regiontxt = {?}, pub = {?}, datemaj = NOW(), statut = {?}".$precise_coords." WHERE uid = {?} AND adrid = {?}", $adr['adr1'], $adr['adr2'], $adr['adr3'], $adr['postcode'], $adr['city'], $adr['cityid'], $adr['country'], $adr['region'], $adr['regiontxt'], $adr['pub'], $statut, S::v('uid', -1), $adrid); foreach ($adr['tels'] as $tel) { if (isset($tel['new_tel'])) { if ($tel['new_tel']) insert_new_tel($adrid, $tel); } else { if ($tel['tel'] != "") { XDB::execute( "UPDATE tels SET tel_type = {?}, tel_pub = {?}, tel = {?} WHERE uid = {?} AND adrid = {?} AND telid = {?}", $tel['tel_type'], $tel['tel_pub'], $tel['tel'], S::v('uid', -1), $adrid, $tel['telid']); } else { XDB::execute( "DELETE FROM tels WHERE uid = {?} AND adrid = {?} AND telid = {?}", S::v('uid', -1), $adrid, $tel['telid']); } } } }// fin nouvelle / ancienne adresse }//fin if nouvellement crée }//fin foreach //on vire les adresses vides : if(isset($adresses)){ // s'il y en a reset($adresses); foreach($adresses as $adrid => $adr){ // on vire les tels vides foreach ($adr['tels'] as $telid => $tel) { if ($tel['tel'] == '') unset($adresses[$adrid]['tels'][$telid]); } if(is_adr_empty($adrid)){ delete_address($adrid); } } } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>