Adds an update script for version 0.10.2.
[platal.git] / include / user.func.inc.php
index ee2cb39..1a07456 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2008 Polytechnique.org                              *
+ *  Copyright (C) 2003-2009 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -103,8 +103,10 @@ function get_not_registered_user($login, $iterator = false)
         return null;
     }
     @list($prenom, $nom, $promo) = explode('.', $login);
-    $where = 'REPLACE(REPLACE(REPLACE(nom, " ", ""), "-", ""), "\'", "") LIKE CONCAT("%", {?}, "%")
-          AND  REPLACE(REPLACE(REPLACE(prenom, " ", ""), "-", ""), "\'", "") LIKE CONCAT("%", {?}, "%")';
+    $where = 'REPLACE(REPLACE(REPLACE(nom, " ", ""), "-", ""), "\'", "")
+              LIKE CONCAT("%", REPLACE(REPLACE(REPLACE({?}, " ", ""), "-", ""), "\'", ""), "%")
+              AND  REPLACE(REPLACE(REPLACE(prenom, " ", ""), "-", ""), "\'", "")
+              LIKE CONCAT("%", REPLACE(REPLACE(REPLACE({?}, " ", ""), "-", ""), "\'", ""), "%")';
     if ($promo) {
         if (preg_match('/^[0-9]{2}$/', $promo)) {
             $where .= 'AND MOD(promo, 100) = {?}';
@@ -426,9 +428,11 @@ function remove_user_address($uid, $adrid) {
 // }}}
 // {{{ function add_user_tel()
 function add_user_tel($uid, $adrid, $telid, $tel) {
-    XDB::execute(
-        "INSERT INTO tels SET uid = {?}, adrid = {?}, telid = {?}, tel = {?}, tel_type = {?}, tel_pub = {?}",
-        $uid, $adrid, $telid, $tel['tel'], $tel['tel_type'], $tel['tel_pub']);
+    $tel['tel_type'] = ($tel['tel_type'] ? $tel['tel_type'] : '');
+    XDB::execute('INSERT INTO  tels
+                          SET  uid = {?}, adrid = {?}, telid = {?}, tel = {?},
+                               tel_type = {?}, tel_pub = {?}',
+                 $uid, $adrid, $telid, $tel['tel'], $tel['tel_type'], $tel['tel_pub']);
 }
 // }}}
 // {{{ function update_user_tel()
@@ -536,8 +540,10 @@ function set_user_details_addresses($uid, $adrs) {
         $adrid = 0;
     }
     foreach ($adrs as $adr) {
-        add_user_address($uid, $adrid, $adr);
-        ++$adrid;
+        if (!@$adr['remove']) {
+            add_user_address($uid, $adrid, $adr);
+            ++$adrid;
+        }
     }
     require_once 'geoloc.inc.php';
     localize_addresses($uid);
@@ -555,8 +561,10 @@ function set_user_details_pro($uid, $pros)
         $entrid = 0;
     }
     foreach ($pros as $pro) {
-        add_user_pro($uid, $entrid, $pro);
-        ++$entrid;
+        if (!@$pro['remove']) {
+            add_user_pro($uid, $entrid, $pro);
+            ++$entrid;
+        }
     }
 }
 
@@ -564,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);