mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/11548] Fix incorrect usage of array_map on acp groups page
The array_map was only ran on small parts of the actual error array instead of the whole one. This resulted in the output of the language variables' names rather than their actual value. PHPBB3-11548
This commit is contained in:
parent
16aeaed7bd
commit
da8e35ac77
3 changed files with 51 additions and 50 deletions
|
@ -437,7 +437,7 @@ class acp_groups
|
|||
if ($validation_error = validate_data($submit_ary, $validation_checks))
|
||||
{
|
||||
// Replace "error" string with its real, localised form
|
||||
$error = array_merge($error, array_map(array(&$user, 'lang'), $validation_error));
|
||||
$error = array_merge($error, $validation_error);
|
||||
}
|
||||
|
||||
if (!sizeof($error))
|
||||
|
@ -530,6 +530,7 @@ class acp_groups
|
|||
|
||||
if (sizeof($error))
|
||||
{
|
||||
$error = array_map(array(&$user, 'lang'), $error);
|
||||
$group_rank = $submit_ary['rank'];
|
||||
|
||||
$group_desc_data = array(
|
||||
|
|
|
@ -14,6 +14,26 @@ abstract class phpbb_functional_common_groups_test extends phpbb_functional_test
|
|||
{
|
||||
abstract protected function get_url();
|
||||
|
||||
// Enable all avatars in the ACP
|
||||
protected function enable_all_avatars()
|
||||
{
|
||||
$this->add_lang('acp/board');
|
||||
|
||||
$crawler = self::request('GET', 'adm/index.php?i=board&mode=avatar&sid=' . $this->sid);
|
||||
// Check the default entries we should have
|
||||
$this->assertContains($this->lang('ALLOW_REMOTE'), $crawler->text());
|
||||
$this->assertContains($this->lang('ALLOW_AVATARS'), $crawler->text());
|
||||
$this->assertContains($this->lang('ALLOW_LOCAL'), $crawler->text());
|
||||
|
||||
// Now start setting the needed settings
|
||||
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||
$form['config[allow_avatar_local]']->select(1);
|
||||
$form['config[allow_avatar_remote]']->select(1);
|
||||
$form['config[allow_avatar_remote_upload]']->select(1);
|
||||
$crawler = self::submit($form);
|
||||
$this->assertContains($this->lang('CONFIG_UPDATED'), $crawler->text());
|
||||
}
|
||||
|
||||
public function groups_manage_test_data()
|
||||
{
|
||||
return array(
|
||||
|
@ -41,4 +61,33 @@ abstract class phpbb_functional_common_groups_test extends phpbb_functional_test
|
|||
$crawler = self::submit($form);
|
||||
$this->assertContains($this->lang($expected), $crawler->text());
|
||||
}
|
||||
|
||||
public function group_avatar_min_max_data()
|
||||
{
|
||||
return array(
|
||||
array('uploadurl', 'foo', 'TOO_SHORT'),
|
||||
array('uploadurl', 'foobar', 'AVATAR_URL_INVALID'),
|
||||
array('uploadurl', str_repeat('f', 256), 'TOO_LONG'),
|
||||
array('remotelink', 'foo', 'TOO_SHORT'),
|
||||
array('remotelink', 'foobar', 'AVATAR_URL_INVALID'),
|
||||
array('remotelink', str_repeat('f', 256), 'TOO_LONG'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider group_avatar_min_max_data
|
||||
*/
|
||||
public function test_group_avatar_min_max($form_name, $input, $expected)
|
||||
{
|
||||
$this->login();
|
||||
$this->admin_login();
|
||||
$this->add_lang(array('ucp', 'acp/groups'));
|
||||
$this->enable_all_avatars();
|
||||
|
||||
$crawler = self::request('GET', $this->get_url() . '&g=5&sid=' . $this->sid);
|
||||
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||
$form[$form_name]->setValue($input);
|
||||
$crawler = self::submit($form);
|
||||
$this->assertContains($this->lang($expected), $crawler->text());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,53 +18,4 @@ class phpbb_functional_ucp_groups_test extends phpbb_functional_common_groups_te
|
|||
{
|
||||
return 'ucp.php?i=groups&mode=manage&action=edit';
|
||||
}
|
||||
|
||||
// Enable all avatars in the ACP
|
||||
private function enable_all_avatars()
|
||||
{
|
||||
$this->add_lang('acp/board');
|
||||
|
||||
$crawler = self::request('GET', 'adm/index.php?i=board&mode=avatar&sid=' . $this->sid);
|
||||
// Check the default entries we should have
|
||||
$this->assertContains($this->lang('ALLOW_REMOTE'), $crawler->text());
|
||||
$this->assertContains($this->lang('ALLOW_AVATARS'), $crawler->text());
|
||||
$this->assertContains($this->lang('ALLOW_LOCAL'), $crawler->text());
|
||||
|
||||
// Now start setting the needed settings
|
||||
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||
$form['config[allow_avatar_local]']->select(1);
|
||||
$form['config[allow_avatar_remote]']->select(1);
|
||||
$form['config[allow_avatar_remote_upload]']->select(1);
|
||||
$crawler = self::submit($form);
|
||||
$this->assertContains($this->lang('CONFIG_UPDATED'), $crawler->text());
|
||||
}
|
||||
|
||||
public function group_avatar_min_max_data()
|
||||
{
|
||||
return array(
|
||||
array('uploadurl', 'foo', 'TOO_SHORT'),
|
||||
array('uploadurl', 'foobar', 'AVATAR_URL_INVALID'),
|
||||
array('uploadurl', str_repeat('f', 256), 'TOO_LONG'),
|
||||
array('remotelink', 'foo', 'TOO_SHORT'),
|
||||
array('remotelink', 'foobar', 'AVATAR_URL_INVALID'),
|
||||
array('remotelink', str_repeat('f', 256), 'TOO_LONG'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider group_avatar_min_max_data
|
||||
*/
|
||||
public function test_group_avatar_min_max($form_name, $input, $expected)
|
||||
{
|
||||
$this->login();
|
||||
$this->admin_login();
|
||||
$this->add_lang(array('ucp', 'acp/groups'));
|
||||
$this->enable_all_avatars();
|
||||
|
||||
$crawler = self::request('GET', $this->get_url() . '&g=5&sid=' . $this->sid);
|
||||
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||
$form[$form_name]->setValue($input);
|
||||
$crawler = self::submit($form);
|
||||
$this->assertContains($this->lang($expected), $crawler->text());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue