function purge_users_get_user_ids in Auto Purge Users 8.2
Same name and namespace in other branches
- 8.3 purge_users.module \purge_users_get_user_ids()
- 8 purge_users.module \purge_users_get_user_ids()
Get user ids to purge.
4 calls to purge_users_get_user_ids()
- ConfirmationForm::buildForm in src/
Form/ ConfirmationForm.php - Form constructor.
- ConfirmationForm::submitForm in src/
Form/ ConfirmationForm.php - Form submission handler.
- purge_users_cron in ./
purge_users.module - Implements hook_cron().
- SettingsForm::purgeUsersNowSubmit in src/
Form/ SettingsForm.php - Submit handler for mass-account cancellation form.
File
- ./
purge_users.module, line 261 - Purge users module file.
Code
function purge_users_get_user_ids($op = 'purge_users') {
// Get form submissions.
$result = [];
$config = \Drupal::config('purge_users.settings');
$enable_never_loggedin = $config
->get('enabled_never_loggedin_users');
$enable_loggedin = $config
->get('enabled_loggedin_users');
$enable_inactive = $config
->get('enabled_inactive_users');
$enable_blocked = $config
->get('enabled_blocked_users');
$send_email_user_before_notification = $config
->get('send_email_user_before_notification');
$param = [
'never_login_value' => $config
->get('user_never_lastlogin_value'),
'never_login_period' => $config
->get('user_never_lastlogin_period'),
'login_value' => $config
->get('user_lastlogin_value'),
'login_period' => $config
->get('user_lastlogin_period'),
'inactive_value' => $config
->get('user_inactive_value'),
'inactive_period' => $config
->get('user_inactive_period'),
'blocked_value' => $config
->get('user_blocked_value'),
'blocked_period' => $config
->get('user_blocked_period'),
'disregard_blocked_users' => $config
->get('disregard_blocked_users'),
];
if ($op == 'notification_users' && $send_email_user_before_notification == 1) {
$user_before_notification_value = $config
->get('user_before_notification_value');
$param['never_login_value'] = $param['login_value'] = $param['inactive_value'] = $param['blocked_value'] = $user_before_notification_value;
}
$included_user_roles = array_filter($config
->get('purge_included_users_roles'));
$excluded_user_roles = array_filter($config
->get('purge_excluded_users_roles'));
// Get user ids to purge.
$never_loggedin_users = [];
$not_loggedin_users = [];
$inactive_users = [];
$blocked_users = [];
// Get users who have never logged in at all.
if ($enable_never_loggedin == 1) {
$never_loggedin_users = purge_users_never_loggedin_user_ids($param, $included_user_roles, $excluded_user_roles);
}
// Get users who have not logged in at all.
if ($enable_loggedin == 1) {
$not_loggedin_users = purge_users_not_loggedin_user_ids($param, $included_user_roles, $excluded_user_roles);
}
// Get users who didn't activate their account.
if ($enable_inactive == 1) {
$inactive_users = purge_users_inactive_user_ids($param, $included_user_roles, $excluded_user_roles);
}
// Get the users who are blocked.
if ($enable_blocked == 1) {
$blocked_users = purge_users_blocked_user_ids($param, $included_user_roles, $excluded_user_roles);
}
// Merge results to create an array of user ids to purge.
$result = array_merge($never_loggedin_users, $not_loggedin_users, $inactive_users, $blocked_users);
return $result;
}