You are here

public static function BatchWorker::batchWorkerPurgeUsers in Auto Purge Users 8.3

Same name and namespace in other branches
  1. 8 src/Plugin/BatchWorker/BatchWorker.php \Drupal\purge_users\Plugin\BatchWorker\BatchWorker::batchworkerpurgeusers()
  2. 8.2 src/Plugin/BatchWorker/BatchWorker.php \Drupal\purge_users\Plugin\BatchWorker\BatchWorker::batchWorkerPurgeUsers()

Process items in a batch.

File

src/Plugin/BatchWorker/BatchWorker.php, line 17

Class

BatchWorker
Purge user and notify.

Namespace

Drupal\purge_users\Plugin\BatchWorker

Code

public static function batchWorkerPurgeUsers($id, &$context) {
  $account = User::load($id);
  if (!isset($context['results']['purged'])) {
    $context['results']['purged'] = 0;
  }
  $config = \Drupal::config('purge_users.settings');
  $method = $config
    ->get('purge_user_cancel_method') != 'user_cancel_site_policy' ? $config
    ->get('purge_user_cancel_method') : \Drupal::config('user.settings')
    ->get('cancel_method');
  $name = $account
    ->get('name')->value;
  $userManagement = \Drupal::service('purge_users.user_management');
  $userManagement
    ->purgeUser($account, $method);
  $userManagement
    ->notifyUser($account);
  $context['message'] = "Now processing {$name} ...";

  // Update our progress information.
  $context['results']['purged']++;
}