You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mods-for-HESK-Netsyms/api/DataAccess/Security/BanGateway.php

77 lines
2.5 KiB
PHP

<?php
namespace DataAccess\Security;
use BusinessLogic\Security\BannedEmail;
use BusinessLogic\Security\BannedIp;
use DataAccess\CommonDao;
use Exception;
class BanGateway extends CommonDao {
/**
* @param $heskSettings
* @return BannedEmail[]
*/
function getEmailBans($heskSettings) {
$this->init();
$rs = hesk_dbQuery("SELECT `bans`.`id` AS `id`, `bans`.`email` AS `email`,
`users`.`id` AS `banned_by`, `bans`.`dt` AS `dt`
FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "_banned_emails` AS `bans`
LEFT JOIN `" . hesk_dbEscape($heskSettings['db_pfix']) . "_users` AS `users`
ON `bans`.`banned_by` = `users`.`id`
AND `users`.`active` = '1'");
$bannedEmails = array();
while ($row = hesk_dbFetchAssoc($rs)) {
$bannedEmail = new BannedEmail();
$bannedEmail->id = intval($row['id']);
$bannedEmail->email = $row['email'];
$bannedEmail->bannedById = $row['banned_by'] === null ? null : intval($row['banned_by']);
$bannedEmail->dateBanned = $row['dt'];
$bannedEmails[$bannedEmail->id] = $bannedEmail;
}
$this->close();
return $bannedEmails;
}
/**
* @param $heskSettings
* @return BannedIp[]
*/
function getIpBans($heskSettings) {
$this->init();
$rs = hesk_dbQuery("SELECT `bans`.`id` AS `id`, `bans`.`ip_from` AS `ip_from`,
`bans`.`ip_to` AS `ip_to`, `bans`.`ip_display` AS `ip_display`,
`users`.`id` AS `banned_by`, `bans`.`dt` AS `dt`
FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "_banned_ips` AS `bans`
LEFT JOIN `" . hesk_dbEscape($heskSettings['db_pfix']) . "_users` AS `users`
ON `bans`.`banned_by` = `users`.`id`
AND `users`.`active` = '1'");
$bannedIps = array();
while ($row = hesk_dbFetchAssoc($rs)) {
$bannedIp = new BannedIp();
$bannedIp->id = intval($row['id']);
$bannedIp->ipFrom = intval($row['ip_from']);
$bannedIp->ipTo = intval($row['ip_to']);
$bannedIp->ipDisplay = $row['ip_display'];
$bannedIp->bannedById = $row['banned_by'] === null ? null : intval($row['banned_by']);
$bannedIp->dateBanned = $row['dt'];
$bannedIps[$bannedIp->id] = $bannedIp;
}
$this->close();
return $bannedIps;
}
}