function password_policy_form_policy_form_submit in Password Policy 5
Form submission hook for new or edited password policies.
File
- ./
password_policy.module, line 471
Code
function password_policy_form_policy_form_submit($form_id, $form_values) {
// create the policy
_password_policy_load_constraint_definitions();
// Here we build/re-build a new password policy using an
// And_Constraint object instance. We add a constraint for
// each type where the user entered a number for the minimum value.
$policy = new And_Constraint();
$policy
->setName($form_values['name']);
$policy
->setDescription($form_values['description']);
$policy
->setExpiration(trim($form_values['expiration']));
$policy
->setWarning(str_replace(' ', '', $form_values['warning']));
foreach ($form_values as $key => $value) {
// if we have no form value, then we have no constraint to set.
$value = trim($value);
if ($value != '' && preg_match("/^.*constraint\$/i", $key)) {
$class_name = $key;
if (class_exists($class_name)) {
$constraint = new $class_name($value);
$constraint->minimumConstraintValue = $value;
$policy
->addConstraint($constraint);
}
}
}
// if we have an id, update, else save.
if ($form_values['pid']) {
password_policy_update_policy($form_values['pid'], $policy);
drupal_set_message(t('Policy \'%name\' has been updated.', array(
'%name' => $policy->name,
)));
watchdog('password_policy', t('Policy \'%name\' updated.', array(
'%name' => $policy->name,
)), WATCHDOG_NOTICE, l(t('view'), 'admin/user/password_policy/' . $form_values['pid']));
}
else {
password_policy_save_policy($policy);
watchdog('password_policy', t('New policy \'%name\' added.', array(
'%name' => $policy->name,
)), WATCHDOG_NOTICE, l(t('view'), 'admin/user/password_policy'));
}
return "admin/user/password_policy";
}