1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-31 03:40:37 +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 * General purpose file
* *
* $Source: /cvs_backup/e107_0.8/class2.php,v $ * $Source: /cvs_backup/e107_0.8/class2.php,v $
* $Revision: 1.162 $ * $Revision: 1.163 $
* $Date: 2009-11-22 23:36:23 $ * $Date: 2009-11-23 21:04:16 $
* $Author: e107coders $ * $Author: e107steved $
* *
*/ */
// //
@@ -1964,7 +1964,7 @@ function force_userupdate()
if (!varset($pref['disable_emailcheck'],TRUE) && !trim($currentUser['user_email'])) return TRUE; 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()) while($row = $sql -> db_Fetch())
{ {

View File

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