Въпрос относно запазване на бановете в AMXBANS
-
Drea<M>40BG ;]]
Извън линия - Потребител
- Мнения: 750
- Регистриран на: 11 Окт 2016, 11:35
- Се отблагодари: 115 пъти
- Получена благодарност: 63 пъти
- Обратна връзка:
Въпрос относно запазване на бановете в AMXBANS
https://dixiklo-servers.xyz/banlist/ban_list.php Какво да направя, че изтеклите банове да си стоят като "история" или да ги показва още, но да пише, че са изтегли и играчите да могат да си влизат? Не намерих настройка в админ панела.
6.14.4
6.14.4
-
illusion
Извън линия - Developer
- Мнения: 1810
- Регистриран на: 27 Ное 2016, 17:47
- Местоположение: CraftVision
- Се отблагодари: 151 пъти
- Получена благодарност: 371 пъти
- Обратна връзка:
Въпрос относно запазване на бановете в AMXBANS
https://amxx-bg.info/forum/viewtopic.php?f=36&t=2491
При CSBans има такава настройка от админ панела, затова ти препоръчвам него, ако можеш да го подкараш съответно.
При CSBans има такава настройка от админ панела, затова ти препоръчвам него, ако можеш да го подкараш съответно.
-
Drea<M>40BG ;]]
Извън линия - Потребител
- Мнения: 750
- Регистриран на: 11 Окт 2016, 11:35
- Се отблагодари: 115 пъти
- Получена благодарност: 63 пъти
- Обратна връзка:
Въпрос относно запазване на бановете в AMXBANS
Вече съм инсталирал AMXBANS, няма да инсталирам друг, този също работи добре. Пробвах да променя ban_list.tpl както при теб, но пак не стана. Изчистих кеша на банлиста.
Ако може и да ми се добави: "Твоето IP <ипто> е/не е баннато от сървърите ни.
Код за потвърждение: Избери целия код
<div class="main">
<div class="post">
<!-- Pagenation -->
<div class="pager" style="text-align:right">
<span class="first">{"_SITE"|lang} {$ban_page.current} {"_OF"|lang} {$ban_page.max_page}:</span>
{if $pagenav.first}
<a href="?site={$pagenav.first}"><img src="images/page_start.png" title="{"_FIRST_PAGE"|lang}" alt="{"_FIRST_PAGE"|lang}"></a>
{/if}
{if $pagenav.prev}
<a href="?site={$pagenav.prev}"><img src="images/page_back.png" title="{"_PREVIOUS_PAGE"|lang}" alt="{"_PREVIOUS_PAGE"|lang}"></a>
{/if}
{foreach from=$pagenav.pages item=page}
{if $page.current}
<span>{$page.number}</span>
{else}
<a href="?site={$page.number}">{$page.number}</a>
{/if}
{/foreach}
{if $pagenav.next}
<a href="?site={$pagenav.next}"><img src="images/page_next.png" title="{"_NEXT_PAGE"|lang}" alt="{"_NEXT_PAGE"|lang}"></a>
{/if}
{if $pagenav.last}
<a href="?site={$pagenav.last}"><img src="images/page_end.png" title="{"_LAST_PAGE"|lang}" alt="{"_LAST_PAGE"|lang}"></a>
{/if}
</div>
<br /><br />
<!-- Pagenation -->
<table frame="box" rules="groups" summary="">
<thead>
<tr>
<th style="width:20px;"></th>
<th>{"_DATE"|lang}</th>
<th>{"_PLAYER"|lang}</th>
<th>{"_ADMIN"|lang}</th>
<th>{"_REASON"|lang}</th>
<th>{"_LENGHT"|lang}</th>
{if $ban_page.show_comments == 1 && $vars.use_comment == 1}<th style="width: 30px;">{"_BL_COMMENTS"|lang}</th>{/if}
{if $ban_page.show_demos == 1 && $vars.use_demo == 1}<th style="width: 30px;">{"_BL_FILES"|lang}</th>{/if}
{if $ban_page.show_kicks == 1}<th style="width: 30px;">{"_BL_KICKS"|lang}</th>{/if}
</tr>
</thead>
<tbody>
<!-- No Bans -->
{if $error}
<tr>
<td class="_center" colspan="9">{"_NO_BANS"|lang}</td>
</tr>
{else}
<!-- No Bans -->
<!-- Banlist -->
{foreach from=$ban_list item=ban_list}
{if $ban_list.ban_length>0 && $ban_list.ban_end < $smarty.now}
<tr onclick="NewToggleLayer('layer_{$ban_list.bid}')" style="background: #DBF4D7" class='list'>
{else}
<tr onclick="NewToggleLayer('layer_{$ban_list.bid}')" class="list">
{/if}
<td class="_center"><img alt="{if $ban_list.mod == "html"}{"_WEB"|lang}{else}{$ban_list.mod|lang}{/if}" title="{if $ban_list.mod == "html"}{"_WEB"|lang}{else}{$ban_list.mod|lang}{/if}" src="templates/{$design}_gfx/games/{$ban_list.mod}.gif" /></td>
<td>{$ban_list.ban_created|date_format:"%Y-%m-%d"}</td>
<td> {$ban_list.player_nick}</td>
<td>{$ban_list.admin_nick}</td>
<td>{$ban_list.ban_reason}</td>
<td>{if $ban_list.ban_length>0}
{$ban_list.ban_length*60|date2word:true}
{else}
{"_PERMANENT"|lang}
{/if}
</td>
{if $ban_page.show_comments == 1 && $vars.use_comment == 1}<td class="_center">{$ban_list.comment_count}</td>{/if}
{if $ban_page.show_demos == 1 && $vars.use_demo == 1}<td class="_center">{$ban_list.demo_count}</td>{/if}
{if $ban_page.show_kicks == 1}<td class="_center">{$ban_list.kick_count}</td>{/if}
</tr>
<tr id="layer_{$ban_list.bid}" style="display:none;">
<td class="server-info" colspan="9"><div style="display:none;">
<table frame="box" rules="groups" summary="">
<thead>
<tr>
<th style="width:150px;">{"_BANDETAILS"|lang}</th>
<th class="_right">
<form method="post" action="" style="display:inline;">
<input type="hidden" name="bid" value="{$ban_list.bid}" />
<input type="hidden" name="site" value="{$ban_page.current}" />
<input class="img_input" name="details" type="image" src="templates/{$design}_gfx/page.png" title="{"_DETAILS"|lang}"/>
</form>
{if $smarty.session.bans_delete=="yes" || ($smarty.session.bans_delete=="own" && $smarty.session.uname == $ban_detail.username)}
<form method="post" action="" style="display:inline;">
<input class="img_input" name="del_ban" type="image" src="templates/{$design}_gfx/page_delete.png" onclick="return confirm('{"_DELBAN"|lang}{"_DATALOSS"|lang}');" border="0" title="{"_TIP_DEL"|lang}" />
<input type="hidden" name="site" value="{$site}" />
<input type="hidden" name="bid" value="{$ban_list.bid}" />
<input type="hidden" name="details_x" value="1" />
</form>
{/if}
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="fat">{"_NICKNAME"|lang}</td>
<td>{$ban_list.player_nick}</td>
</tr>
<tr>
<td class="fat">{"_STEAMID"|lang}</td>
<td>{if $ban_list.player_id <> ""}{$ban_list.player_id}{else}<span style='font-style:italic;font-weight:bold;'>{"_NOSTEAMID"|lang}</span>{/if}</td>
</tr>
<tr>
<td class="fat">{"_STEAMCOMID"|lang}</td>
<td>
{if $ban_list.player_id <> ""}
<a target="_blank" href="http://steamcommunity.com/profiles/{$ban_list.player_comid}">{$ban_list.player_comid}</a>
{else}
{"_NOTAVAILABLE"|lang}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_IP"|lang}</td>
<td>
{if $smarty.session.ip_view=="yes"}
{if $ban_list.player_ip}
{$ban_list.player_ip}
{else}
<i>{"_NOTAVAILABLE"|lang}</i>
{/if}
{else}
<span style='font-style:italic;font-weight:bold'>{"_HIDDEN"|lang}</span>
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_BANTYPE"|lang}</td>
<td>
{if $ban_list.ban_type=="S"}
{"_STEAMID"|lang}
{elseif $ban_list.ban_type=="SI"}
{"_STEAMID&IP"|lang}
{else}
{"_NOTAVAILABLE"|lang}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_REASON"|lang}</td>
<td>{$ban_list.ban_reason}</td>
</tr>
<tr>
<td class="fat">{"_INVOKED"|lang}</td>
<td>{$ban_list.ban_created|date_format:"%d %b %Y - %T"}</td>
</tr>
<tr>
<td class="fat">{"_EXPIRES"|lang}</td>
<td>
{if $ban_list.ban_length==0}
<span style='font-style:italic;font-weight:bold;color:red'>{"_NOTAPPLICABLE"|lang}</span>
{else}
{$ban_list.ban_end|date_format:"%d %b %Y - %T"}
{if $ban_list.ban_end < $smarty.now}
({"_ALREADYEXP"|lang})
{else}
<i>({$ban_list.ban_end-$smarty.now|date2word} {"_REMAINING"|lang})</i>
{/if}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_BANBY"|lang}</td>
<td>{$ban_list.admin_nick}{if $ban_list.nickname}<i>({$ban_list.nickname})</i>{/if}</td>
</tr>
<tr>
<td class="fat">{"_BANON"|lang}</td>
<td>{if $ban_list.server_name == "website"}{"_WEB"|lang}{else}{$ban_list.server_name}{/if}</td>
</tr>
<tr>
<td class="fat">{"_TOTALEXPBANS"|lang}</td>
<td>{$ban_list.bancount-1}</td>
</tr>
</tbody>
</table> </div>
</td>
</tr>
{/foreach}
{/if}
<!-- Banlist -->
</tbody>
</table>
<div class="clearer"> </div>
</div>
<div class="clearer"> </div>
<!-- Pagenation -->
<div class="pager" style="text-align:right">
<span class="first">{"_SITE"|lang} {$ban_page.current} {"_OF"|lang} {$ban_page.max_page}:</span>
{if $pagenav.first}
<a href="?site={$pagenav.first}"><img src="images/page_start.png" title="{"_FIRST_PAGE"|lang}" alt="{"_FIRST_PAGE"|lang}"></a>
{/if}
{if $pagenav.prev}
<a href="?site={$pagenav.prev}"><img src="images/page_back.png" title="{"_PREVIOUS_PAGE"|lang}" alt="{"_PREVIOUS_PAGE"|lang}"></a>
{/if}
{foreach from=$pagenav.pages item=page}
{if $page.current}
<span>{$page.number}</span>
{else}
<a href="?site={$page.number}">{$page.number}</a>
{/if}
{/foreach}
{if $pagenav.next}
<a href="?site={$pagenav.next}"><img src="images/page_next.png" title="{"_NEXT_PAGE"|lang}" alt="{"_NEXT_PAGE"|lang}"></a>
{/if}
{if $pagenav.last}
<a href="?site={$pagenav.last}"><img src="images/page_end.png" title="{"_LAST_PAGE"|lang}" alt="{"_LAST_PAGE"|lang}"></a>
{/if}
</div>
<div class="clearer"></div>
<!-- Pagenation -->
</div>
-
~jeff
Извън линия - Потребител
- Мнения: 158
- Регистриран на: 24 Ное 2018, 12:39
- Се отблагодари: 2 пъти
- Получена благодарност: 27 пъти
Въпрос относно запазване на бановете в AMXBANS
Добави main_header.tpl
Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law and repeat after me: I AM FREE
-
Drea<M>40BG ;]]
Извън линия - Потребител
- Мнения: 750
- Регистриран на: 11 Окт 2016, 11:35
- Се отблагодари: 115 пъти
- Получена благодарност: 63 пъти
- Обратна връзка:
Въпрос относно запазване на бановете в AMXBANS
Код за потвърждение: Избери целия код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{assign var="lang" value=$true|getlanguage}
{assign var="select_lang" value=$true|selectlang:"session"}
{assign var="default_lang" value=$true|selectlang:"config"}
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html" charset="utf-8" />
<meta name="description" content="A ban system for the HL1 engine to manage multiple server bans."/>
<meta name="keywords" content="amx, bans, amxbans" />
<meta name="author" content="setoy, shorty, Sleepwalker, indianiso1" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="stylesheet" type="text/css" href="templates/{$design}_css/style.css" />
<title>AMXBans {$version_web} - {$title|lang}{if $title2} - {$title2|lang}{/if}</title>
<script type="text/javascript" src="templates/{$design}_js/amxbans.js.php"></script>
<script type="text/javascript" src="templates/{$design}_js/jquery.js"></script>
<script type="text/javascript" src="templates/{$design}_js/tooltip.js"></script>
<script type="text/javascript" src="include/layer.js"></script>
</head>
<body id="top" {if $smarty.session.loginfailed}onLoad="javascript: countdown({$smarty.session.loginfailed});"{/if}>
<div id="network">
<div class="center-wrapper">
<div class="left">
<ul class="tabbed" id="menu-tabs">
<li>
<form method="post" action="" style="padding:5px 8px 0 0;margin:0;">
<select name="newlang" style="padding:0;margin:0;" onchange="this.form.submit()">
{foreach from=$lang item="lang"}
<option value="{$lang|escape}" {if empty($select_lang) && $default_lang == $lang}selected="selected"{/if} {if $select_lang == $lang}selected="selected"{/if}>{$lang|escape}</option>
{/foreach}
</select>
</form>
</li>
{foreach from=$menu item=menu}
{if $smarty.session.loggedin == "true"}
{if $menu.lang_key2}<li><a href="{$menu.url2}">{$menu.lang_key2|lang}</a></li>{/if}
{else}
{if $menu.lang_key}<li><a href="{$menu.url}">{$menu.lang_key|lang}</a></li>{/if}
{/if}
{/foreach}
</ul>
</div>
<div class="right">
<ul class="tabbed" id="admin-tabs">
{if $smarty.session.loggedin == "true"}
<li><a href="admin.php">{"_ADMINAREA"|lang}</a></li>
<li><a href="logout.php">{"_LOGOUT"|lang} {$smarty.session.uname}</a></li>
{else}
<li>
<form name="loginform" action="login.php" method="post">
<script type="text/javascript">
var languser = '{"_USERNAME"|lang}';
var langpass = '{"_PASSWORD"|lang}';
</script>
<input
type="text"
size="17"
name="user"
value="{"_USERNAME"|lang}"
onfocus="javascript:if(this.value=languser)this.value='';"
/>
<input
type="password"
size="12"
name="pass"
value="{"_PASSWORD"|lang}"
onfocus="javascript:if(this.value=langpass)this.value='';"
/>
<input type='checkbox' checked="checked" name='remember' title='{"_REMEMBERME"|lang}' />
<button type="submit" name="action" id="action" value="Login">{"_LOGIN"|lang}</button>
</form>
</li>
{/if}
</ul>
</div>
<div class="clearer"> </div>
</div>
</div>
<div id="site">
<div class="center-wrapper">
{if $banner <> ""}
<div id="header">
<div id="site-title" style="text-align: center;">
<a href="{$banner_url}" target="_blank"><img src="images/banner/{$banner}" alt="{$banner_url}" title="{$banner_url}" /></a>
</div>
</div>
{else}
<div class="spacer"> </div>
{/if}
-
~jeff
Извън линия - Потребител
- Мнения: 158
- Регистриран на: 24 Ное 2018, 12:39
- Се отблагодари: 2 пъти
- Получена благодарност: 27 пъти
Re: Въпрос относно запазване на бановете в AMXBANS
main_header.tpl
Прикачи ми сега: ban_list.php
Код за потвърждение: Избери целия код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{assign var="lang" value=$true|getlanguage}
{assign var="select_lang" value=$true|selectlang:"session"}
{assign var="default_lang" value=$true|selectlang:"config"}
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html" charset="utf-8" />
<meta name="description" content="A ban system for the HL1 engine to manage multiple server bans."/>
<meta name="keywords" content="amx, bans, amxbans" />
<meta name="author" content="setoy, shorty, Sleepwalker, indianiso1" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="stylesheet" type="text/css" href="templates/{$design}_css/style.css" />
<title>AMXBans {$version_web} - {$title|lang}{if $title2} - {$title2|lang}{/if}</title>
<script type="text/javascript" src="templates/{$design}_js/amxbans.js.php"></script>
<script type="text/javascript" src="templates/{$design}_js/jquery.js"></script>
<script type="text/javascript" src="templates/{$design}_js/tooltip.js"></script>
<script type="text/javascript" src="include/layer.js"></script>
</head>
<body id="top" {if $smarty.session.loginfailed}onLoad="javascript: countdown({$smarty.session.loginfailed});"{/if}>
<div id="network">
<div class="center-wrapper">
<div class="left">
<ul class="tabbed" id="menu-tabs">
<li>
<form method="post" action="" style="padding:5px 8px 0 0;margin:0;">
<select name="newlang" style="padding:0;margin:0;" onchange="this.form.submit()">
{foreach from=$lang item="lang"}
<option value="{$lang|escape}" {if empty($select_lang) && $default_lang == $lang}selected="selected"{/if} {if $select_lang == $lang}selected="selected"{/if}>{$lang|escape}</option>
{/foreach}
</select>
</form>
</li>
{foreach from=$menu item=menu}
{if $smarty.session.loggedin == "true"}
{if $menu.lang_key2}<li><a href="{$menu.url2}">{$menu.lang_key2|lang}</a></li>{/if}
{else}
{if $menu.lang_key}<li><a href="{$menu.url}">{$menu.lang_key|lang}</a></li>{/if}
{/if}
{/foreach}
</ul>
</div>
<div class="right">
<ul class="tabbed" id="admin-tabs">
{if $smarty.session.loggedin == "true"}
<li><a href="admin.php">{"_ADMINAREA"|lang}</a></li>
<li><a href="logout.php">{"_LOGOUT"|lang} {$smarty.session.uname}</a></li>
{else}
<li>
<form name="loginform" action="login.php" method="post">
<script type="text/javascript">
var languser = '{"_USERNAME"|lang}';
var langpass = '{"_PASSWORD"|lang}';
</script>
<input
type="text"
size="17"
name="user"
value="{"_USERNAME"|lang}"
onfocus="javascript:if(this.value=languser)this.value='';"
/>
<input
type="password"
size="12"
name="pass"
value="{"_PASSWORD"|lang}"
onfocus="javascript:if(this.value=langpass)this.value='';"
/>
<input type='checkbox' checked="checked" name='remember' title='{"_REMEMBERME"|lang}' />
<button type="submit" name="action" id="action" value="Login">{"_LOGIN"|lang}</button>
</form>
</li>
{/if}
</ul>
</div>
<div class="clearer"> </div>
</div>
</div>
<div id="site">
<div class="center-wrapper">
{if $banner <> ""}
<div id="header">
<div id="site-title" style="text-align: center;">
<a href="{$banner_url}" target="_blank"><img src="images/banner/{$banner}" alt="{$banner_url}" title="{$banner_url}" /></a>
</div>
</div>
{else}
<div class="spacer"> </div>
{/if}
{if isset($check_id)}
<div class="success">
<a href="http://{$smarty.server.HTTP_HOST}{$smarty.server.PHP_SELF}?bid={$check_id}">{"_YOUAREBANNED"|lang}</a>
</div>
{else}
<div class="error">
{"_IP"|lang} - <b>{$your_ip}</b>. {"_YOUNOTBANNED"|lang}
</div>
{/if}
Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law and repeat after me: I AM FREE
-
Drea<M>40BG ;]]
Извън линия - Потребител
- Мнения: 750
- Регистриран на: 11 Окт 2016, 11:35
- Се отблагодари: 115 пъти
- Получена благодарност: 63 пъти
- Обратна връзка:
Re: Въпрос относно запазване на бановете в AMXBANS
Код за потвърждение: Избери целия код
<?php
/*
AMXBans v6.0
Copyright 2009, 2010 by SeToY & |PJ|ShOrTy
This file is part of AMXBans.
AMXBans is free software, but it's licensed under the
Creative Commons - Attribution-NonCommercial-ShareAlike 2.0
AMXBans is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
You should have received a copy of the cc-nC-SA along with AMXBans.
If not, see <http://creativecommons.org/licenses/by-nc-sa/2.0/>.
*/
session_start();
require_once("include/config.inc.php");
require_once("include/access.inc.php");
require_once("include/menu.inc.php");
require_once("include/steam.inc.php");
require_once("include/sql.inc.php");
require_once("include/logfunc.inc.php");
require_once("include/functions.inc.php");
require_once("include/thumbs.inc.php");
// Template generieren
$title = "_TITLEBANLIST";
$smarty = new dynamicPage;
$user_site="";
if(isset($_GET["bid"]) && is_numeric($_GET["bid"])) {
$_POST["bid"] = $_GET["bid"];
$tmp = "bd";
}
//user page loader
if(isset($_POST["bid"])) {
isset($_POST["details_x"])?$tmp="bd":""; //ban details
if(file_exists("include/user/user_".$tmp.".php")) {
$user_site=$tmp;
include("include/user/user_".$tmp.".php");
}
}
//create default ban list and show it
$ban_page = "";
if(!$user_site) {
$page = "";
//count activ bans
$query = $mysql->query("SELECT COUNT(bid) FROM `".$config->db_prefix."_bans` WHERE `expired`=0") or die ($mysql->error);
$ban_count[0]=$query->fetch_row()[0];
//count all bans
$query = $mysql->query("SELECT COUNT(bid) FROM `".$config->db_prefix."_bans`") or die ($mysql->error);
$ban_count[1]=$query->fetch_row()[0];
//calc max sites
$ban_page_max=ceil($ban_count[0] / $config->bans_per_page);
if(isset($_REQUEST["site"])) $page=(int)$_REQUEST["site"];
if(isset($_REQUEST["siteback_x"])) $page=(int)$_REQUEST["site"];
if(isset($_REQUEST["sitenext_x"])) $page=(int)$_REQUEST["site"];
if(isset($_REQUEST["sitestart_x"])) $page=1;
if(isset($_REQUEST["siteend_x"])) $page=$ban_page_max;
//check if site nr is valid
$ban_page_curr=($page==0 || $page>$ban_page_max) ? 1:$page;
//calc mysql limits from current site
$min=($config->bans_per_page * $ban_page_curr)-$config->bans_per_page;
//build array with site info
$ban_page=array(
"current" => $ban_page_curr, //current site
"max_page" => ($ban_page_max)? $ban_page_max:1, //last site
"per_page" => $config->bans_per_page, //bans per page
"first_ban" => ($ban_count[0])? $min + 1:$min, //+1: LIMIT 0 is the first ban
"max_ban" => $ban_count[0], //count activ bans
"all_ban" => $ban_count[1] //count all bans
);
//get bans for current page
$query = $mysql->query("SELECT ba.*, se.gametype,se.timezone_fixx, aa.nickname FROM `".$config->db_prefix."_bans` AS ba
LEFT JOIN `".$config->db_prefix."_serverinfo` AS se ON ba.server_ip=se.address
LEFT JOIN `".$config->db_prefix."_amxadmins` AS aa ON (aa.steamid=ba.admin_nick OR aa.steamid=ba.admin_ip OR aa.steamid=ba.admin_id)
WHERE ba.expired=0 ORDER BY ban_created DESC LIMIT ".$min.",".$config->bans_per_page) or die($mysql->error);
//build ban list array
while($result = $query->fetch_object()) {
if($result->expired==1) continue;
$steamid="";
$steamcomid="";
if(!empty($result->player_id)) {
$steamid = html_safe($result->player_id);
$steamcomid = GetFriendId($steamid);
}
$ban_row=array(
"bid" => $result->bid,
"player_ip" => $result->player_ip,
"player_id" => $result->player_id,
"player_comid" => $steamcomid,
"player_nick" => html_safe($result->player_nick),
"admin_ip" => $result->admin_ip,
"admin_id" => $result->admin_id,
"admin_nick" => html_safe($result->admin_nick),
"ban_type" => $result->ban_type,
"ban_reason" => $result->ban_reason,
"ban_created" => ($result->ban_created + ($result->timezone_fixx * 60 * 60)),
"ban_length" => $result->ban_length,
"ban_end" => ($result->ban_created + ($result->ban_length * 60) + ($result->timezone_fixx * 60 * 60)),
"server_ip" => $result->server_ip,
"server_name" => html_safe($result->server_name),
"expired" => $result->expired,
);
// get previous offences if any
$query2 = $mysql->query("SELECT count(player_id) as ban_count FROM `".$config->db_prefix."_bans` WHERE player_id = '".$result->player_id."'") or die($mysql->error);
while($result2 = $query2->fetch_object()) {
$ban_row["bancount"] = $result2->ban_count;
}
$queryX = $mysql->query("SELECT count(player_id) as ban_count FROM `".$config->db_prefix."_bans` WHERE player_id = '".$result->player_id."' AND (ban_length > 5 OR ban_length = 0)") or die($mysql->error);
while($resultX = $queryX->fetch_object()) {
$tmp_bancount = $resultX->ban_count;
}
//if needed prune bans but after query to see it in the list once
if($config->auto_prune=="1") {
//first search for max offence bans
if($tmp_bancount >= $config->max_offences && $ban_row["ban_length"] >= "0" && !(strlen(strstr($ban_row["ban_reason"],$config->max_offences_reason))>0)) {
$ban_row["ban_length"] = "0";
$new_reason = $ban_row["ban_reason"] . ' (' .$config->max_offences_reason.')';
$ban_row["ban_reason"] = $new_reason;
$prune_query = $mysql->query("UPDATE `".$config->db_prefix."_bans` SET `expired`=0,`ban_length`=0,`ban_reason`='".$new_reason."' WHERE `bid`=".$result->bid);
$prune_query = $mysql->query("INSERT INTO `".$config->db_prefix."_bans_edit` (`bid`,`edit_time`,`admin_nick`,`edit_reason`) VALUES (
'".$result->bid."',UNIX_TIMESTAMP(NOW()),'amxbans','".$new_reason."')");
}
//prune expired bans
if($ban_row["ban_end"] < time() && $ban_row["ban_length"] != "0") {
$prune_query = $mysql->query("UPDATE `".$config->db_prefix."_bans` SET `expired`=1 WHERE `bid`=".$ban_row["bid"]);
$prune_query = $mysql->query("INSERT INTO `".$config->db_prefix."_bans_edit` (`bid`,`edit_time`,`admin_nick`,`edit_reason`) VALUES (
'".$result->bid."','".$ban_row["ban_end"]."','amxbans','Bantime expired')");
}
}
if($result->server_ip=="") {
$ban_row["mod"]="html";
} else {
$ban_row["mod"]=($result->gametype=="" || $result->gametype=="website")?"html":$result->gametype;
$ban_row["nickname"]=html_safe($result->nickname);
}
if($config->show_kick_count=="1") {
$ban_row["kick_count"]=$result->ban_kicks;
$ban_page["show_kicks"]=1;
}
if($config->show_demo_count=="1") {
$ban_row["demo_count"]=sql_get_files_count($result->bid);
$ban_page["show_demos"]=1;
}
if($config->show_comment_count=="1") {
$ban_row["comment_count"]=sql_get_comments_count($result->bid);
$ban_page["show_comments"]=1;
}
$ban_list[]=$ban_row;
}
$smarty->assign("ban_list",$ban_list);
$smarty->assign("ban_page",$ban_page);
}
//ban delete
if(isset($_POST["del_ban_x"]) && isset($_POST["bid"]) && $_SESSION["loggedin"]) {
//get all uploaded files for the ban and delete it
$query = $mysql->query("SELECT `id`,`demo_file` FROM `".$config->db_prefix."_files` WHERE `bid`=".$bid) or die ($mysql->error);
while($result = $query->fetch_object()) {
if(file_exists("include/files/".$result->demo_file)) {
//delete the file(s)
if(file_exists("include/files/".$result->demo_file."_thumb")) {
unlink("include/files/".$result->demo_file."_thumb");
}
if(unlink("include/files/".$result->demo_file)) {
//if file deleted, remove db entry
$query2 = $mysql->query("DELETE FROM `".$config->db_prefix."_files` WHERE `id`=".$result->id." LIMIT 1") or die ($mysql->error);
}
}
}
//delete all comments for the ban
$query = $mysql->query("DELETE FROM `".$config->db_prefix."_comments` WHERE `bid`=".$bid) or die ($mysql->error);
//get ban details
$ban_row=sql_get_ban_details($bid);
//delete the ban
$query = $mysql->query("DELETE FROM `".$config->db_prefix."_bans` WHERE `bid`=".$bid." LIMIT 1") or die ($mysql->error);
log_to_db("Ban edit","Deleted ban: ID ".$bid." (<".sql_safe($ban_row["player_nick"])."> <".sql_safe($ban_row["player_id"]).">)");
//redirect to start page
if($query) { header("Location:index.php"); exit; }
}
$smarty->assign("meta","");
$smarty->assign("title",$title);
$smarty->assign("version_web",$config->v_web);
// amxbans.css included in the design? if not use it from default
if(file_exists("templates/".$config->design."/amxbans.css")) {
$smarty->assign("design",$config->design);
}
$smarty->assign("dir",$config->document_root);
$smarty->assign("this",$_SERVER['PHP_SELF']);
$smarty->assign("vars",$vars);
$smarty->assign("smilies",$smilies);
$smarty->assign("bbcodes",$bbcodes);
$smarty->assign("menu",$menu);
$smarty->assign("banner",$config->banner);
$smarty->assign("banner_url",$config->banner_url);
$smarty->assign("pagenav", construct_vb_page_nav(@$ban_page['current'], @$ban_page['max_page'], 3, array(10, 50, 100, 500, 1000)));
$smarty->display('main_header.tpl');
//load main page, currently ban list or ban details/edit
if($user_site !== "") {
$smarty->display("user_".$user_site.".tpl");
} elseif ($config->start_page == "" || $config->start_page == "index.php" || (!file_exists("./$config->start_page"))) {
$smarty->display('ban_list.tpl');
} else {
include($config->start_page);
$start_tpl=str_replace(".php",".tpl",$config->start_page);
$smarty->display($start_tpl);
}
$smarty->display('main_footer.tpl');
function construct_vb_page_nav($current, $total, $pagenavpages, $pagenavsarr)
{
$result = array();
if ($current > 1)
{
$result['prev'] = $current - 1;
}
else
{
$result['prev'] = false;
}
if ($current < $total)
{
$result['next'] = $current + 1;
}
else
{
$result['next'] = false;
}
$curpage = 0;
$result['pages'] = array();
$result['first'] = false;
$result['last'] = false;
while ($curpage++ < $total)
{
if (abs($curpage - $current) >= $pagenavpages && $pagenavpages != 0)
{
if ($curpage == 1)
{
$result['first'] = $curpage;
}
if ($curpage == $total)
{
$result['last'] = $curpage;
}
// generate relative links (eg. +10,etc).
if (in_array(abs($curpage - $current), $pagenavsarr) && $curpage != 1 && $curpage != $total)
{
$result['pages'][] = array('number' => $curpage, 'current' => false);
}
}
else
{
if ($curpage == $current)
{
$result['pages'][] = array('number' => $curpage, 'current' => true);
}
else
{
$result['pages'][] = array('number' => $curpage, 'current' => false);
}
}
}
return $result;
}
-
~jeff
Извън линия - Потребител
- Мнения: 158
- Регистриран на: 24 Ное 2018, 12:39
- Се отблагодари: 2 пъти
- Получена благодарност: 27 пъти
Въпрос относно запазване на бановете в AMXBANS
main_header.tpl
ban_list.tpl
ban_list.php
language/lang.bulgarian.php
и
language/lang.english.php
Най-отдолу добави:
и
Код за потвърждение: Избери целия код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{assign var="lang" value=$true|getlanguage}
{assign var="select_lang" value=$true|selectlang:"session"}
{assign var="default_lang" value=$true|selectlang:"config"}
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html" charset="utf-8" />
<meta name="description" content="A ban system for the HL1 engine to manage multiple server bans."/>
<meta name="keywords" content="amx, bans, amxbans" />
<meta name="author" content="setoy, shorty, Sleepwalker, indianiso1" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="stylesheet" type="text/css" href="templates/{$design}_css/style.css" />
<title>AMXBans {$version_web} - {$title|lang}{if $title2} - {$title2|lang}{/if}</title>
<script type="text/javascript" src="templates/{$design}_js/amxbans.js.php"></script>
<script type="text/javascript" src="templates/{$design}_js/jquery.js"></script>
<script type="text/javascript" src="templates/{$design}_js/tooltip.js"></script>
<script type="text/javascript" src="include/layer.js"></script>
</head>
<body id="top" {if $smarty.session.loginfailed}onLoad="javascript: countdown({$smarty.session.loginfailed});"{/if}>
<div id="network">
<div class="center-wrapper">
<div class="left">
<ul class="tabbed" id="menu-tabs">
<li>
<form method="post" action="" style="padding:5px 8px 0 0;margin:0;">
<select name="newlang" style="padding:0;margin:0;" onchange="this.form.submit()">
{foreach from=$lang item="lang"}
<option value="{$lang|escape}" {if empty($select_lang) && $default_lang == $lang}selected="selected"{/if} {if $select_lang == $lang}selected="selected"{/if}>{$lang|escape}</option>
{/foreach}
</select>
</form>
</li>
{foreach from=$menu item=menu}
{if $smarty.session.loggedin == "true"}
{if $menu.lang_key2}<li><a href="{$menu.url2}">{$menu.lang_key2|lang}</a></li>{/if}
{else}
{if $menu.lang_key}<li><a href="{$menu.url}">{$menu.lang_key|lang}</a></li>{/if}
{/if}
{/foreach}
</ul>
</div>
<div class="right">
<ul class="tabbed" id="admin-tabs">
{if $smarty.session.loggedin == "true"}
<li><a href="admin.php">{"_ADMINAREA"|lang}</a></li>
<li><a href="logout.php">{"_LOGOUT"|lang} {$smarty.session.uname}</a></li>
{else}
<li>
<form name="loginform" action="login.php" method="post">
<script type="text/javascript">
var languser = '{"_USERNAME"|lang}';
var langpass = '{"_PASSWORD"|lang}';
</script>
<input
type="text"
size="17"
name="user"
value="{"_USERNAME"|lang}"
onfocus="javascript:if(this.value=languser)this.value='';"
/>
<input
type="password"
size="12"
name="pass"
value="{"_PASSWORD"|lang}"
onfocus="javascript:if(this.value=langpass)this.value='';"
/>
<input type='checkbox' checked="checked" name='remember' title='{"_REMEMBERME"|lang}' />
<button type="submit" name="action" id="action" value="Login">{"_LOGIN"|lang}</button>
</form>
</li>
{/if}
</ul>
</div>
<div class="clearer"> </div>
</div>
</div>
<div id="site">
<div class="center-wrapper">
{if $banner <> ""}
<div id="header">
<div id="site-title" style="text-align: center;">
<a href="{$banner_url}" target="_blank"><img src="images/banner/{$banner}" alt="{$banner_url}" title="{$banner_url}" /></a>
</div>
</div>
{else}
<div class="spacer"> </div>
{/if}
{if isset($check_id)}
<div class="error">
<a href="http://{$smarty.server.HTTP_HOST}{$smarty.server.PHP_SELF}?bid={$check_id}">{"_YOUAREBANNED"|lang}</a>
</div>
{else}
<div class="success">
{"_IP"|lang} - <b>{$your_ip}</b>. {"_YOUNOTBANNED"|lang}
</div>
{/if}
ban_list.tpl
Код за потвърждение: Избери целия код
<div class="main">
<div class="post">
<!-- Pagenation -->
<div class="pager" style="text-align:right">
<span class="first">{"_SITE"|lang} {$ban_page.current} {"_OF"|lang} {$ban_page.max_page}:</span>
{if $pagenav.first}
<a href="?site={$pagenav.first}"><img src="images/page_start.png" title="{"_FIRST_PAGE"|lang}" alt="{"_FIRST_PAGE"|lang}"></a>
{/if}
{if $pagenav.prev}
<a href="?site={$pagenav.prev}"><img src="images/page_back.png" title="{"_PREVIOUS_PAGE"|lang}" alt="{"_PREVIOUS_PAGE"|lang}"></a>
{/if}
{foreach from=$pagenav.pages item=page}
{if $page.current}
<span>{$page.number}</span>
{else}
<a href="?site={$page.number}">{$page.number}</a>
{/if}
{/foreach}
{if $pagenav.next}
<a href="?site={$pagenav.next}"><img src="images/page_next.png" title="{"_NEXT_PAGE"|lang}" alt="{"_NEXT_PAGE"|lang}"></a>
{/if}
{if $pagenav.last}
<a href="?site={$pagenav.last}"><img src="images/page_end.png" title="{"_LAST_PAGE"|lang}" alt="{"_LAST_PAGE"|lang}"></a>
{/if}
</div>
<br /><br />
<!-- Pagenation -->
<table frame="box" rules="groups" summary="">
<thead>
<tr>
<th style="width:20px;"></th>
<th>{"_DATE"|lang}</th>
<th>{"_PLAYER"|lang}</th>
<th>{"_ADMIN"|lang}</th>
<th>{"_REASON"|lang}</th>
<th>{"_LENGHT"|lang}</th>
{if $ban_page.show_comments == 1 && $vars.use_comment == 1}<th style="width: 30px;">{"_BL_COMMENTS"|lang}</th>{/if}
{if $ban_page.show_demos == 1 && $vars.use_demo == 1}<th style="width: 30px;">{"_BL_FILES"|lang}</th>{/if}
{if $ban_page.show_kicks == 1}<th style="width: 30px;">{"_BL_KICKS"|lang}</th>{/if}
</tr>
</thead>
<tbody>
<!-- No Bans -->
{if $error}
<tr>
<td class="_center" colspan="9">{"_NO_BANS"|lang}</td>
</tr>
{else}
<!-- No Bans -->
<!-- Banlist -->
{foreach from=$ban_list item=ban_list}
{if $ban_list.ban_length>0 && $ban_list.ban_end < $smarty.now}
<tr onclick="NewToggleLayer('layer_{$ban_list.bid}')" style="background: #DBF4D7" class='list'>
{else}
<tr onclick="NewToggleLayer('layer_{$ban_list.bid}')" class="list">
{/if}
<td class="_center"><img alt="{if $ban_list.mod == "html"}{"_WEB"|lang}{else}{$ban_list.mod|lang}{/if}" title="{if $ban_list.mod == "html"}{"_WEB"|lang}{else}{$ban_list.mod|lang}{/if}" src="templates/{$design}_gfx/games/{$ban_list.mod}.gif" /></td>
<td>{$ban_list.ban_created|date_format:"%Y-%m-%d"}</td>
<td> {$ban_list.player_nick}</td>
<td>{$ban_list.admin_nick}</td>
<td>{$ban_list.ban_reason}</td>
<td>{if $ban_list.ban_length>0}
{$ban_list.ban_length*60|date2word:true}
{else}
{"_PERMANENT"|lang}
{else}
<b>Изтекъл</b>
{/if}
</td>
{if $ban_page.show_comments == 1 && $vars.use_comment == 1}<td class="_center">{$ban_list.comment_count}</td>{/if}
{if $ban_page.show_demos == 1 && $vars.use_demo == 1}<td class="_center">{$ban_list.demo_count}</td>{/if}
{if $ban_page.show_kicks == 1}<td class="_center">{$ban_list.kick_count}</td>{/if}
</tr>
<tr id="layer_{$ban_list.bid}" style="display:none;">
<td class="server-info" colspan="9"><div style="display:none;">
<table frame="box" rules="groups" summary="">
<thead>
<tr>
<th style="width:150px;">{"_BANDETAILS"|lang}</th>
<th class="_right">
<form method="post" action="" style="display:inline;">
<input type="hidden" name="bid" value="{$ban_list.bid}" />
<input type="hidden" name="site" value="{$ban_page.current}" />
<input class="img_input" name="details" type="image" src="templates/{$design}_gfx/page.png" title="{"_DETAILS"|lang}"/>
</form>
{if $smarty.session.bans_delete=="yes" || ($smarty.session.bans_delete=="own" && $smarty.session.uname == $ban_detail.username)}
<form method="post" action="" style="display:inline;">
<input class="img_input" name="del_ban" type="image" src="templates/{$design}_gfx/page_delete.png" onclick="return confirm('{"_DELBAN"|lang}{"_DATALOSS"|lang}');" border="0" title="{"_TIP_DEL"|lang}" />
<input type="hidden" name="site" value="{$site}" />
<input type="hidden" name="bid" value="{$ban_list.bid}" />
<input type="hidden" name="details_x" value="1" />
</form>
{/if}
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="fat">{"_NICKNAME"|lang}</td>
<td>{$ban_list.player_nick}</td>
</tr>
<tr>
<td class="fat">{"_STEAMID"|lang}</td>
<td>{if $ban_list.player_id <> ""}{$ban_list.player_id}{else}<span style='font-style:italic;font-weight:bold;'>{"_NOSTEAMID"|lang}</span>{/if}</td>
</tr>
<tr>
<td class="fat">{"_STEAMCOMID"|lang}</td>
<td>
{if $ban_list.player_id <> ""}
<a target="_blank" href="http://steamcommunity.com/profiles/{$ban_list.player_comid}">{$ban_list.player_comid}</a>
{else}
{"_NOTAVAILABLE"|lang}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_IP"|lang}</td>
<td>
{if $smarty.session.ip_view=="yes"}
{if $ban_list.player_ip}
{$ban_list.player_ip}
{else}
<i>{"_NOTAVAILABLE"|lang}</i>
{/if}
{else}
<span style='font-style:italic;font-weight:bold'>{"_HIDDEN"|lang}</span>
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_BANTYPE"|lang}</td>
<td>
{if $ban_list.ban_type=="S"}
{"_STEAMID"|lang}
{elseif $ban_list.ban_type=="SI"}
{"_STEAMID&IP"|lang}
{else}
{"_NOTAVAILABLE"|lang}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_REASON"|lang}</td>
<td>{$ban_list.ban_reason}</td>
</tr>
<tr>
<td class="fat">{"_INVOKED"|lang}</td>
<td>{$ban_list.ban_created|date_format:"%d %b %Y - %T"}</td>
</tr>
<tr>
<td class="fat">{"_EXPIRES"|lang}</td>
<td>
{if $ban_list.ban_length==0}
<span style='font-style:italic;font-weight:bold;color:red'>{"_NOTAPPLICABLE"|lang}</span>
{else}
{$ban_list.ban_end|date_format:"%d %b %Y - %T"}
{if $ban_list.ban_end < $smarty.now}
({"_ALREADYEXP"|lang})
{else}
<i>({$ban_list.ban_end-$smarty.now|date2word} {"_REMAINING"|lang})</i>
{/if}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_BANBY"|lang}</td>
<td>{$ban_list.admin_nick}{if $ban_list.nickname}<i>({$ban_list.nickname})</i>{/if}</td>
</tr>
<tr>
<td class="fat">{"_BANON"|lang}</td>
<td>{if $ban_list.server_name == "website"}{"_WEB"|lang}{else}{$ban_list.server_name}{/if}</td>
</tr>
<tr>
<td class="fat">{"_TOTALEXPBANS"|lang}</td>
<td>{$ban_list.bancount-1}</td>
</tr>
</tbody>
</table> </div>
</td>
</tr>
{/foreach}
{/if}
<!-- Banlist -->
</tbody>
</table>
<div class="clearer"> </div>
</div>
<div class="clearer"> </div>
<!-- Pagenation -->
<div class="pager" style="text-align:right">
<span class="first">{"_SITE"|lang} {$ban_page.current} {"_OF"|lang} {$ban_page.max_page}:</span>
{if $pagenav.first}
<a href="?site={$pagenav.first}"><img src="images/page_start.png" title="{"_FIRST_PAGE"|lang}" alt="{"_FIRST_PAGE"|lang}"></a>
{/if}
{if $pagenav.prev}
<a href="?site={$pagenav.prev}"><img src="images/page_back.png" title="{"_PREVIOUS_PAGE"|lang}" alt="{"_PREVIOUS_PAGE"|lang}"></a>
{/if}
{foreach from=$pagenav.pages item=page}
{if $page.current}
<span>{$page.number}</span>
{else}
<a href="?site={$page.number}">{$page.number}</a>
{/if}
{/foreach}
{if $pagenav.next}
<a href="?site={$pagenav.next}"><img src="images/page_next.png" title="{"_NEXT_PAGE"|lang}" alt="{"_NEXT_PAGE"|lang}"></a>
{/if}
{if $pagenav.last}
<a href="?site={$pagenav.last}"><img src="images/page_end.png" title="{"_LAST_PAGE"|lang}" alt="{"_LAST_PAGE"|lang}"></a>
{/if}
</div>
<div class="clearer"></div>
<!-- Pagenation -->
</div>
Код за потвърждение: Избери целия код
<?php
/*
AMXBans v6.0
Copyright 2009, 2010 by SeToY & |PJ|ShOrTy
This file is part of AMXBans.
AMXBans is free software, but it's licensed under the
Creative Commons - Attribution-NonCommercial-ShareAlike 2.0
AMXBans is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
You should have received a copy of the cc-nC-SA along with AMXBans.
If not, see <http://creativecommons.org/licenses/by-nc-sa/2.0/>.
*/
session_start();
require_once("include/config.inc.php");
require_once("include/access.inc.php");
require_once("include/menu.inc.php");
require_once("include/steam.inc.php");
require_once("include/sql.inc.php");
require_once("include/logfunc.inc.php");
require_once("include/functions.inc.php");
require_once("include/thumbs.inc.php");
// Template generieren
$title = "_TITLEBANLIST";
$smarty = new dynamicPage;
$user_site="";
if(isset($_GET["bid"]) && is_numeric($_GET["bid"])) {
$_POST["bid"] = $_GET["bid"];
$tmp = "bd";
}
//user page loader
if(isset($_POST["bid"])) {
isset($_POST["details_x"])?$tmp="bd":""; //ban details
if(file_exists("include/user/user_".$tmp.".php")) {
$user_site=$tmp;
include("include/user/user_".$tmp.".php");
}
}
//create default ban list and show it
$ban_page = "";
if(!$user_site) {
$page = "";
//count activ bans
$query = $mysql->query("SELECT COUNT(bid) FROM `".$config->db_prefix."_bans` WHERE `expired`=0") or die ($mysql->error);
$ban_count[0]=$query->fetch_row()[0];
//count all bans
$query = $mysql->query("SELECT COUNT(bid) FROM `".$config->db_prefix."_bans`") or die ($mysql->error);
$ban_count[1]=$query->fetch_row()[0];
//calc max sites
$ban_page_max=ceil($ban_count[0] / $config->bans_per_page);
if(isset($_REQUEST["site"])) $page=(int)$_REQUEST["site"];
if(isset($_REQUEST["siteback_x"])) $page=(int)$_REQUEST["site"];
if(isset($_REQUEST["sitenext_x"])) $page=(int)$_REQUEST["site"];
if(isset($_REQUEST["sitestart_x"])) $page=1;
if(isset($_REQUEST["siteend_x"])) $page=$ban_page_max;
//check if site nr is valid
$ban_page_curr=($page==0 || $page>$ban_page_max) ? 1:$page;
//calc mysql limits from current site
$min=($config->bans_per_page * $ban_page_curr)-$config->bans_per_page;
//build array with site info
$ban_page=array(
"current" => $ban_page_curr, //current site
"max_page" => ($ban_page_max)? $ban_page_max:1, //last site
"per_page" => $config->bans_per_page, //bans per page
"first_ban" => ($ban_count[0])? $min + 1:$min, //+1: LIMIT 0 is the first ban
"max_ban" => $ban_count[0], //count activ bans
"all_ban" => $ban_count[1] //count all bans
);
//get bans for current page
$query = $mysql->query("SELECT ba.*, se.gametype,se.timezone_fixx, aa.nickname FROM `".$config->db_prefix."_bans` AS ba
LEFT JOIN `".$config->db_prefix."_serverinfo` AS se ON ba.server_ip=se.address
LEFT JOIN `".$config->db_prefix."_amxadmins` AS aa ON (aa.steamid=ba.admin_nick OR aa.steamid=ba.admin_ip OR aa.steamid=ba.admin_id)
WHERE ba.expired=0 ORDER BY ban_created DESC LIMIT ".$min.",".$config->bans_per_page) or die($mysql->error);
//build ban list array
while($result = $query->fetch_object()) {
if($result->expired==1) continue;
$steamid="";
$steamcomid="";
if(!empty($result->player_id)) {
$steamid = html_safe($result->player_id);
$steamcomid = GetFriendId($steamid);
}
$ban_row=array(
"bid" => $result->bid,
"player_ip" => $result->player_ip,
"player_id" => $result->player_id,
"player_comid" => $steamcomid,
"player_nick" => html_safe($result->player_nick),
"admin_ip" => $result->admin_ip,
"admin_id" => $result->admin_id,
"admin_nick" => html_safe($result->admin_nick),
"ban_type" => $result->ban_type,
"ban_reason" => $result->ban_reason,
"ban_created" => ($result->ban_created + ($result->timezone_fixx * 60 * 60)),
"ban_length" => $result->ban_length,
"ban_end" => ($result->ban_created + ($result->ban_length * 60) + ($result->timezone_fixx * 60 * 60)),
"server_ip" => $result->server_ip,
"server_name" => html_safe($result->server_name),
"expired" => $result->expired,
);
// get previous offences if any
$query2 = $mysql->query("SELECT count(player_id) as ban_count FROM `".$config->db_prefix."_bans` WHERE player_id = '".$result->player_id."'") or die($mysql->error);
while($result2 = $query2->fetch_object()) {
$ban_row["bancount"] = $result2->ban_count;
}
$queryX = $mysql->query("SELECT count(player_id) as ban_count FROM `".$config->db_prefix."_bans` WHERE player_id = '".$result->player_id."' AND (ban_length > 5 OR ban_length = 0)") or die($mysql->error);
while($resultX = $queryX->fetch_object()) {
$tmp_bancount = $resultX->ban_count;
}
//if needed prune bans but after query to see it in the list once
if($config->auto_prune=="1") {
//first search for max offence bans
if($tmp_bancount >= $config->max_offences && $ban_row["ban_length"] >= "0" && !(strlen(strstr($ban_row["ban_reason"],$config->max_offences_reason))>0)) {
$ban_row["ban_length"] = "0";
$new_reason = $ban_row["ban_reason"] . ' (' .$config->max_offences_reason.')';
$ban_row["ban_reason"] = $new_reason;
$prune_query = $mysql->query("UPDATE `".$config->db_prefix."_bans` SET `expired`=0,`ban_length`=0,`ban_reason`='".$new_reason."' WHERE `bid`=".$result->bid);
$prune_query = $mysql->query("INSERT INTO `".$config->db_prefix."_bans_edit` (`bid`,`edit_time`,`admin_nick`,`edit_reason`) VALUES (
'".$result->bid."',UNIX_TIMESTAMP(NOW()),'amxbans','".$new_reason."')");
}
//prune expired bans
if($ban_row["ban_end"] < time() && $ban_row["ban_length"] != "0") {
$prune_query = $mysql->query("UPDATE `".$config->db_prefix."_bans` SET `expired`=1 WHERE `bid`=".$ban_row["bid"]);
$prune_query = $mysql->query("INSERT INTO `".$config->db_prefix."_bans_edit` (`bid`,`edit_time`,`admin_nick`,`edit_reason`) VALUES (
'".$result->bid."','".$ban_row["ban_end"]."','amxbans','Bantime expired')");
}
}
if($result->server_ip=="") {
$ban_row["mod"]="html";
} else {
$ban_row["mod"]=($result->gametype=="" || $result->gametype=="website")?"html":$result->gametype;
$ban_row["nickname"]=html_safe($result->nickname);
}
if($config->show_kick_count=="1") {
$ban_row["kick_count"]=$result->ban_kicks;
$ban_page["show_kicks"]=1;
}
if($config->show_demo_count=="1") {
$ban_row["demo_count"]=sql_get_files_count($result->bid);
$ban_page["show_demos"]=1;
}
if($config->show_comment_count=="1") {
$ban_row["comment_count"]=sql_get_comments_count($result->bid);
$ban_page["show_comments"]=1;
}
$ban_list[]=$ban_row;
}
$smarty->assign("ban_list",$ban_list);
$smarty->assign("ban_page",$ban_page);
}
//ban delete
if(isset($_POST["del_ban_x"]) && isset($_POST["bid"]) && $_SESSION["loggedin"]) {
//get all uploaded files for the ban and delete it
$query = $mysql->query("SELECT `id`,`demo_file` FROM `".$config->db_prefix."_files` WHERE `bid`=".$bid) or die ($mysql->error);
while($result = $query->fetch_object()) {
if(file_exists("include/files/".$result->demo_file)) {
//delete the file(s)
if(file_exists("include/files/".$result->demo_file."_thumb")) {
unlink("include/files/".$result->demo_file."_thumb");
}
if(unlink("include/files/".$result->demo_file)) {
//if file deleted, remove db entry
$query2 = $mysql->query("DELETE FROM `".$config->db_prefix."_files` WHERE `id`=".$result->id." LIMIT 1") or die ($mysql->error);
}
}
}
//delete all comments for the ban
$query = $mysql->query("DELETE FROM `".$config->db_prefix."_comments` WHERE `bid`=".$bid) or die ($mysql->error);
//get ban details
$ban_row=sql_get_ban_details($bid);
//delete the ban
$query = $mysql->query("DELETE FROM `".$config->db_prefix."_bans` WHERE `bid`=".$bid." LIMIT 1") or die ($mysql->error);
log_to_db("Ban edit","Deleted ban: ID ".$bid." (<".sql_safe($ban_row["player_nick"])."> <".sql_safe($ban_row["player_id"]).">)");
//redirect to start page
if($query) { header("Location:index.php"); exit; }
}
$sql_check_ip = mysql_query("SELECT * FROM `".$config->db_prefix."_bans` WHERE player_ip = '{$_SERVER['REMOTE_ADDR']}' AND expired = 0");
$result_yes = mysql_num_rows($sql_check_ip);
$user=mysql_fetch_assoc($sql_check_ip);
$bids=$user['bid'];
$smarty->assign("your_ip", $_SERVER['REMOTE_ADDR']);
if($result_yes)
{
$smarty->assign("check_id", $bids);
}
$smarty->assign("meta","");
$smarty->assign("title",$title);
$smarty->assign("version_web",$config->v_web);
// amxbans.css included in the design? if not use it from default
if(file_exists("templates/".$config->design."/amxbans.css")) {
$smarty->assign("design",$config->design);
}
$smarty->assign("dir",$config->document_root);
$smarty->assign("this",$_SERVER['PHP_SELF']);
$smarty->assign("vars",$vars);
$smarty->assign("smilies",$smilies);
$smarty->assign("bbcodes",$bbcodes);
$smarty->assign("menu",$menu);
$smarty->assign("banner",$config->banner);
$smarty->assign("banner_url",$config->banner_url);
$smarty->assign("pagenav", construct_vb_page_nav(@$ban_page['current'], @$ban_page['max_page'], 3, array(10, 50, 100, 500, 1000)));
$smarty->display('main_header.tpl');
//load main page, currently ban list or ban details/edit
if($user_site !== "") {
$smarty->display("user_".$user_site.".tpl");
} elseif ($config->start_page == "" || $config->start_page == "index.php" || (!file_exists("./$config->start_page"))) {
$smarty->display('ban_list.tpl');
} else {
include($config->start_page);
$start_tpl=str_replace(".php",".tpl",$config->start_page);
$smarty->display($start_tpl);
}
$smarty->display('main_footer.tpl');
function construct_vb_page_nav($current, $total, $pagenavpages, $pagenavsarr)
{
$result = array();
if ($current > 1)
{
$result['prev'] = $current - 1;
}
else
{
$result['prev'] = false;
}
if ($current < $total)
{
$result['next'] = $current + 1;
}
else
{
$result['next'] = false;
}
$curpage = 0;
$result['pages'] = array();
$result['first'] = false;
$result['last'] = false;
while ($curpage++ < $total)
{
if (abs($curpage - $current) >= $pagenavpages && $pagenavpages != 0)
{
if ($curpage == 1)
{
$result['first'] = $curpage;
}
if ($curpage == $total)
{
$result['last'] = $curpage;
}
// generate relative links (eg. +10,etc).
if (in_array(abs($curpage - $current), $pagenavsarr) && $curpage != 1 && $curpage != $total)
{
$result['pages'][] = array('number' => $curpage, 'current' => false);
}
}
else
{
if ($curpage == $current)
{
$result['pages'][] = array('number' => $curpage, 'current' => true);
}
else
{
$result['pages'][] = array('number' => $curpage, 'current' => false);
}
}
}
return $result;
}
language/lang.bulgarian.php
и
language/lang.english.php
Най-отдолу добави:
Код за потвърждение: Избери целия код
define("_YOUNOTBANNED", "Вие не сте баннат.");
define("_YOUAREBANNED","Ти беше баннат!");
Код за потвърждение: Избери целия код
define("_YOUNOTBANNED", "Don't worry, you are not banned");
define("_YOUAREBANNED","You have been banned!!");
Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law and repeat after me: I AM FREE
-
Drea<M>40BG ;]]
Извън линия - Потребител
- Мнения: 750
- Регистриран на: 11 Окт 2016, 11:35
- Се отблагодари: 115 пъти
- Получена благодарност: 63 пъти
- Обратна връзка:
Въпрос относно запазване на бановете в AMXBANS
HTTP Error 500, ако не ти се занимава остави няма дерт, по-важно ми е сега да оправим регистрациите между сайта и форума ако си съгласен да помогнеш
Връщам стария бекъп на банлиста
Връщам стария бекъп на банлиста
-
~jeff
Извън линия - Потребител
- Мнения: 158
- Регистриран на: 24 Ное 2018, 12:39
- Се отблагодари: 2 пъти
- Получена благодарност: 27 пъти
Въпрос относно запазване на бановете в AMXBANS
ban_list.tpl
Може да ме добавиш в скайп: cs-pro.player
Код за потвърждение: Избери целия код
<div class="main">
<div class="post">
<!-- Pagenation -->
<div class="pager" style="text-align:right">
<span class="first">{"_SITE"|lang} {$ban_page.current} {"_OF"|lang} {$ban_page.max_page}:</span>
{if $pagenav.first}
<a href="?site={$pagenav.first}"><img src="images/page_start.png" title="{"_FIRST_PAGE"|lang}" alt="{"_FIRST_PAGE"|lang}"></a>
{/if}
{if $pagenav.prev}
<a href="?site={$pagenav.prev}"><img src="images/page_back.png" title="{"_PREVIOUS_PAGE"|lang}" alt="{"_PREVIOUS_PAGE"|lang}"></a>
{/if}
{foreach from=$pagenav.pages item=page}
{if $page.current}
<span>{$page.number}</span>
{else}
<a href="?site={$page.number}">{$page.number}</a>
{/if}
{/foreach}
{if $pagenav.next}
<a href="?site={$pagenav.next}"><img src="images/page_next.png" title="{"_NEXT_PAGE"|lang}" alt="{"_NEXT_PAGE"|lang}"></a>
{/if}
{if $pagenav.last}
<a href="?site={$pagenav.last}"><img src="images/page_end.png" title="{"_LAST_PAGE"|lang}" alt="{"_LAST_PAGE"|lang}"></a>
{/if}
</div>
<br /><br />
<!-- Pagenation -->
<table frame="box" rules="groups" summary="">
<thead>
<tr>
<th style="width:20px;"></th>
<th>{"_DATE"|lang}</th>
<th>{"_PLAYER"|lang}</th>
<th>{"_ADMIN"|lang}</th>
<th>{"_REASON"|lang}</th>
<th>{"_LENGHT"|lang}</th>
{if $ban_page.show_comments == 1 && $vars.use_comment == 1}<th style="width: 30px;">{"_BL_COMMENTS"|lang}</th>{/if}
{if $ban_page.show_demos == 1 && $vars.use_demo == 1}<th style="width: 30px;">{"_BL_FILES"|lang}</th>{/if}
{if $ban_page.show_kicks == 1}<th style="width: 30px;">{"_BL_KICKS"|lang}</th>{/if}
</tr>
</thead>
<tbody>
<!-- No Bans -->
{if $error}
<tr>
<td class="_center" colspan="9">{"_NO_BANS"|lang}</td>
</tr>
{else}
<!-- No Bans -->
<!-- Banlist -->
{foreach from=$ban_list item=ban_list}
{if $ban_list.ban_length>0 && $ban_list.ban_end < $smarty.now}
<tr onclick="NewToggleLayer('layer_{$ban_list.bid}')" style="background: #DBF4D7" class='list'>
{else}
<tr onclick="NewToggleLayer('layer_{$ban_list.bid}')" class="list">
{/if}
<td class="_center"><img alt="{if $ban_list.mod == "html"}{"_WEB"|lang}{else}{$ban_list.mod|lang}{/if}" title="{if $ban_list.mod == "html"}{"_WEB"|lang}{else}{$ban_list.mod|lang}{/if}" src="templates/{$design}_gfx/games/{$ban_list.mod}.gif" /></td>
<td>{$ban_list.ban_created|date_format:"%Y-%m-%d"}</td>
<td> {$ban_list.player_nick}</td>
<td>{$ban_list.admin_nick}</td>
<td>{$ban_list.ban_reason}</td>
<td>{if $ban_list.ban_length>0}
{$ban_list.ban_length*60|date2word:true}
{else}
{"_PERMANENT"|lang}
{/if}
</td>
{if $ban_page.show_comments == 1 && $vars.use_comment == 1}<td class="_center">{$ban_list.comment_count}</td>{/if}
{if $ban_page.show_demos == 1 && $vars.use_demo == 1}<td class="_center">{$ban_list.demo_count}</td>{/if}
{if $ban_page.show_kicks == 1}<td class="_center">{$ban_list.kick_count}</td>{/if}
</tr>
<tr id="layer_{$ban_list.bid}" style="display:none;">
<td class="server-info" colspan="9"><div style="display:none;">
<table frame="box" rules="groups" summary="">
<thead>
<tr>
<th style="width:150px;">{"_BANDETAILS"|lang}</th>
<th class="_right">
<form method="post" action="" style="display:inline;">
<input type="hidden" name="bid" value="{$ban_list.bid}" />
<input type="hidden" name="site" value="{$ban_page.current}" />
<input class="img_input" name="details" type="image" src="templates/{$design}_gfx/page.png" title="{"_DETAILS"|lang}"/>
</form>
{if $smarty.session.bans_delete=="yes" || ($smarty.session.bans_delete=="own" && $smarty.session.uname == $ban_detail.username)}
<form method="post" action="" style="display:inline;">
<input class="img_input" name="del_ban" type="image" src="templates/{$design}_gfx/page_delete.png" onclick="return confirm('{"_DELBAN"|lang}{"_DATALOSS"|lang}');" border="0" title="{"_TIP_DEL"|lang}" />
<input type="hidden" name="site" value="{$site}" />
<input type="hidden" name="bid" value="{$ban_list.bid}" />
<input type="hidden" name="details_x" value="1" />
</form>
{/if}
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="fat">{"_NICKNAME"|lang}</td>
<td>{$ban_list.player_nick}</td>
</tr>
<tr>
<td class="fat">{"_STEAMID"|lang}</td>
<td>{if $ban_list.player_id <> ""}{$ban_list.player_id}{else}<span style='font-style:italic;font-weight:bold;'>{"_NOSTEAMID"|lang}</span>{/if}</td>
</tr>
<tr>
<td class="fat">{"_STEAMCOMID"|lang}</td>
<td>
{if $ban_list.player_id <> ""}
<a target="_blank" href="http://steamcommunity.com/profiles/{$ban_list.player_comid}">{$ban_list.player_comid}</a>
{else}
{"_NOTAVAILABLE"|lang}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_IP"|lang}</td>
<td>
{if $smarty.session.ip_view=="yes"}
{if $ban_list.player_ip}
{$ban_list.player_ip}
{else}
<i>{"_NOTAVAILABLE"|lang}</i>
{/if}
{else}
<span style='font-style:italic;font-weight:bold'>{"_HIDDEN"|lang}</span>
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_BANTYPE"|lang}</td>
<td>
{if $ban_list.ban_type=="S"}
{"_STEAMID"|lang}
{elseif $ban_list.ban_type=="SI"}
{"_STEAMID&IP"|lang}
{else}
{"_NOTAVAILABLE"|lang}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_REASON"|lang}</td>
<td>{$ban_list.ban_reason}</td>
</tr>
<tr>
<td class="fat">{"_INVOKED"|lang}</td>
<td>{$ban_list.ban_created|date_format:"%d %b %Y - %T"}</td>
</tr>
<tr>
<td class="fat">{"_EXPIRES"|lang}</td>
<td>
{if $ban_list.ban_length==0}
<span style='font-style:italic;font-weight:bold;color:red'>{"_NOTAPPLICABLE"|lang}</span>
{else}
{$ban_list.ban_end|date_format:"%d %b %Y - %T"}
{if $ban_list.ban_end < $smarty.now}
({"_ALREADYEXP"|lang})
{else}
<i>({$ban_list.ban_end-$smarty.now|date2word} {"_REMAINING"|lang})</i>
{/if}
{/if}
</td>
</tr>
<tr>
<td class="fat">{"_BANBY"|lang}</td>
<td>{$ban_list.admin_nick}{if $ban_list.nickname}<i>({$ban_list.nickname})</i>{/if}</td>
</tr>
<tr>
<td class="fat">{"_BANON"|lang}</td>
<td>{if $ban_list.server_name == "website"}{"_WEB"|lang}{else}{$ban_list.server_name}{/if}</td>
</tr>
<tr>
<td class="fat">{"_TOTALEXPBANS"|lang}</td>
<td>{$ban_list.bancount-1}</td>
</tr>
</tbody>
</table> </div>
</td>
</tr>
{/foreach}
{/if}
<!-- Banlist -->
</tbody>
</table>
<div class="clearer"> </div>
</div>
<div class="clearer"> </div>
<!-- Pagenation -->
<div class="pager" style="text-align:right">
<span class="first">{"_SITE"|lang} {$ban_page.current} {"_OF"|lang} {$ban_page.max_page}:</span>
{if $pagenav.first}
<a href="?site={$pagenav.first}"><img src="images/page_start.png" title="{"_FIRST_PAGE"|lang}" alt="{"_FIRST_PAGE"|lang}"></a>
{/if}
{if $pagenav.prev}
<a href="?site={$pagenav.prev}"><img src="images/page_back.png" title="{"_PREVIOUS_PAGE"|lang}" alt="{"_PREVIOUS_PAGE"|lang}"></a>
{/if}
{foreach from=$pagenav.pages item=page}
{if $page.current}
<span>{$page.number}</span>
{else}
<a href="?site={$page.number}">{$page.number}</a>
{/if}
{/foreach}
{if $pagenav.next}
<a href="?site={$pagenav.next}"><img src="images/page_next.png" title="{"_NEXT_PAGE"|lang}" alt="{"_NEXT_PAGE"|lang}"></a>
{/if}
{if $pagenav.last}
<a href="?site={$pagenav.last}"><img src="images/page_end.png" title="{"_LAST_PAGE"|lang}" alt="{"_LAST_PAGE"|lang}"></a>
{/if}
</div>
<div class="clearer"></div>
<!-- Pagenation -->
</div>
Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law and repeat after me: I AM FREE
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 4 Отговори
- 2381 Преглеждания
-
Последно мнение от Maverick
-
- 0 Отговори
- 720 Преглеждания
-
Последно мнение от vanioJ
-
- 11 Отговори
- 1004 Преглеждания
-
Последно мнение от rozoveca
-
- 0 Отговори
- 1078 Преглеждания
-
Последно мнение от SkandaU
-
- 10 Отговори
- 1949 Преглеждания
-
Последно мнение от EKOLOGA
-
- 2 Отговори
- 1367 Преглеждания
-
Последно мнение от EKOLOGA
-
- 2 Отговори
- 1897 Преглеждания
-
Последно мнение от FEEL MY STYLE
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 8 госта