sqlite compat for ipbans
This commit is contained in:
parent
be5ed6272c
commit
bb9e3f08cb
@ -163,16 +163,20 @@ class IPBan implements Extension {
|
|||||||
global $config;
|
global $config;
|
||||||
global $database;
|
global $database;
|
||||||
|
|
||||||
|
$prefix = ($database->engine->name == "sqlite" ? "bans." : "");
|
||||||
|
|
||||||
$remote = $_SERVER['REMOTE_ADDR'];
|
$remote = $_SERVER['REMOTE_ADDR'];
|
||||||
$bans = $this->get_active_bans();
|
$bans = $this->get_active_bans();
|
||||||
foreach($bans as $row) {
|
foreach($bans as $row) {
|
||||||
|
$ip = $row[$prefix."ip"];
|
||||||
if(
|
if(
|
||||||
(strstr($row['ip'], '/') && ip_in_range($remote, $row['ip'])) ||
|
(strstr($ip, '/') && ip_in_range($remote, $ip)) ||
|
||||||
($row['ip'] == $remote)
|
($ip == $remote)
|
||||||
) {
|
) {
|
||||||
$admin = User::by_id($row['banner_id']);
|
$reason = $row[$prefix.'reason'];
|
||||||
$date = date("Y-m-d", $row['end_timestamp']);
|
$admin = User::by_id($row[$prefix.'banner_id']);
|
||||||
print "IP <b>{$row['ip']}</b> has been banned until <b>$date</b> by <b>{$admin->name}</b> because of <b>{$row['reason']}</b>";
|
$date = date("Y-m-d", $row[$prefix.'end_timestamp']);
|
||||||
|
print "IP <b>$ip</b> has been banned until <b>$date</b> by <b>{$admin->name}</b> because of <b>$reason</b>";
|
||||||
|
|
||||||
$contact_link = $config->get_string("contact_link");
|
$contact_link = $config->get_string("contact_link");
|
||||||
if(!empty($contact_link)) {
|
if(!empty($contact_link)) {
|
||||||
@ -190,7 +194,7 @@ class IPBan implements Extension {
|
|||||||
SELECT bans.*, users.name as banner_name
|
SELECT bans.*, users.name as banner_name
|
||||||
FROM bans
|
FROM bans
|
||||||
JOIN users ON banner_id = users.id
|
JOIN users ON banner_id = users.id
|
||||||
ORDER BY end_timestamp, id
|
ORDER BY end_timestamp, bans.id
|
||||||
");
|
");
|
||||||
if($bans) {return $bans;}
|
if($bans) {return $bans;}
|
||||||
else {return array();}
|
else {return array();}
|
||||||
@ -207,7 +211,7 @@ class IPBan implements Extension {
|
|||||||
FROM bans
|
FROM bans
|
||||||
JOIN users ON banner_id = users.id
|
JOIN users ON banner_id = users.id
|
||||||
WHERE (end_timestamp > UNIX_TIMESTAMP(now())) OR (end_timestamp IS NULL)
|
WHERE (end_timestamp > UNIX_TIMESTAMP(now())) OR (end_timestamp IS NULL)
|
||||||
ORDER BY end_timestamp, id
|
ORDER BY end_timestamp, bans.id
|
||||||
");
|
");
|
||||||
|
|
||||||
$database->cache->set("bans", $bans);
|
$database->cache->set("bans", $bans);
|
||||||
|
@ -12,21 +12,23 @@ class IPBanTheme extends Themelet {
|
|||||||
* )
|
* )
|
||||||
*/
|
*/
|
||||||
public function display_bans(Page $page, $bans) {
|
public function display_bans(Page $page, $bans) {
|
||||||
global $user;
|
global $database, $user;
|
||||||
$h_bans = "";
|
$h_bans = "";
|
||||||
$n = 0;
|
$n = 0;
|
||||||
|
$prefix = ($database->engine->name == "sqlite" ? "bans." : "");
|
||||||
|
$prefix2 = ($database->engine->name == "sqlite" ? "users." : "");
|
||||||
foreach($bans as $ban) {
|
foreach($bans as $ban) {
|
||||||
$end_human = date('Y-m-d', $ban['end_timestamp']);
|
$end_human = date('Y-m-d', $ban[$prefix.'end_timestamp']);
|
||||||
$oe = ($n++ % 2 == 0) ? "even" : "odd";
|
$oe = ($n++ % 2 == 0) ? "even" : "odd";
|
||||||
$h_bans .= "
|
$h_bans .= "
|
||||||
<tr class='$oe'>
|
<tr class='$oe'>
|
||||||
<td width='10%'>{$ban['ip']}</td>
|
<td width='10%'>{$ban[$prefix.'ip']}</td>
|
||||||
<td>{$ban['reason']}</td>
|
<td>{$ban[$prefix.'reason']}</td>
|
||||||
<td width='10%'>{$ban['banner_name']}</td>
|
<td width='10%'>{$ban['banner_name']}</td>
|
||||||
<td width='15%'>{$end_human}</td>
|
<td width='15%'>{$end_human}</td>
|
||||||
<td width='10%'>
|
<td width='10%'>
|
||||||
<form action='".make_link("ip_ban/remove")."' method='POST'>
|
<form action='".make_link("ip_ban/remove")."' method='POST'>
|
||||||
<input type='hidden' name='id' value='{$ban['id']}'>
|
<input type='hidden' name='id' value='{$ban[$prefix.'id']}'>
|
||||||
<input type='submit' value='Remove'>
|
<input type='submit' value='Remove'>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user