Fix hruid update script.
[platal.git] / upgrade / 0.10.0 / hruid.update.php
index 8edb887..8e38ca0 100755 (executable)
@@ -2,7 +2,6 @@
 <?php
 
 require_once 'connect.db.inc.php';
-require_once 'xorg.misc.inc.php';
 
 // Fetches the list of unregistered users.
 $users = XDB::iterRow(
@@ -13,8 +12,11 @@ $users = XDB::iterRow(
 // Creates missing human readable uids.
 while (list($user_id, $prenom, $nom, $promo) = $users->next()) {
     $forlife = make_forlife($prenom, $nom, $promo);
-    if (!XDB::execute("UPDATE auth_user_md5 SET hruid = {?} WHERE user_id = {?}", $forlife, $user_id)) {
+    $hruid = XDB::query('SELECT * FROM auth_user_md5 WHERE hruid = {?} AND user_id != {?}', $forlife, $user_id);
+    if ($hruid->numRows() > 0) {
         echo "WARNING: Duplicate forlife for user $user_id and forlife '$forlife'. Please check manually the entry.\n";
+    } else {
+        XDB::execute('UPDATE auth_user_md5 SET hruid = {?} WHERE user_id = {?}', $forlife, $user_id);
     }
 }
 ?>