From c1a5e54e67e56cea684d6011d8316d455aae28eb Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sun, 22 Jun 2008 12:49:28 -0400 Subject: move profile update to front darcs-hash:20080622164928-34904-77df2f698c617e2788cc0db2d902238a5dd522d1.gz --- actions/profilesettings.php | 46 +++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) (limited to 'actions') diff --git a/actions/profilesettings.php b/actions/profilesettings.php index 85e7bd19f..ca17e2323 100644 --- a/actions/profilesettings.php +++ b/actions/profilesettings.php @@ -113,6 +113,30 @@ class ProfilesettingsAction extends SettingsAction { $user->query('BEGIN'); + $profile = $user->getProfile(); + + $orig_profile = clone($profile); + + $profile->nickname = $nickname; + $profile->fullname = $fullname; + $profile->homepage = $homepage; + $profile->bio = $bio; + $profile->location = $location; + $profile->profileurl = common_profile_url($nickname); + + common_debug('Old profile: ' . common_log_objstring($orig_profile), __FILE__); + common_debug('New profile: ' . common_log_objstring($profile), __FILE__); + + $result = $profile->update($orig_profile); + + if (!$result) { + common_log_db_error($profile, 'UPDATE', __FILE__); + common_server_error(_t('Couldnt save profile.')); + return; + } + + # Keys don't update correctly, so we have to handle them separately + if (strcmp($user->nickname, $nickname) != 0) { common_debug('Updating user nickname from ' . $user->nickname . ' to ' . $nickname, @@ -160,28 +184,6 @@ class ProfilesettingsAction extends SettingsAction { $email); } - $profile = $user->getProfile(); - - $orig_profile = clone($profile); - - $profile->nickname = $user->nickname; - $profile->fullname = $fullname; - $profile->homepage = $homepage; - $profile->bio = $bio; - $profile->location = $location; - $profile->profileurl = common_profile_url($nickname); - - common_debug('Old profile: ' . common_log_objstring($orig_profile), __FILE__); - common_debug('New profile: ' . common_log_objstring($profile), __FILE__); - - $result = $profile->update($orig_profile); - - if (!$result) { - common_log_db_error($profile, 'UPDATE', __FILE__); - common_server_error(_t('Couldnt save profile.')); - return; - } - $user->query('COMMIT'); common_broadcast_profile($profile); -- cgit v1.2.3-54-g00ecf