diff --git a/e107_handlers/user_extended_class.php b/e107_handlers/user_extended_class.php index d1d8cdeed..da8616421 100755 --- a/e107_handlers/user_extended_class.php +++ b/e107_handlers/user_extended_class.php @@ -11,8 +11,8 @@ | GNU General Public License (http://gnu.org). | | $Source: /cvs_backup/e107_0.8/e107_handlers/user_extended_class.php,v $ -| $Revision: 1.22 $ -| $Date: 2009-01-11 21:06:46 $ +| $Revision: 1.23 $ +| $Date: 2009-04-23 19:13:18 $ | $Author: e107steved $ +----------------------------------------------------------------------------+ */ @@ -193,7 +193,8 @@ class e107_user_extended // Validate all user-modifable extended user fields which are presented. // $inArray is the input data (usually from $_POST or $_POST['ue'], although doesn't have to be) - may have 'surplus' values // $hideArray is a set of possible 'hide' flags - function userExtendedValidateAll($inArray, $hideArray) + // $isSignup TRUE causes required fields to be specifically checked, else only data passed is checked + function userExtendedValidateAll($inArray, $hideArray, $isSignup=FALSE) { global $tp; $eufVals = array(); // 'Answer' array @@ -201,9 +202,9 @@ class e107_user_extended foreach ($this->fieldDefinitions as $k => $defs) { $f = 'user_'.$defs['user_extended_struct_name']; - if (isset($inArray[$f])) + if (isset($inArray[$f]) || ($isSignup && ($defs['user_extended_struct_required'] == 1))) { // Only allow valid keys - $val = $inArray[$f]; + $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 diff --git a/signup.php b/signup.php index c228f8999..e1a180549 100644 --- a/signup.php +++ b/signup.php @@ -9,9 +9,9 @@ * User signup * * $Source: /cvs_backup/e107_0.8/signup.php,v $ - * $Revision: 1.34 $ - * $Date: 2009-03-22 21:07:33 $ - * $Author: e107coders $ + * $Revision: 1.35 $ + * $Date: 2009-04-23 19:13:18 $ + * $Author: e107steved $ * */ @@ -484,7 +484,7 @@ if (isset($_POST['register'])) $eufVals = array(); if (isset($_POST['ue'])) { - $eufVals = $usere->userExtendedValidateAll($_POST['ue'], varset($_POST['hide'],array())); // Validate the extended user fields + $eufVals = $usere->userExtendedValidateAll($_POST['ue'], varset($_POST['hide'],array()), TRUE); // Validate the extended user fields }