Commit | Line | Data |
---|---|---|
b7753795 SJ |
1 | #!/usr/bin/php5 |
2 | <?php | |
3 | ||
4 | require_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 |
14 | while ($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 | 39 | print "\n\nDone.\n"; |
b7753795 SJ |
40 | |
41 | /* vim:set et sw=4 sts=4 ts=4: */ | |
42 | ?> |