RestrictIpMapper.php in Restrict IP 8.2
File
src/Mapper/RestrictIpMapper.php
View source
<?php
namespace Drupal\restrict_ip\Mapper;
use Drupal\Core\Database\Connection;
class RestrictIpMapper implements RestrictIpMapperInterface {
protected $connection;
public function __construct(Connection $connection) {
$this->connection = $connection;
}
public function getWhitelistedIpAddresses() {
return $this->connection
->query('SELECT ip_address FROM {restrict_ip_whitelisted_ip_addresses} ORDER BY ip_address ASC')
->fetchCol();
}
public function saveWhitelistedIpAddresses(array $ip_addresses, $overwriteExisting = TRUE) {
if ($overwriteExisting) {
$this->connection
->query('DELETE FROM {restrict_ip_whitelisted_ip_addresses}');
}
$query = $this->connection
->insert('restrict_ip_whitelisted_ip_addresses')
->fields([
'ip_address',
]);
foreach ($ip_addresses as $ip_address) {
$query
->values([
'ip_address' => $ip_address,
]);
}
$query
->execute();
}
public function getWhitelistedPaths() {
return $this->connection
->query('SELECT path FROM {restrict_ip_paths} WHERE type = :white ORDER BY path ASC', [
':white' => 'white',
])
->fetchCol();
}
public function saveWhitelistedPaths(array $whitelistedPaths, $overwriteExisting = TRUE) {
if ($overwriteExisting) {
$this->connection
->query('DELETE FROM {restrict_ip_paths} WHERE type = :white', [
':white' => 'white',
]);
}
$query = $this->connection
->insert('restrict_ip_paths')
->fields([
'type',
'path',
]);
foreach ($whitelistedPaths as $whitelisted_path) {
$query
->values([
'type' => 'white',
'path' => $whitelisted_path,
]);
}
$query
->execute();
}
public function getBlacklistedPaths() {
return $this->connection
->query('SELECT path FROM {restrict_ip_paths} WHERE type = :black ORDER BY path ASC', [
':black' => 'black',
])
->fetchCol();
}
public function saveBlacklistedPaths(array $blacklistedPaths, $overwriteExisting = TRUE) {
if ($overwriteExisting) {
$this->connection
->query('DELETE FROM {restrict_ip_paths} WHERE type = :black', [
':black' => 'black',
]);
}
$query = $this->connection
->insert('restrict_ip_paths')
->fields([
'type',
'path',
]);
foreach ($blacklistedPaths as $blacklisted_path) {
$query
->values([
'type' => 'black',
'path' => $blacklisted_path,
]);
}
$query
->execute();
}
}