On a aussi le tarif "europe" pour les commissions sur les cartes suisses.
[platal.git] / upgrade / 1.1.1 / accounts.php
old mode 100644 (file)
new mode 100755 (executable)
index 3d2f35a..59d9f7f
@@ -5,14 +5,17 @@ require_once 'connect.db.inc.php';
 
 $globals->debug = 0; // Do not store backtraces.
 
-$it = XDN::rawIterator('SELECT  uid, full_name, email, type
+$it = XDB::rawIterator('SELECT  uid, full_name, email, type
                           FROM  accounts
                          WHERE  type NOT IN (\'x\', \'master\', \'phd\')');
+$total = $it->total();
+$done = 0;
+
 while ($item = $it->next()) {
     if ($item['type'] == 'virtual') {
         $firstname = '';
         $lastname = $item['full_name'];
-    } elseif (strpos(' ', $item['full_name'])) {
+    } elseif ($item['full_name'] && strpos(' ', $item['full_name'])) {
         list($firstname, $lastname) = explode(' ', $item['full_name']);
     } else {
         list($local_part, ) = explode('@', strtolower($item['email']));
@@ -25,10 +28,15 @@ while ($item = $it->next()) {
             $lastname = ucwords(implode(' ', array_slice($parts, 1)));
         }
     }
+
     XDB::execute('UPDATE  accounts
-                     SET  firstname = {?}, lastname = {?}',
-                 $firstname, $lastname);
+                     SET  firstname = {?}, lastname = {?}
+                   WHERE  uid = {?}',
+                 $firstname, $lastname, $item['uid']);
+    ++$done;
+    printf("\r%u / %u",  $done, $total);
 }
+print "\n\nDone.\n";
 
 /* vim:set et sw=4 sts=4 ts=4: */
 ?>