From cb0af6e5aa12825ce29fe17f7456a894ea4def3f Mon Sep 17 00:00:00 2001 From: Florent Bruneau Date: Thu, 24 Jun 2010 18:31:59 +0200 Subject: [PATCH] Editing the name of a profile update the name of the associated account (Closes #1105) Signed-off-by: Florent Bruneau --- include/name.func.inc.php | 10 ++++++++++ modules/profile/general.inc.php | 14 ++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/include/name.func.inc.php b/include/name.func.inc.php index 13d18de..272f1e4 100644 --- a/include/name.func.inc.php +++ b/include/name.func.inc.php @@ -198,6 +198,16 @@ function set_profile_display(&$display_names, $pid) $display_names['public_name'], $display_names['private_name'], $display_names['directory_name'], $display_names['short_name'], $display_names['sort_name'], $pid); + + /* XXX: Inefficient, should directly take the profile as parameter */ + $profile = Profile::get($pid); + $owner = $profile->owner(); + if ($owner) { + XDB::execute('UPDATE accounts + SET full_name = {?} + WHERE uid = {?}', + $display_names['public_name'], $owner->id()); + } } function build_sn_pub($pid) diff --git a/modules/profile/general.inc.php b/modules/profile/general.inc.php index e80a593..13106c1 100644 --- a/modules/profile/general.inc.php +++ b/modules/profile/general.inc.php @@ -568,10 +568,16 @@ class ProfileSettingGeneral extends ProfilePage $this->values['photo_pub'], $this->pid()); } if ($this->changed['yourself']) { - XDB::execute('UPDATE accounts - SET display_name = {?} - WHERE uid = {?}', - $this->values['yourself'], $this->owner->id()); + if ($this->owner) { + XDB::execute('UPDATE accounts + SET display_name = {?} + WHERE uid = {?}', + $this->values['yourself'], $this->owner->id()); + } + XDB::execute('UPDATE profile_display + SET yourself = {?} + WHERE pid = {?}', $this->values['yourself'], + $this->pid()); } if ($this->changed['promo_display']) { if ($this->values['promo_display']{0} == $this->profile->mainEducation()) { -- 2.1.4