diff --git a/constraints/constraint_username.inc b/constraints/constraint_username.inc index a7e23da..0d29c9e 100644 --- a/constraints/constraint_username.inc +++ b/constraints/constraint_username.inc @@ -26,7 +26,10 @@ function password_policy_constraint_username_error($constraint) { */ function password_policy_constraint_username_validate($password, $constraint, $uid) { $account = user_load(array('uid' => $uid)); - return drupal_strtolower($account->name) != drupal_strtolower($password); + if ($constraint && (drupal_strtolower($account->name) == drupal_strtolower($password))) { + return FALSE; + } + return TRUE; } /** @@ -35,11 +38,13 @@ function password_policy_constraint_username_validate($password, $constraint, $u function password_policy_constraint_username_js($constraint, $uid) { $account = user_load(array('uid' => $uid)); $s = ''; - $s .= " var username='". $account->name ."';\n"; - $s .= " if (username.toLowerCase() == value.toLowerCase()) {\n"; - $s .= " strength=\"low\";\n"; - $s .= " msg.push(translate.constraint_username);\n"; - $s .= " }\n"; + if ($constraint) { + $s .= " var username='". $account->name ."';\n"; + $s .= " if (username.toLowerCase() == value.toLowerCase()) {\n"; + $s .= " strength=\"low\";\n"; + $s .= " msg.push(translate.constraint_username);\n"; + $s .= " }\n"; + } return $s; } diff --git a/tests/password_policy.test b/tests/password_policy.test index 8cd4881..5e9dddd 100644 --- a/tests/password_policy.test +++ b/tests/password_policy.test @@ -139,11 +139,12 @@ class PasswordPolicyTest extends DrupalWebTestCase { function testUsernameConstraint() { module_load_include('inc', 'password_policy', 'constraints/constraint_username'); + $constraint = 2; $user = $this->drupalCreateUser(); $name = $this->randomName(); - $result = password_policy_constraint_username_validate($name, '', $user->uid); + $result = password_policy_constraint_username_validate($name, $constraint, $user->uid); $this->assertTrue($result, 'Random string in the username constraint'); - $result = password_policy_constraint_username_validate($user->name, '', $user->uid); + $result = password_policy_constraint_username_validate($user->name, $constraint, $user->uid); $this->assertFalse($result, 'Username in the username constraint'); }