diff --git a/src/Model/Contact.php b/src/Model/Contact.php index d91abe9bcd..35ca4e49eb 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -788,10 +788,10 @@ class Contact /** * Updates the self-contact for the provided user id * - * @param int $uid - * @param bool $update_avatar Force the avatar update + * @param int $uid + * @param bool $update_avatar Force the avatar update * @return bool "true" if updated - * @throws HTTPException\InternalServerErrorException + * @throws \Exception */ public static function updateSelfFromUserID(int $uid, bool $update_avatar = false): bool { diff --git a/src/Model/Profile.php b/src/Model/Profile.php index 0602df10aa..c1a350673e 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -37,6 +37,7 @@ use Friendica\DI; use Friendica\Network\HTTPClient\Client\HttpClientAccept; use Friendica\Network\HTTPClient\Client\HttpClientOptions; use Friendica\Network\HTTPException; +use Friendica\Network\HTTPException\InternalServerErrorException; use Friendica\Protocol\Activity; use Friendica\Protocol\Diaspora; use Friendica\Security\PermissionSet\Entity\PermissionSet; @@ -93,10 +94,11 @@ class Profile /** * Update a profile entry and distribute the changes if needed * - * @param array $fields Profile fields to update - * @param integer $uid User id + * @param array $fields Profile fields to update + * @param integer $uid User id * * @return boolean Whether update was successful + * @throws \Exception */ public static function update(array $fields, int $uid): bool { @@ -116,10 +118,6 @@ class Profile return false; } - if ($old_owner['name'] != $owner['name']) { - User::update(['username' => $owner['name']], $uid); - } - $profile_fields = ['postal-code', 'dob', 'prv_keywords', 'homepage']; foreach ($profile_fields as $field) { if ($old_owner[$field] != $owner[$field]) { diff --git a/src/Model/User.php b/src/Model/User.php index 18da3e9560..af7a81a15d 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -37,6 +37,7 @@ use Friendica\Database\DBA; use Friendica\DI; use Friendica\Module; use Friendica\Network\HTTPClient\Client\HttpClientAccept; +use Friendica\Network\HTTPException\InternalServerErrorException; use Friendica\Security\TwoFactor\Model\AppSpecificPassword; use Friendica\Network\HTTPException; use Friendica\Object\Image; @@ -1328,33 +1329,18 @@ class User /** * Update a user entry and distribute the changes if needed * - * @param array $fields + * @param array $fields * @param integer $uid * @return boolean + * @throws Exception */ public static function update(array $fields, int $uid): bool { - $old_owner = self::getOwnerDataById($uid); - if (empty($old_owner)) { - return false; - } - if (!DBA::update('user', $fields, ['uid' => $uid])) { return false; } - $update = Contact::updateSelfFromUserID($uid); - - $owner = self::getOwnerDataById($uid); - if (empty($owner)) { - return false; - } - - if ($old_owner['name'] != $owner['name']) { - Profile::update(['name' => $owner['name']], $uid); - } - - if ($update) { + if (Contact::updateSelfFromUserID($uid)) { Profile::publishUpdate($uid); } diff --git a/src/Module/Settings/Account.php b/src/Module/Settings/Account.php index 1039b92e2e..8ff00addb5 100644 --- a/src/Module/Settings/Account.php +++ b/src/Module/Settings/Account.php @@ -573,7 +573,7 @@ class Account extends BaseSettings '$delete_openid' => ['delete_openid', DI::l10n()->t('Delete OpenID URL'), false, ''], '$h_basic' => DI::l10n()->t('Basic Settings'), - '$username' => ['username', DI::l10n()->t('Full Name:'), $username, '', false, 'autocomplete="off"'], + '$username' => ['username', DI::l10n()->t('Display name:'), $username, '', false, 'autocomplete="off"'], '$email' => ['email', DI::l10n()->t('Email Address:'), $email, '', '', 'autocomplete="off"', 'email'], '$timezone' => ['timezone_select', DI::l10n()->t('Your Timezone:'), Temporal::getTimezoneSelect($timezone), ''], '$language' => ['language', DI::l10n()->t('Your Language:'), $language, DI::l10n()->t('Set the language we use to show you friendica interface and to send you emails'), $lang_choices], diff --git a/src/Module/Settings/Profile/Index.php b/src/Module/Settings/Profile/Index.php index c18c72a4ee..38d816833f 100644 --- a/src/Module/Settings/Profile/Index.php +++ b/src/Module/Settings/Profile/Index.php @@ -111,8 +111,8 @@ class Index extends BaseSettings } } - $name = trim($request['name'] ?? ''); - if (!$name) { + $username = trim($request['username'] ?? ''); + if (!$username) { $this->systemMessages->addNotice($this->t('Display Name is required.')); return; } @@ -141,9 +141,10 @@ class Index extends BaseSettings $this->profileFieldRepo->saveCollectionForUser($this->session->getLocalUserId(), $profileFieldsNew); + User::update(['username' => $username], $this->session->getLocalUserId()); + $result = Profile::update( [ - 'name' => $name, 'about' => $about, 'dob' => $dob, 'address' => $address, @@ -279,7 +280,7 @@ class Index extends BaseSettings '$profpiclink' => '/profile/' . $owner['nickname'] . '/photos', '$nickname' => $owner['nickname'], - '$name' => ['name', $this->t('Display name:'), $owner['name']], + '$username' => ['username', $this->t('Display name:'), $owner['name']], '$about' => ['about', $this->t('Description:'), $owner['about']], '$dob' => Temporal::getDateofBirthField($owner['dob'], $owner['timezone']), '$address' => ['address', $this->t('Street Address:'), $owner['address']], diff --git a/view/templates/settings/profile/index.tpl b/view/templates/settings/profile/index.tpl index 6540ab3c6e..64c9daee02 100644 --- a/view/templates/settings/profile/index.tpl +++ b/view/templates/settings/profile/index.tpl @@ -48,7 +48,7 @@