From 2e649a44adc43c56932168244e92f1d27d6f95fe Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Mon, 21 Nov 2011 10:47:30 +0100 Subject: [PATCH] Properly capitalizes names in database. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Jacob --- upgrade/1.1.5/name.php | 95 +++++++++++++++++++++++++++++++++++++++++++++++++ upgrade/1.1.5/update.sh | 9 +++++ 2 files changed, 104 insertions(+) create mode 100755 upgrade/1.1.5/name.php create mode 100755 upgrade/1.1.5/update.sh diff --git a/upgrade/1.1.5/name.php b/upgrade/1.1.5/name.php new file mode 100755 index 0000000..e810197 --- /dev/null +++ b/upgrade/1.1.5/name.php @@ -0,0 +1,95 @@ +#!/usr/bin/php5 + 0.4 * $name_length); +} + +// Retrieves all the names to convert. +$conversions = 0; +$names = XDB::iterRow('SELECT pid, lastname_initial, lastname_main, lastname_marital, lastname_ordinary, + firstname_initial, firstname_main, firstname_ordinary, pseudonym + FROM profile_public_names'); +$name_list = array('lastname_initial', 'lastname_main', 'lastname_marital', 'lastname_ordinary', + 'firstname_initial', 'firstname_main', 'firstname_ordinary', 'pseudonym'); +while ($item = $names->next()) { + foreach ($name_list as $type) { + if ($item[$type] != '') { + $item[$type] = capitalize_name_checked($item[$type]); + } + } + + XDB::execute('UPDATE profile_public_names + SET lastname_initial = {?}, lastname_main = {?}, lastname_marital = {?}, lastname_ordinary = {?}, + firstname_initial = {?}, firstname_main = {?}, firstname_ordinary = {?}, pseudonym = {?} + WHERE pid = {?}', + $item['lastname_initial'], $item['lastname_main'], $item['lastname_marital'], $item['lastname_ordinary'], + $item['firstname_initial'], $item['firstname_main'], $item['firstname_ordinary'], $item['pseudonym'], + $item['pid']); + $profile = Profile::get($pid); + update_display_names($profile, $item); + + $conversions++; + unset($item, $profile); +} + +echo "$conversions names from profiles properly recapitalized.\n"; + +$conversions = 0; +$names = XDB::iterRow('SELECT uid, firstname, lastname + FROM accounts + WHERE NOT EXISTS (SELECT 1 + FROM account_profiles + WHERE account_profiles.uid = accounts.uid)'); + +while ($item = $names->next()) { + $lastname = capitalize_name_checked($item['lastname']); + $firstname = capitalize_name_checked($item['firstname']); + + $full_name = build_full_name($firstname, $lastname); + $directory_name = build_directory_name($firstname, $lastname); + $sort_name = build_sort_name($firstname, $lastname); + + XDB::execute('UPDATE accounts + SET firstname = {?}, lastname = {?}, full_name = {?}, directory_name = {?}, sort_name = {?} + WHERE uid = {?}', + $firstname, $lastname, $full_name, $directory_name, $sort_name); + + $conversions++; + unset($item); +} + +echo "$conversions names from accounts properly recapitalized.\n"; + +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +?> diff --git a/upgrade/1.1.5/update.sh b/upgrade/1.1.5/update.sh new file mode 100755 index 0000000..9230e34 --- /dev/null +++ b/upgrade/1.1.5/update.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +. ../inc/pervasive.sh + +########################################################### +[ "$DATABASE" != "x4dat" ] || die "Cannot target x4dat" + +confirm "* Running database upgrade scripts" +mysql_run_directory . -- 2.1.4