1
0
mirror of https://github.com/e107inc/e107.git synced 2025-04-13 09:01:59 +02:00

Bugtracker #4861 - required but disabled extended user fields weren't ignored

This commit is contained in:
e107steved 2009-11-23 21:04:22 +00:00
parent 5be363265f
commit 773affcd66
2 changed files with 32 additions and 29 deletions

View File

@ -9,9 +9,9 @@
* General purpose file
*
* $Source: /cvs_backup/e107_0.8/class2.php,v $
* $Revision: 1.162 $
* $Date: 2009-11-22 23:36:23 $
* $Author: e107coders $
* $Revision: 1.163 $
* $Date: 2009-11-23 21:04:16 $
* $Author: e107steved $
*
*/
//
@ -1964,7 +1964,7 @@ function force_userupdate()
if (!varset($pref['disable_emailcheck'],TRUE) && !trim($currentUser['user_email'])) return TRUE;
if($sql -> db_Select('user_extended_struct', 'user_extended_struct_name, user_extended_struct_type', 'user_extended_struct_required = 1'))
if($sql -> db_Select('user_extended_struct', 'user_extended_struct_name, user_extended_struct_type', 'user_extended_struct_required = 1 AND user_extended_struct_applicable != '.e_UC_NOBODY))
{
while($row = $sql -> db_Fetch())
{

View File

@ -11,9 +11,9 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_handlers/user_extended_class.php,v $
| $Revision: 1.30 $
| $Date: 2009-11-18 01:04:43 $
| $Author: e107coders $
| $Revision: 1.31 $
| $Date: 2009-11-23 21:04:22 $
| $Author: e107steved $
+----------------------------------------------------------------------------+
*/
@ -223,28 +223,31 @@ class e107_user_extended
$hideFlags = array();
foreach ($this->fieldDefinitions as $k => $defs)
{
$f = 'user_'.$defs['user_extended_struct_name'];
if (isset($inArray[$f]) || ($isSignup && ($defs['user_extended_struct_required'] == 1)))
{ // Only allow valid keys
$val = varset($inArray[$f], FALSE);
$err = $this->user_extended_validate_entry($val, $defs);
if ($err === true)
{ // General error - usually empty field; could be unacceptable value, or regex fail and no error message defined
$eufVals['errortext'][$f] = str_replace('--SOMETHING--',$tp->toHtml($defs['user_extended_struct_text'],FALSE,'defs'),LAN_USER_75);
$eufVals['errors'][$f] = ERR_GENERIC;
}
elseif ($err)
{ // Specific error message returned - usually regex fail
$eufVals['errortext'][$f] = $err;
$eufVals['errors'][$f] = ERR_GENERIC;
}
elseif (!$err)
{
$eufVals['data'][$f] = $tp->toDB($val);
}
if (isset($hideArray[$f]))
{
$hideFlags[] = $f;
if ($defs['user_extended_struct_applicable'] != e_UC_NOBODY)
{
$f = 'user_'.$defs['user_extended_struct_name'];
if (isset($inArray[$f]) || ($isSignup && ($defs['user_extended_struct_required'] == 1)))
{ // Only allow valid keys
$val = varset($inArray[$f], FALSE);
$err = $this->user_extended_validate_entry($val, $defs);
if ($err === true)
{ // General error - usually empty field; could be unacceptable value, or regex fail and no error message defined
$eufVals['errortext'][$f] = str_replace('--SOMETHING--',$tp->toHtml($defs['user_extended_struct_text'],FALSE,'defs'),LAN_USER_75);
$eufVals['errors'][$f] = ERR_GENERIC;
}
elseif ($err)
{ // Specific error message returned - usually regex fail
$eufVals['errortext'][$f] = $err;
$eufVals['errors'][$f] = ERR_GENERIC;
}
elseif (!$err)
{
$eufVals['data'][$f] = $tp->toDB($val);
}
if (isset($hideArray[$f]))
{
$hideFlags[] = $f;
}
}
}
}