Merge commit 'origin/master' into fusionax
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Mon, 29 Dec 2008 15:50:01 +0000 (16:50 +0100)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Mon, 29 Dec 2008 15:50:01 +0000 (16:50 +0100)
1  2 
include/user.func.inc.php

@@@ -586,24 -524,20 +586,21 @@@ function update_user_pro($uid, $entrid
  // {{{ function remove_user_pro()
  function remove_user_pro($uid, $entrid) {
      XDB::execute("DELETE FROM entreprises WHERE entrid = {?} AND uid = {?}", $entrid, $uid);
 +    XDB::execute("DELETE FROM profile_phones WHERE link_id = {?} AND uid = {?} AND link_type = 'pro'", $entrid, $uid);
  }
  // }}}
 -// {{{ function set_user_details()
 +// {{{ function set_user_details_addresses()
  function set_user_details_addresses($uid, $adrs) {
-     $res = XDB::query("SELECT adrid FROM adresses WHERE uid = {?} AND adrid >= 1 ORDER BY adrid", $uid);
-     $adrids = $res->fetchColumn();
+     $req = XDB::query('SELECT MAX(adrid) + 1
+                          FROM adresses
+                         WHERE uid = {?}', $uid);
+     $adrid = $req->fetchOneCell();
+     if (is_null($adrid)) {
+         $adrid = 0;
+     }
      foreach ($adrs as $adr) {
-         if (isset($adr['adrid']) && isset($adr['remove']) && $adr['remove']) {
-             remove_user_address($uid, $adr['adrid']);
-             if (isset($adrids[$adr['adrid']])) unset($adrids[$adr['adrid']]);
-         } else if (isset($adr['adrid'])) {
-             update_user_address($uid, $adr['adrid'], $adr);
-         } else {
-             for ($adrid = 1; isset($adrids[$adrid-1]) && ($adrids[$adrid-1] == $adrid); $adrid++);
-             add_user_address($uid, $adrid, $adr);
-             $adrids[$adrid-1] = $adrid;
-         }
+         add_user_address($uid, $adrid, $adr);
+         ++$adrid;
      }
      require_once 'geoloc.inc.php';
      localize_addresses($uid);