MyFail2BanInfo/page/recidivist.php

44 lines
1.3 KiB
PHP

<?php
function getRecidivist($db, $sortBy = 'count', $order = 'ASC') {
$sql = mysqli_query($db, "SELECT ip, COUNT(*) count,country, countryCode FROM bans GROUP BY ip HAVING count > 1 ORDER BY $sortBy $order");
if (!$sql) {
die("Query failed. 1");
}
while ($rows = mysqli_fetch_assoc($sql)) {
$multiplebans[] = $rows;
}
mysqli_free_result($sql);
if (empty($multiplebans)) {
$multiplebans = array();
}
return $multiplebans;
}
if (empty($sortBy)) {
$sortBy = 'count';
}
$multiplebans = getRecidivist($db, $sortBy, $order);
?>
<h2>Recidivist (<?php echo count($multiplebans); ?>)
</h2>
<div class='table'>
<div class='row'>
<div class='cell-header'>
<a href="?page=recidivist&amp;sortBy=count&amp;order=<?php echo $newOrder?>">IP</a>
</div>
<div class='cell-header'>
<a href="?page=recidivist&amp;sortBy=count&amp;order=<?php echo $newOrder?>">Bans</a>
</div>
<div class='cell-header'>
<a href="?page=recidivist&amp;sortBy=country&amp;order=<?php echo $newOrder?>">Country</a>
</div>
</div>
<?php
foreach ($multiplebans as $value) {
echo '<div class="row">
<div class="cell">', $value['ip'], '</div>
<div class="cell">', $value['count'], '</div>
<div class="cell">', $value['country'],printFlag($value['countryCode']),'</div>
</div>';
}
?>
</div>