You are here

public function CleantalkCheckUsersForm::cleantalk_find_spammers_users in Anti Spam by CleanTalk 8.4

Same name and namespace in other branches
  1. 8.3 src/Form/CleantalkCheckUsersForm.php \Drupal\cleantalk\Form\CleantalkCheckUsersForm::cleantalk_find_spammers_users()
  2. 9.1.x src/Form/CleantalkCheckUsersForm.php \Drupal\cleantalk\Form\CleantalkCheckUsersForm::cleantalk_find_spammers_users()
1 call to CleantalkCheckUsersForm::cleantalk_find_spammers_users()
CleantalkCheckUsersForm::buildForm in src/Form/CleantalkCheckUsersForm.php
Form constructor.

File

src/Form/CleantalkCheckUsersForm.php, line 135

Class

CleantalkCheckUsersForm

Namespace

Drupal\cleantalk\Form

Code

public function cleantalk_find_spammers_users() {
  $ct_authkey = trim(\Drupal::config('cleantalk.settings')
    ->get('cleantalk_authkey'));
  if ($ct_authkey) {
    $ids = \Drupal::entityQuery('user')
      ->execute();
    $users = User::loadMultiple($ids);
    $data = array();
    $spam_users = array();
    foreach ($users as $user) {
      array_push($data, $user
        ->get('mail')->value);
    }
    $data = implode(',', $data);
    $result = CleantalkAPI::method__spam_check_cms($ct_authkey, $data);
    if (isset($result['error_message'])) {
      $this
        ->messenger()
        ->addError($result['error_message']);
    }
    else {
      foreach ($result as $key => $value) {
        if (isset($value['appears']) && $value['appears'] == '1') {
          foreach ($users as $user) {
            if ($user
              ->get('mail')->value == $key) {
              $spam_users[] = $user;
            }
          }
        }
      }
    }
    $storage_array = array();
    $id = 0;
    foreach ($spam_users as $user) {
      $storage_array[$id]['id'] = $user
        ->id();
      $storage_array[$id]['name'] = $user
        ->get('name')->value;
      $storage_array[$id]['mail'] = $user
        ->get('mail')->value;
      $storage_array[$id]['status'] = $user
        ->get('status')->value == 1 ? 'Active' : 'Inactive';
      $storage_array[$id]['created'] = date("Y-m-d H:i:s", $user
        ->get('created')->value);
      $storage_array[$id]['login'] = date("Y-m-d H:i:s", $user
        ->get('login')->value);
      $id++;
    }
    return $storage_array;
  }
}