X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Feditgroup.php;h=cca00ea6b91961727b72086936a5afd774af861e;hb=2c5cba28b6a8e13a58fe7584835340aa9779b146;hp=7b499d00ffdff60819788b6b0adbcae0f8ba0fe1;hpb=220b51d8be61e9bd316567f3ad03fffdbc4b7526;p=quix0rs-gnu-social.git diff --git a/actions/editgroup.php b/actions/editgroup.php index 7b499d00ff..cca00ea6b9 100644 --- a/actions/editgroup.php +++ b/actions/editgroup.php @@ -152,7 +152,7 @@ class EditgroupAction extends GroupAction function showScripts() { parent::showScripts(); - $this->autofocus('newnickname'); + $this->autofocus('fullname'); } function trySave() @@ -165,19 +165,21 @@ class EditgroupAction extends GroupAction if (Event::handle('StartGroupSaveForm', array($this))) { - $nickname = $this->trimmed('newnickname'); - try { - $nickname = Nickname::normalize($nickname, true); - } catch (NicknameTakenException $e) { - // Abort only if the nickname is occupied by _another_ group - if ($e->profile->id != $this->group->profile_id) { + // $nickname will only be set if this changenick value is true. + if (common_config('profile', 'changenick') == true) { + try { + $nickname = Nickname::normalize($this->trimmed('newnickname'), true); + } catch (NicknameTakenException $e) { + // Abort only if the nickname is occupied by _another_ group + if ($e->profile->id != $this->group->profile_id) { + $this->showForm($e->getMessage()); + return; + } + $nickname = Nickname::normalize($this->trimmed('newnickname')); // without in-use check this time + } catch (NicknameException $e) { $this->showForm($e->getMessage()); return; } - $nickname = Nickname::normalize($nickname); // without in-use check this time - } catch (NicknameException $e) { - $this->showForm($e->getMessage()); - return; } $fullname = $this->trimmed('fullname'); @@ -239,12 +241,16 @@ class EditgroupAction extends GroupAction $orig = clone($this->group); - $this->group->nickname = $nickname; + if (common_config('profile', 'changenick') == true && $this->group->nickname !== $nickname) { + assert(Nickname::normalize($nickname)===$nickname); + common_debug("Changing group nickname from '{$profile->nickname}' to '{$nickname}'."); + $this->group->nickname = $nickname; + $this->group->mainpage = common_local_url('showgroup', array('nickname' => $this->group->nickname)); + } $this->group->fullname = $fullname; $this->group->homepage = $homepage; $this->group->description = $description; $this->group->location = $location; - $this->group->mainpage = common_local_url('showgroup', array('nickname' => $nickname)); $this->group->join_policy = $join_policy; $this->group->force_scope = $force_scope; @@ -269,7 +275,7 @@ class EditgroupAction extends GroupAction } if ($this->group->nickname != $orig->nickname) { - common_redirect(common_local_url('editgroup', array('nickname' => $nickname)), 303); + common_redirect(common_local_url('editgroup', array('nickname' => $this->group->nickname)), 303); } else { // TRANS: Group edit form success message. $this->showForm(_('Options saved.'));