function force_password_change_settings_submit in Force Password Change 6.2
Same name and namespace in other branches
- 6.3 force_password_change_pages.inc \force_password_change_settings_submit()
- 7.2 force_password_change.pages.inc \force_password_change_settings_submit()
- 7 force_password_change.pages.inc \force_password_change_settings_submit()
Submit function for the settings form
File
- ./
force_password_change_pages.inc, line 77
Code
function force_password_change_settings_submit($form, &$form_state) {
$selected_roles = array();
variable_set('change_password_url', $form_state['values']['change_password_url']);
variable_set('first_time_login_password_change', $form_state['values']['first_time_login_password_change']);
$form_state['values']['first_time_login_password_change'] ? drupal_set_message(t('New users will be required to change their password on first-time login')) : drupal_set_message(t('New users will not be required to change their pasword on first-time login'));
foreach ($form_state['values']['roles'] as $role) {
if ($role > 2) {
$uids = array();
$db_uids = db_query('SELECT uid ' . 'FROM {users_roles} ' . 'WHERE rid = %d', $role);
while ($uid = db_fetch_array($db_uids)) {
$uids[] = $uid['uid'];
}
$uid_list = implode(', ', $uids);
if (strlen($uid_list)) {
db_query('UPDATE {users} ' . 'SET force_password_change = 1 ' . 'WHERE uid IN (%s)', $uid_list);
db_query('UPDATE {force_password_change_users} ' . 'SET last_force = %d ' . 'WHERE uid IN (%s)', time(), $uid_list);
}
$selected_roles[] = $role;
}
elseif ($role == 2) {
db_query('UPDATE {users} ' . 'SET force_password_change = 1 ');
db_query('UPDATE {force_password_change_users} ' . 'SET last_force = %d ', time());
$selected_roles[] = $role;
}
}
if (count($selected_roles)) {
db_query('UPDATE {force_password_change_roles} ' . 'SET last_force = %d ' . 'WHERE rid IN (%s) ', time(), implode(', ', $selected_roles));
$roles = user_roles(TRUE);
$list = '<ul>';
foreach ($selected_roles as $sr) {
$list .= '<li>' . $roles[$sr] . '</li>';
}
$list .= '</ul>';
drupal_set_message(t('Users in the following roles will be required to immediately change their password: !list', array(
'!list' => $list,
)), 'status');
}
else {
drupal_set_message(t('No roles were selected.'));
}
}