1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-06 08:47:45 +02:00

Merge pull request #6007 from rxu/ticket/16526

[ticket/16526] Correctly handle ACP CSV settings
This commit is contained in:
Marc Alexander
2020-08-30 14:47:20 +02:00
4 changed files with 96 additions and 6 deletions

View File

@@ -435,13 +435,27 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
switch ($validator[$type])
{
case 'url':
$cfg_array[$config_name] = trim($cfg_array[$config_name]);
if (!empty($cfg_array[$config_name]) && !preg_match('#^' . get_preg_expression('url') . '$#iu', $cfg_array[$config_name]))
case 'csv':
if ($validator[$type] == 'url')
{
$error[] = $language->lang('URL_INVALID', $language->lang($config_definition['lang']));
}
$cfg_array[$config_name] = trim($cfg_array[$config_name]);
if (!empty($cfg_array[$config_name]) && !preg_match('#^' . get_preg_expression('url') . '$#iu', $cfg_array[$config_name]))
{
$error[] = $language->lang('URL_INVALID', $language->lang($config_definition['lang']));
}
}
else if ($validator[$type] == 'csv')
{
// Validate comma separated values
$unfiltered_array = explode(',', $cfg_array[$config_name]);
$filtered_array = array_filter($unfiltered_array);
if (!empty($filtered_array) && count($unfiltered_array) !== count($filtered_array))
{
$error[] = $language->lang('CSV_INVALID', $language->lang($config_definition['lang']));
}
}
// no break here
case 'string':