mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-05 08:17:47 +02:00
Permit null values for non-required integer custom profile fields and ensure zero complies with the range limits. #40925
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9788 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -90,18 +90,6 @@ class custom_profile
|
||||
*/
|
||||
function validate_profile_field($field_type, &$field_value, $field_data)
|
||||
{
|
||||
switch ($field_type)
|
||||
{
|
||||
case FIELD_INT:
|
||||
case FIELD_DROPDOWN:
|
||||
$field_value = (int) $field_value;
|
||||
break;
|
||||
|
||||
case FIELD_BOOL:
|
||||
$field_value = (bool) $field_value;
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($field_type)
|
||||
{
|
||||
case FIELD_DATE:
|
||||
@@ -133,6 +121,8 @@ class custom_profile
|
||||
break;
|
||||
|
||||
case FIELD_BOOL:
|
||||
$field_value = (bool) $field_value;
|
||||
|
||||
if (!$field_value && $field_data['field_required'])
|
||||
{
|
||||
return 'FIELD_REQUIRED';
|
||||
@@ -140,10 +130,12 @@ class custom_profile
|
||||
break;
|
||||
|
||||
case FIELD_INT:
|
||||
if (empty($field_value) && !$field_data['field_required'])
|
||||
if (trim($field_value) === '' && !$field_data['field_required'])
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$field_value = (int) $field_value;
|
||||
|
||||
if ($field_value < $field_data['field_minlen'])
|
||||
{
|
||||
@@ -156,6 +148,8 @@ class custom_profile
|
||||
break;
|
||||
|
||||
case FIELD_DROPDOWN:
|
||||
$field_value = (int) $field_value;
|
||||
|
||||
if ($field_value == $field_data['field_novalue'] && $field_data['field_required'])
|
||||
{
|
||||
return 'FIELD_REQUIRED';
|
||||
@@ -514,7 +508,7 @@ class custom_profile
|
||||
switch ($this->profile_types[$field_type])
|
||||
{
|
||||
case 'int':
|
||||
if ($value == '')
|
||||
if ($value === '')
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@@ -644,7 +638,7 @@ class custom_profile
|
||||
}
|
||||
}
|
||||
|
||||
return (is_null($value)) ? '' : (int) $value;
|
||||
return (is_null($value) || $value === '') ? '' : (int) $value;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user