aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions_user.php
diff options
context:
space:
mode:
authorAndreas Fischer <bantu@phpbb.com>2013-05-26 19:19:08 +0200
committerAndreas Fischer <bantu@phpbb.com>2013-05-26 19:19:08 +0200
commit06379aece8dccdfddfdf2255b12edf5e9df772ec (patch)
treece0080b7cdb3b9b03d1d2ce713222fe257c5e64d /phpBB/includes/functions_user.php
parent62a751fa65753fa40057b1f816eb1fae894a25af (diff)
parent2b356e766f8d0f3e9dfc2d1fdd6bc857fdb63497 (diff)
downloadforums-06379aece8dccdfddfdf2255b12edf5e9df772ec.tar
forums-06379aece8dccdfddfdf2255b12edf5e9df772ec.tar.gz
forums-06379aece8dccdfddfdf2255b12edf5e9df772ec.tar.bz2
forums-06379aece8dccdfddfdf2255b12edf5e9df772ec.tar.xz
forums-06379aece8dccdfddfdf2255b12edf5e9df772ec.zip
Merge branch 'develop-olympus' into develop
* develop-olympus: [ticket/11538] Add optional switch as argument to hex colour validation [ticket/11538] Modify test colour values [ticket/11538] Limit comment in acp_groups to 80 characters per line [ticket/11538] Move group ID into abstract test class and add more test cases [ticket/11538] Merge calls to validate_data() in acp_groups [ticket/11538] Rename phpbb_validate_colour to phpbb_validate_hex_colour [ticket/11538] Use abstract class for functional test cases for group colour [ticket/11538] Add function phpbb_validate_colour for validating colours [ticket/11538] Make sure regex doesn't allow multiple color values [ticket/11538] Add tests for acp group manage page [ticket/11538] Simplify colour value check and remove support for '#' [ticket/11538] Fix incorrect regex and test for duplicate # in color string [ticket/11538] Use regex for testing color value and improve tests [ticket/11538] Make sure group color can't exceed maximum of 6 characters Conflicts: phpBB/includes/functions_user.php phpBB/styles/prosilver/template/ucp_groups_manage.html
Diffstat (limited to 'phpBB/includes/functions_user.php')
-rw-r--r--phpBB/includes/functions_user.php42
1 files changed, 28 insertions, 14 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php
index 599cb24f75..9a2ad4c25f 100644
--- a/phpBB/includes/functions_user.php
+++ b/phpBB/includes/functions_user.php
@@ -1330,22 +1330,12 @@ function validate_data($data, $val_ary)
{
$function = array_shift($validate);
array_unshift($validate, $data[$var]);
+ $function_prefix = (function_exists('phpbb_validate_' . $function)) ? 'phpbb_validate_' : 'validate';
- if (function_exists('phpbb_validate_' . $function))
+ if ($result = call_user_func_array($function_prefix . $function, $validate))
{
- if ($result = call_user_func_array('phpbb_validate_' . $function, $validate))
- {
- // Since errors are checked later for their language file existence, we need to make sure custom errors are not adjusted.
- $error[] = (empty($user->lang[$result . '_' . strtoupper($var)])) ? $result : $result . '_' . strtoupper($var);
- }
- }
- else
- {
- if ($result = call_user_func_array('validate_' . $function, $validate))
- {
- // Since errors are checked later for their language file existence, we need to make sure custom errors are not adjusted.
- $error[] = (empty($user->lang[$result . '_' . strtoupper($var)])) ? $result : $result . '_' . strtoupper($var);
- }
+ // Since errors are checked later for their language file existence, we need to make sure custom errors are not adjusted.
+ $error[] = (empty($user->lang[$result . '_' . strtoupper($var)])) ? $result : $result . '_' . strtoupper($var);
}
}
}
@@ -2009,6 +1999,30 @@ function validate_jabber($jid)
}
/**
+* Validate hex colour value
+*
+* @param string $colour The hex colour value
+* @param bool $optional Whether the colour value is optional. True if an empty
+* string will be accepted as correct input, false if not.
+* @return bool|string Error message if colour value is incorrect, false if it
+* fits the hex colour code
+*/
+function phpbb_validate_hex_colour($colour, $optional = false)
+{
+ if (empty($colour))
+ {
+ return (($optional) ? false : 'WRONG_DATA');
+ }
+
+ if (!preg_match('/^([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/', $colour))
+ {
+ return 'WRONG_DATA';
+ }
+
+ return false;
+}
+
+/**
* Verifies whether a style ID corresponds to an active style.
*
* @param int $style_id The style_id of a style which should be checked if activated or not.