From 46ea7a8ffd099449045cb7b427757efac8b2166f Mon Sep 17 00:00:00 2001 From: rxu Date: Thu, 3 Oct 2024 12:37:30 +0700 Subject: [PATCH 1/2] [ticket/17391] Fix PHP warning on creating group with the name already in use PHPBB-17391 --- phpBB/includes/acp/acp_groups.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 7b1dc706db..c2f524095f 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -396,7 +396,7 @@ class acp_groups $allow_desc_urls = $request->variable('desc_parse_urls', false); $allow_desc_smilies = $request->variable('desc_parse_smilies', false); - $submit_ary = array( + $submit_ary = [ 'colour' => $request->variable('group_colour', ''), 'rank' => $request->variable('group_rank', 0), 'receive_pm' => isset($_REQUEST['group_receive_pm']) ? 1 : 0, @@ -406,7 +406,13 @@ class acp_groups 'max_recipients' => $request->variable('group_max_recipients', 0), 'founder_manage' => 0, 'skip_auth' => $request->variable('group_skip_auth', 0), - ); + + // Initialize avatar data + 'avatar' => $avatar_data['avatar'] ?? '', + 'avatar_type' => $avatar_data['avatar_type'] ?? '', + 'avatar_height' => $avatar_data['avatar_height'] ?? 0, + 'avatar_width' => $avatar_data['avatar_width'] ?? 0, + ]; if ($user->data['user_type'] == USER_FOUNDER) { From 4217dc46ca3ebfc903e817c9ed8141bfb58417ae Mon Sep 17 00:00:00 2001 From: rxu Date: Thu, 3 Oct 2024 13:19:54 +0700 Subject: [PATCH 2/2] [ticket/17391] Add simple functional test PHPBB-17391 --- tests/functional/acp_groups_test.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/functional/acp_groups_test.php b/tests/functional/acp_groups_test.php index 20f1271011..34cb16b99a 100644 --- a/tests/functional/acp_groups_test.php +++ b/tests/functional/acp_groups_test.php @@ -123,4 +123,20 @@ class phpbb_functional_acp_groups_test extends phpbb_functional_common_groups_te $this->assertEquals((bool) $tick_teampage, (bool) ($this->form_data['group_teampage'] ?? false)); } } + + public function test_acp_groups_create_existing_name() + { + $this->group_manage_login(); + + $crawler = self::request('GET', 'adm/index.php?i=groups&mode=manage&sid=' . $this->sid); + $form = $crawler->selectButton($this->lang('SUBMIT'))->form([ + 'group_name' => 'Guests', // 'Guests' is the group name already in use for predefined Guests group + ]); + + $crawler = self::submit($form); + $form = $crawler->selectButton($this->lang('SUBMIT'))->form(); + $crawler = self::submit($form); // Just submit the form with selected group name + + $this->assertStringContainsString($this->lang('GROUP_NAME_TAKEN'), $crawler->text()); + } }