AutoLoginUrlGeneral.php in Auto Login URL 8
File
src/AutoLoginUrlGeneral.php
View source
<?php
namespace Drupal\auto_login_url;
use Drupal\Component\Utility\Random;
use Drupal\Core\Config\ConfigFactory;
class AutoLoginUrlGeneral {
public function __construct() {
}
function checkFlood() {
$flood_config = \Drupal::config('user.flood');
$flood = \Drupal::flood();
if (!$flood
->isAllowed('user.failed_login_ip', $flood_config
->get('ip_limit'), $flood_config
->get('ip_window'))) {
return TRUE;
}
else {
return FALSE;
}
}
function registerFlood($hash) {
$flood_config = \Drupal::config('user.flood');
$flood = \Drupal::flood();
$flood
->register('user.failed_login_ip', $flood_config
->get('ip_window'));
\Drupal::logger('auto_login_url')
->error('Failed Auto Login URL from ip: @ip and hash: @hash', [
'@ip' => \Drupal::request()
->getClientIp(),
'@hash' => $hash,
]);
}
function getSecret() {
$config = \Drupal::config('auto_login_url.settings');
$secret = $config
->get('secret');
if ($secret == '') {
$random_generator = new Random();
$secret = $random_generator
->name(64);
\Drupal::configFactory()
->getEditable('auto_login_url.settings')
->set('secret', $secret)
->save();
}
return $secret;
}
function getUserHash($uid) {
$query = \Drupal::database()
->select('users_field_data', 'u');
$query
->addField('u', 'pass');
$query
->condition('u.uid', $uid);
$query
->range(0, 1);
return $query
->execute()
->fetchField();
}
}