Размер файла: 3.83Kb
<?php
require 'root.part';
require 'dat.part';
$sr = '/ Главная';
$description = 'Гостевая';
$content = '';
session_start();
# добавляем забаненый ip
#
if(isset($_SESSION['ip']) and isset($_SESSION['user']) and $_SERVER['HTTP_USER_AGENT']){
if(($_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) || ($_SESSION['user'] != $_SERVER['HTTP_USER_AGENT'])){
header('Location: admin.php');
exit;
}
ini_set('use_trans_sid', 1);
$sr .= '|admin.php Админка';
define('ADMIN', 1);
} else{
define('ADMIN', 0);
}
if(isset($_GET['ban']) && ADMIN){
$form = '<form action="index.php">
IP:<br/>
<input type="text" name="ban" value="' . $_GET['ban'] . '"/><br/>
<b>На:</b><br/>
Часов:<br/>
<input type="text" name="ts"/><br/>
Дней:<br/>
<input type="text" name="dn"/><br/>
Месяцев:<br/>
<input type="text" name="msc"/><br/>
<input type="hidden" name="v" value="ipban"/><br/>
<input type="submit" value="Забанить"/></form><br/>';
if(isset($_GET['form'])) $content .= $form;
if(isset($_GET['ts']) and isset($_GET['dn']) and isset($_GET['msc'])){
$adr = $_GET['ban'];
$ts = intval($_GET['ts']);
$dn = intval($_GET['dn']);
$msc = intval($_GET['msc']);
if(ctype_digit(str_replace('.', '', $adr))){
$banfile = file_get_contents('ban.dat');
if(!strpos($banfile, $adr . '¤')){
if(($msc + $dn + $ts) > 0){
$do = time() + (60 * 60 * $ts) + (60 * 60 * 24 * $dn) + (60 * 60 * 24 * 31 * $msc);
if(!strpos($banfile, '¤')) file_put_contents('ban.dat', $adr . '¤' . $do);
else file_put_contents('ban.dat', $banfile . '§' . $adr . '¤' . $do);
$content .= 'IP '. $adr . ' забанен до ' . dat($do) . '<br/>';
} else{
$content .= 'Бан минимум на 1 час!<br/>' . $form;
} } else{
$content .= 'Этот IP уже забанен!<br/>' . $form;
} } else{
$content .= 'Неверные данные!<br/>' . $form;
} }
}
if(filesize('post.dat') > 5){
$post = @file_get_contents('post.dat');
if($post){
#Удаляем сообщение
#
if(isset($_GET['del'])){
$post = preg_replace('~\§$~', '', preg_replace('~(^|§).*?' . $_GET['del'] . '.*?\§~', '$1', $post . '§', 1), 1);
file_put_contents('post.dat', $post);
$content .= 'Сообщение удалено!<br/>';
}
#Выводим
#
include $root . 'lst.class.part';
class Lst2 extends Lst{
public $nastrip, $nastrsajt, $nastrmail, $nastricq;
public function nastr(){
if(!ADMIN){
$ar = explode('¤', file_get_contents('gost.conf'));
$this->nastrip = $ar['0'];
$this->nastrsajt = $ar['1'];
$this->nastrmail = $ar['2'];
$this->nastricq = $ar['3'];
} else{
$this->nastrip = '1';
$this->nastrsajt = '1';
$this->nastrmail = '1';
$this->nastricq = '1';
} }
protected function vidwywod($soob){
$s = '<span class="k"><u>' . $soob[0] . '</u></span> ' . '(<b>' . dat($soob['1']) . '</b>)';
if($this->nastrip) $s .= ' [<span class="w">' . $soob['2'] . '</span>]';
if(ADMIN) $s .= ' <b><small><a href="?del=' . $soob['1'] . '">Удал.</a>|<a href="?ban=' . $soob['2'] . '&form=">Бан</a></small></b>';
$s .= '<br/>' . $soob['3'] . '<br/>';
if(($soob['4'] !== '') && $this->nastrsajt) $s .= '<b>Сайт:</b> <a href="/perehod.php?p=' . $soob['4'] . '">' . $soob['4'] . '</a><br/>';
if(($soob['5'] !== '') && $this->nastrmail) $s .= '<b>E-mail:</b> ' . $soob['5'] . '<br/>';
if(($soob['6'] !== '') && $this->nastricq) $s .= '<b>ICQ:</b> ' . $soob['6'] . '<br/>';
return $s;
} }
$ob = new Lst2($post);
$ar = explode('¤', file_get_contentr('gost.conf');
$ob->nastr();
$ob->soob4 = $ar['4'];
$content .= $ob->wywodsoob();
} else{
$content .= 'Ошибка!<br/>';
} } else {
$content .= 'Сообщений пока нет.<br/>'; }
$content .= '<a href="dobav.php">Добавить сообщение</a><br/>';
if(ADMIN) $content .= '<a href="admin.php?vhd="><b>Выход</b></a><br/>';
//Низ файла
require 'wablon.part';
?>