diff --git a/includes/PasswordPolicy.inc b/includes/PasswordPolicy.inc index 86ade20..4a011a3 100644 --- a/includes/PasswordPolicy.inc +++ b/includes/PasswordPolicy.inc @@ -116,10 +116,10 @@ class PasswordPolicy { * @return array * Failure messages for failed constraints. */ - public function check($password, $account) { + public function check($password, $account, $form_state) { $errors = array(); foreach ($this->activeConstraints() as $constraint) { - if (!$constraint->check($password, $account)) { + if (!$constraint->check($password, $account, $form_state)) { $errors = array_merge($errors, $constraint->failMessages($password, $account)); } } diff --git a/includes/PasswordPolicyConstraint.inc b/includes/PasswordPolicyConstraint.inc index a3fef01..084cf89 100644 --- a/includes/PasswordPolicyConstraint.inc +++ b/includes/PasswordPolicyConstraint.inc @@ -77,10 +77,10 @@ class PasswordPolicyConstraint extends PasswordPolicyItem { * @return bool * TRUE if the constraint is met, FALSE otherwise. */ - public function check($password, $account) { + public function check($password, $account, $form_state) { $func = $this->func('constraint callback'); if ($func) { - return $func($password, $account, $this); + return $func($password, $account, $this, $form_state); } return TRUE; } diff --git a/password_policy.module b/password_policy.module index 6f5b09f..bb57b13 100644 --- a/password_policy.module +++ b/password_policy.module @@ -292,7 +292,7 @@ function password_policy_user_profile_form_validate($form, &$form_state) { $policies = PasswordPolicy::matchedPolicies($account); $errors = array(); foreach ($policies as $policy) { - $errors = $errors + $policy->check($form_state['values']['pass'], $account); + $errors = $errors + $policy->check($form_state['values']['pass'], $account, $form_state); } if (!empty($errors)) { form_set_error('pass', theme('item_list', array('items' => $errors)));