Просмотр файла quickchat/admin.php

Размер файла: 9.59Kb
<? // WR-Quickchat v 1.2  //  12.04.06 г.  //  [email protected]

error_reporting  (E_ALL);

include "config.php";


if (!isset($_GET['pswrd'])) // Авторизация

{echo "
<html><head><META HTTP-EQUIV='Pragma' CONTENT='no-cache'><META HTTP-EQUIV='Cache-Control' CONTENT='no-cache'><META content='text/html; charset=windows-1251' http-equiv=Content-Type><link rel=stylesheet type='text/css' href='style.css'></head><body>
<BR><BR><BR><center>
<form action='admin.php' method=GET name=pass>Введите пароль: <BR><input type=password size=17 name=pswrd><BR><input type=submit value='Войти'>
<SCRIPT language=JavaScript>document.pass.pswrd.focus();</SCRIPT><BR><BR><BR>";}
else {if ($_GET['pswrd']=="$password")
{ // Авторизация пройдена успешно


$shapka="<html><head>
<title>Квикчат - Админка</title>
<META HTTP-EQUIV=Pragma\" CONTENT='no-cache'>
<META HTTP-EQUIV='Cache-Control' CONTENT='no-cache'>
<META content='text/html; charset=windows-1251' http-equiv=Content-Type>
<STYLE>
BODY {FONT-FAMILY: Verdana}
a {text-decoration: underline; color: #000000;}
a:visited {text-decoration: underline; color: #000000;}
a:hover, a:active {text-decoration: underline; color: #FF9C00;}
input {FONT-SIZE: 12px; WIDTH: 30px; font-size: 13; color: 000000; border: #808080 1 solid;}
.text {FONT-SIZE: 12px; WIDTH: 407px; font-size: 13; color: 000000; border: #808080 1 solid;}
.midle {FONT-SIZE: 12px; WIDTH: 130px; font-size: 13; color: 000000; border: #808080 1 solid;}
.small {FONT-SIZE: 11px;}
.smallest {FONT-SIZE: 9px;}
TD {FONT-SIZE: 11px}
TD.menu {FONT-SIZE: 11px; FONT-WEIGHT: bold}
TD.big_item_title {FONT-SIZE: 13px; FONT-WEIGHT: bold}
TD.pagesLine {FONT-SIZE: 10px}
</STYLE>
</head>
<body bgcolor=#F3F3F3><center>
<center><a href=admin.php?pswrd=$password><h3>Квикчат - Админка</h3></a>
<table width=100% cellpadding=1 cellspacing=0 border=1 bordercolor=#666666>
<TR height=30><TD align=center class=big_item_title>
<b>
:: <a href=admin.php?pswrd=$password&event=skin>Конфигурирование</a> ::
<a href='admin.php?pswrd=$password'>Главная админки</a> ::
<a href='quickchat.php'>Вернуться на главную</a> ::</B>
</td></tr>
<tr><td width=100%>
";




// Блок УДАЛЕНИЯ ВСЕХ сообщений
if (isset($_GET['xxd'])) {
$file=file($datafile);
$fp=fopen($datafile,"a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА
fflush ($fp);//очищение файлового буфера
flock ($fp,LOCK_UN);
fclose($fp);
Header("Location: admin.php?pswrd=$password"); exit; }




// Блок УДАЛЕНИЯ выбранного сообщения
if (isset($_GET['id'])) { $page=$_GET['page'];
$file=file($datafile); $itogo=count($file)-1;
$id=$itogo-$_GET['id'];
if ($itogo<1) {print"$back. Нужно оставить хотябы одно событие!"; exit;}

$fp=fopen($datafile,"w");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($file);$i++) { if ($i==$id) {unset($file[$i]);} }
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);

Header("Location: admin.php?pswrd=$password&page=$page"); exit; }





if (isset($_GET['event'])) {

if ($_GET['event']=="add") { // if ($event =="add")
$msg=$_POST['msg']; $name=$_POST['name']; $email=$_POST['email'];
$day=$_POST['day']; $timer=$_POST['timer'];

if (isset($_POST['page'])) {$page=$_POST['page'];} else {$page=1;}

$text="$msg|$name|$email|$day|$timer|";
$text=stripslashes($text);
$text=htmlspecialchars($text);
$text=str_replace("\r\n","<br> ",$text);

// если выбрано - редактирование
if (isset($_GET['rd'])) { $rd=$_GET['rd'];  //$rd - номер РЕДАКТИРУЕМОЙ ячейки
$file=file($datafile);
$fp=fopen($datafile,"a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА
for ($i=0;$i< sizeof($file);$i++) {if ($rd!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$text\r\n");}}
fflush ($fp);//очищение файлового буфера
flock ($fp,LOCK_UN);
fclose($fp);
}


else {
$fp=fopen($datafile,"a+");
flock ($fp,LOCK_EX);
fputs($fp,"$msg\r\n");
fflush ($fp);//очищение файлового буфера
flock ($fp,LOCK_UN);
fclose($fp);
}

Header("Location: admin.php?pswrd=$password&page=$page"); exit; }


if ($_GET['event']=="skin")  {
print "$shapka

<table width=100%><TR><TD>
<center><B><font size=+1>Конфигурирование</font></b>

<form action=admin.php?pswrd=$password&event=config method=POST name=REPLIER>
<table>
<tr><td><B>Пароль админа</B></td><td><input type=text value='$password' name=password size=15 class=midle></tr></td>
<tr><td>Сообщений на страницу в админке</td><td><input type=text value='$qq' name=qq size=10></tr></td>
<tr><td>Максимальное кол-во <B>сообщений в чате</B></td><td><input type=text value='$maxmeschat' name=maxmeschat maxlength=2></tr></td>
<tr><td>Максимальное кол-во <B>символов в имени</B></td><td><input type=text value='$maxname' name=maxname maxlength=2 class=midle></tr></td>
<tr><td>Максимальное кол-во <B>символов в сообщении</B></td><td><input type=text value='$maxmsg' name=maxmsg maxlength=4 class=midle></tr></td>
<tr><td><B>Цвет бордюра/текста</B> *указать обязательно</td><td><input type=text value='$brdcolor' name=brdcolor maxlength=7 class=midle> <input type=text value='$fontcolor' name=fontcolor maxlength=7 class=midle></tr></td>
<tr><td>Текущие цвета</td><td><input type=text value='$bdcolor' name=bdcolor maxlength=7 class=midle> <input type=text value='$fcolor' name=fcolor maxlength=7 class=midle> <input type=text value='$bagcolor' name=bagcolor maxlength=7 class=midle></tr></td>
<tr><td>Файл данных</td><td><input type=text value='$datafile' name=datafile size=20 class=midle></tr></td>
<tr><td colspan=2><center><table><tr><td><input type=submit value='Сохранить конфигурацию' class=text></form></td></tr></table>
</td></tr></table>

</TD></TR></TABLE>
</TD></TR></TBODY></TABLE>";
exit;  }



if ($_GET['event']=="config")  {

$configdata="<? // WR-Quickchat v. 1.2 //  12.04.06 г. // [email protected]\r\n".
"$"."password=\"".$_POST['password']."\"; // Пароль админа\r\n".
"$"."datafile=\"".$_POST['datafile']."\"; // Имя файла базы данных\r\n".
"$"."qq=\"".$_POST['qq']."\"; // кол-во отображаемых событий в админке на странице\r\n".
"$"."maxmeschat=\"".$_POST['maxmeschat']."\"; // Максимальное кол-во сообщений в чате\r\n".
"$"."maxname=\"".$_POST['maxname']."\"; // Максимальное кол-во символов в имени\r\n".
"$"."maxmsg=\"".$_POST['maxmsg']."\"; // Максимальное кол-во символов в сообщении\r\n".
"$"."brdcolor=\"".$_POST['brdcolor']."\"; // Цвет бордюра указать обязательно\r\n".
"$"."fontcolor=\"".$_POST['fontcolor']."\"; // Цвет текста\r\n".
"$"."fcolor=\"".$_POST['fcolor']."\"; \r\n".
"$"."bagcolor=\"".$_POST['bagcolor']."\"; \r\n".
"$"."bdcolor=\"".$_POST['bdcolor']."\"; // Текущие цвета\r\r\n".
"$"."date=date(\"d.m.y\"); // число.месяц.год\r\n".
"$"."time=date(\"H:i\"); // часы:минуты:секунды \r\n?>";

$file=file("config.php");
$fp=fopen("config.php","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА
fputs($fp,$configdata);
fflush ($fp);//очищение файлового буфера
flock ($fp,LOCK_UN);
fclose($fp);

Header("Location: admin.php?pswrd=$password"); exit; }

} // if isset['event']





print "$shapka <BR>";

$lines=file($datafile);
$itogo=count($lines);
$maxi=$itogo-1;

if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="1";}
if ($page=="0") {$page="1";} else {$page=abs($page);}
$maxpage=ceil(($maxi+1)/$qq); if ($page>$maxpage) {$page=$maxpage;}

$fm=$qq*($page-1); if ($fm>$maxi) {$fm=$maxi-$qq;}
  $lm=$fm+$qq; if ($lm>$maxi) {$lm=$maxi+1;} 

if ($itogo>0) {
do {$dt=explode("|", $lines[$fm]); $fm++;
$num=$itogo-$fm;

print"
<TABLE border=0 width=780 align=center cellPadding=0 cellSpacing=0><TBODY>
<TR><TD width=70><table><TR><TD bgcolor=#22FF44><B><a href='admin.php?pswrd=$password&rd=$num&page=$page'>.P.</a></TD><TD>&nbsp;&nbsp;</TD><TD bgcolor=#FF2244><a href='admin.php?pswrd=$password&id=$num&page=$page'>.X.</a></B></TD><TD> &nbsp;&nbsp;</TD></TR></TABLE></TD>
<TD width=350><B>$dt[0]</B></TD><TD width=100>$dt[1]</TD><TD width=130>$dt[2] &nbsp;</TD><TD width=70>$dt[3]</TD><TD width=70>$dt[4]</TD></TR></TBODY></TABLE><BR>";

} while($fm < $lm);

// выводим СПИСОК СТРАНИЦ
print "<center>Страницы:&nbsp; ";
for($i=0; $i<$maxi+1;) {$ip=$i/$qq+1;
if ($page==$ip) {print "<B>$ip</B> &nbsp;";} else {print "<a href='admin.php?pswrd=$password&page=$ip'>$ip</a> &nbsp;";}
$i=$i+$qq;} print "(дробление = <B>$qq</B>). Всего - <font color=red><B>$itogo<B></font>";
}

// ищем сообщение для редактирования и выводим его в форму
if (isset($_GET['rd']))  {  $rd=$maxi-$_GET['rd'];
$dt=explode("|", $lines[$rd]); $dt[0]=str_replace("<br>","\r\n",$dt[0]);
print"<BR><BR><TABLE border=0 width=500 align=center cellPadding=0 cellSpacing=0>
<TR align=center><TD><B>Редактирование</B></TD></TR>
<form action=admin.php?pswrd=$password&event=add&rd=$rd method=POST name=REPLIER>
<TR><TD>
Имя: <input type=text name=name value='$dt[1]' style='WIDTH: 160px;' class=midle> &nbsp;
Емайл: <input type=text name=email value='$dt[2]' style='WIDTH: 160px;' class=midle><BR>
<textarea class=text cols=50 rows=3 size=1000 name=msg>$dt[0]</textarea><BR>
Дата: <input type=text name=day value='$dt[3]' style='WIDTH: 160px;' class=midle>
Время: <input type=text name=timer value='$dt[4]' style='WIDTH: 160px;' class=midle><BR>
</TD></TR>
<input type=hidden name=page value='$page'>
<TR><TD align=center><BR><input class=midle type=submit value='Изменить'></form></TD></TR>";
}

print"</TD></TR></TABLE>
<center><h3><a href='admin.php?pswrd=$password&xxd=yes'><font color=red>Удалить ВСЕ!</font> (нажимать нежно не трясущимися руками ;-))</a></h3>";
}


}

print "</td></tr></table>
<BR><center><font size=-2>Powered by <a href='http://www.wr-script.ru/'>WR-Quickchat</a> &copy; 1.2</font></body></html>";
?>