mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-06 16:56:44 +02:00
[ticket/11538] Use regex for testing color value and improve tests
We are now using a regex with preg_match() in order to properly check if the entered color value is in hex color format or not. A proper error message is triggered if an incorrect color value is entered and the prepended '#' is removed if necessary. PHPBB3-11538
This commit is contained in:
@@ -595,18 +595,22 @@ class ucp_groups
|
||||
$error[] = $user->lang['FORM_INVALID'];
|
||||
}
|
||||
|
||||
if (!sizeof($error))
|
||||
if (!empty($submit_ary['colour']))
|
||||
{
|
||||
// Make sure maximum length of 6 of group color is not exceeded
|
||||
if (strpos($submit_ary['colour'], '#') === 0)
|
||||
preg_match('/^(#?)+(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{3})\b/', $submit_ary['colour'], $group_colour);
|
||||
|
||||
if (sizeof($group_colour))
|
||||
{
|
||||
$submit_ary['colour'] = substr($submit_ary['colour'], 1, 6);
|
||||
$submit_ary['colour'] = (strpos($group_colour[0], '#') !== false) ? str_replace('#', '', $group_colour[0]) : $group_colour[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
$submit_ary['colour'] = substr($submit_ary['colour'], 0, 6);
|
||||
$error[] = $user->lang['COLOUR_INVALID'];
|
||||
}
|
||||
}
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
// Only set the rank, colour, etc. if it's changed or if we're adding a new
|
||||
// group. This prevents existing group members being updated if no changes
|
||||
// were made.
|
||||
|
Reference in New Issue
Block a user