Moving to GitHub.
[platal.git] / upgrade / 1.1.1 / accounts.php
CommitLineData
b7753795
SJ
1#!/usr/bin/php5
2<?php
3
4require_once 'connect.db.inc.php';
5
6$globals->debug = 0; // Do not store backtraces.
7
db8e6a40 8$it = XDB::rawIterator('SELECT uid, full_name, email, type
b7753795
SJ
9 FROM accounts
10 WHERE type NOT IN (\'x\', \'master\', \'phd\')');
db8e6a40
SJ
11$total = $it->total();
12$done = 0;
13
b7753795
SJ
14while ($item = $it->next()) {
15 if ($item['type'] == 'virtual') {
16 $firstname = '';
17 $lastname = $item['full_name'];
db8e6a40 18 } elseif ($item['full_name'] && strpos(' ', $item['full_name'])) {
b7753795
SJ
19 list($firstname, $lastname) = explode(' ', $item['full_name']);
20 } else {
21 list($local_part, ) = explode('@', strtolower($item['email']));
22 $parts = explode('.', $local_part);
23 if (count($parts) == 1) {
24 $lastname = ucfirst($local_part);
25 $firstname = '';
26 } else {
27 $firstname = ucfirst($parts[0]);
28 $lastname = ucwords(implode(' ', array_slice($parts, 1)));
29 }
30 }
db8e6a40 31
b7753795 32 XDB::execute('UPDATE accounts
db8e6a40
SJ
33 SET firstname = {?}, lastname = {?}
34 WHERE uid = {?}',
35 $firstname, $lastname, $item['uid']);
36 ++$done;
37 printf("\r%u / %u", $done, $total);
b7753795 38}
db8e6a40 39print "\n\nDone.\n";
b7753795
SJ
40
41/* vim:set et sw=4 sts=4 ts=4: */
42?>