X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fuser.func.inc.php;h=1a07456a936ff7b9f9439d31e9c12bcffb5932a0;hb=f3a7456dbe1cbe78dfe0ccc2e99c299ad97203c5;hp=84aaa8c9ce7db2b842c8fa4ce5f2ded519763c8a;hpb=de14933c384281bfc5571b8b3d7d7ac94b04bc48;p=platal.git diff --git a/include/user.func.inc.php b/include/user.func.inc.php index 84aaa8c..1a07456 100644 --- a/include/user.func.inc.php +++ b/include/user.func.inc.php @@ -1,6 +1,6 @@ = 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++); + if (!@$adr['remove']) { add_user_address($uid, $adrid, $adr); - $adrids[$adrid-1] = $adrid; + ++$adrid; } } require_once 'geoloc.inc.php'; @@ -549,17 +553,17 @@ function set_user_details_addresses($uid, $adrs) { function set_user_details_pro($uid, $pros) { - $res = XDB::query("SELECT entrid FROM entreprises WHERE uid = {?} ORDER BY entrid", $uid); - $entrids = $res->fetchColumn(); + $req = XDB::query('SELECT MAX(entrid) + 1 + FROM entreprises + WHERE uid = {?}', $uid); + $entrid = $req->fetchOneCell(); + if (is_null($entrid)) { + $entrid = 0; + } foreach ($pros as $pro) { - if (isset($pro['entrid']) && isset($pro['remove']) && $pro['remove']) { - remove_user_pro($uid, $pro['entrid']); - if (isset($entrids[$pro['entrid']])) unset($entrids[$pro['entrid']]); - } else if (isset($pro['entrid'])) { - update_user_pro($uid, $pro['entrid'], $pro); - } else { - for ($entrid = 0; isset($entrids[$entrid]) && ($entrids[$entrid] == $entrid); $entrid++); + if (!@$pro['remove']) { add_user_pro($uid, $entrid, $pro); + ++$entrid; } } } @@ -568,7 +572,7 @@ function set_user_details_pro($uid, $pros) // {{{ function set_user_details() function set_user_details($uid, $details) { if (isset($details['nom_usage'])) { - XDB::execute("UPDATE auth_user_md5 SET nom_usage = {?} WHERE user_id = {?}", strtoupper($details['nom_usage']), $uid); + XDB::execute("UPDATE auth_user_md5 SET nom_usage = {?} WHERE user_id = {?}", mb_strtoupper($details['nom_usage']), $uid); } if (isset($details['mobile'])) { XDB::execute("UPDATE auth_user_quick SET profile_mobile = {?} WHERE user_id = {?}", $details['mobile'], $uid);