function password_policy_password_element_alter in Password Policy 7.2
Alters the password element.
Parameters
array $element: Password element.
object $account: User object.
1 call to password_policy_password_element_alter()
- password_policy_form_alter in ./
password_policy.module - Implements hook_form_alter().
File
- ./
password_policy.module, line 227 - Enforces password policies.
Code
function password_policy_password_element_alter(array &$element, $account) {
$items = array();
$policies = PasswordPolicy::matchedPolicies($account);
foreach ($policies as $policy) {
$items = array_merge($items, $policy
->messages());
}
// Only alter description if policy messages are present.
if (count($items)) {
$element['#description'] = (isset($element['#description']) ? $element['#description'] : '') . theme('item_list', array(
'items' => $items,
'title' => t('Passwords must meet the following requirements:'),
'attributes' => array(
'id' => 'password-policy-requirements',
),
));
}
// Attach password evaluation logic and ensure it's added after user.js.
$element['#attached']['js'][] = array(
'data' => drupal_get_path('module', 'password_policy') . '/password_policy.js',
'weight' => 10,
);
// Add dependency of password_policy.js.
$element['#attached']['library'][] = array(
'system',
'drupal.form',
);
// Add clean URL setting for use by password_policy.js.
$clean_url = variable_get('clean_url', FALSE);
$settings = array(
'cleanUrl' => $clean_url,
);
$element['#attached']['js'][] = array(
'data' => array(
'passwordPolicy' => $settings,
),
'type' => 'setting',
);
}