$dcount = 0; $fail = 0; foreach ($bids as $bid) { $bid = intval($bid); $demres = $GLOBALS['db']->Execute("SELECT filename FROM `" . DB_PREFIX . "_demos` WHERE `demid` = ?", array($bid)); @unlink(SB_DEMOS . "/" . $demres->fields["filename"]); $blocked = $GLOBALS['db']->GetAll("SELECT s.sid, m.steam_universe FROM `" . DB_PREFIX . "_banlog` bl INNER JOIN " . DB_PREFIX . "_servers s ON s.sid = bl.sid INNER JOIN " . DB_PREFIX . "_mods m ON m.mid = s.modid WHERE bl.bid=? AND (UNIX_TIMESTAMP() - bl.time <= 300)", array($bid)); $steam = $GLOBALS['db']->GetRow("SELECT b.name, b.authid, b.created, b.sid, b.RemoveType, b.ip, b.type, m.steam_universe, UNIX_TIMESTAMP() AS now\n\t\t\t\t\t\t\t\t\t\tFROM " . DB_PREFIX . "_bans b \n\t\t\t\t\t\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "_servers s ON s.sid = b.sid\n\t\t\t\t\t\t\t\t\t\tLEFT JOIN " . DB_PREFIX . "_mods m ON m.mid = s.modid \n\t\t\t\t\t\t\t\t\t\tWHERE b.bid=?", array($bid)); $block = $GLOBALS['db']->Execute("DELETE FROM `" . DB_PREFIX . "_banlog` WHERE bid = ?", array($bid)); $res = $GLOBALS['db']->Execute("DELETE FROM `" . DB_PREFIX . "_bans` WHERE `bid` = ?", array($bid)); if (empty($steam['RemoveType'])) { foreach ($blocked as $tempban) { SendRconSilent($steam['type'] == 0 ? "removeid STEAM_" . $tempban['steam_universe'] . substr($steam['authid'], 7) : "removeip " . $steam['ip'], $tempban['sid']); } if ((int) $steam['now'] - (int) $steam['created'] <= 300 && $steam['sid'] != "0" && !in_array_dim($steam['sid'], $blocked)) { SendRconSilent($steam['type'] == 0 ? "removeid STEAM_" . $steam['steam_universe'] . substr($steam['authid'], 7) : "removeip " . $steam['ip'], $steam['sid']); } } if ($res) { if (!isset($_GET['bulk'])) { echo "<script>ShowBox('Ban Deleted', 'The ban for \\'" . StripQuotes($steam['name']) . "\\' (" . ($steam['type'] == 0 ? $steam['authid'] : $steam['ip']) . ") has been deleted from SourceBans', 'green', 'index.php?p=banlist{$pagelink}');</script>"; } $log = new CSystemLog("m", "Ban Deleted", "Ban '" . StripQuotes($steam['name']) . "' (" . ($steam['type'] == 0 ? $steam['authid'] : $steam['ip']) . ") has been deleted."); $dcount++; } else { if (!isset($_GET['bulk'])) { echo "<script>ShowBox('Ban NOT Deleted', 'The ban for \\'" . StripQuotes($steam['name']) . "\\' had an error while being removed.', 'red', 'index.php?p=banlist{$pagelink}', true);</script>"; } $fail++; } }
$cmd = ""; switch ($steam['type']) { case 1: $cmd = "sc_fw_unmute"; break; case 2: $cmd = "sc_fw_ungag"; break; default: break; } $res = $GLOBALS['db']->Execute("DELETE FROM `" . DB_PREFIX . "_comms` WHERE `bid` = ?", array($bid)); if (empty($steam['RemoveType']) && ($length == 0 || $end > $now)) { $blocked = $GLOBALS['db']->GetAll("SELECT sid FROM `" . DB_PREFIX . "_servers` WHERE `enabled`=1"); foreach ($blocked as $tempban) { SendRconSilent($cmd . " " . $steam['authid'], $tempban['sid']); } } if ($res) { echo "<script>ShowBox('Block Deleted', 'The block for \\'" . StripQuotes($steam['name']) . "\\' (" . $steam['authid'] . ") has been deleted from SourceBans', 'green', 'index.php?p=commslist{$pagelink}');</script>"; $log = new CSystemLog("m", "Block Deleted", "Block '" . StripQuotes($steam['name']) . "' (" . $steam['authid'] . ") has been deleted."); } else { echo "<script>ShowBox('Ban NOT Deleted', 'The ban for \\'" . StripQuotes($steam['name']) . "\\' had an error while being removed.', 'red', 'index.php?p=commslist{$pagelink}', true);</script>"; } } } } // LIMIT для SQL запроса - по номеру страницы и числу банов на страницу $BansStart = intval(($page - 1) * $BansPerPage); $BansEnd = intval($BansStart + $BansPerPage); // hide inactive bans feature