Просмотр файла guest.php

Размер файла: 11.72Kb
<?php
include "header/config.inc.php";
include "header/function.inc.php";
include "header/header.inc.php";
include "header/connect.inc.php";
include "header/click-club.class.php";
If (!isset($_GET['log'])) define("anybody","true");
include "header/enter.inc.php";

@mysql_query("update `".prefix."users` set `mesto`='В гостевой' where `id` = '".$_USER['id']."'");
If (!isset($_GET['mode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['mode'])) $mode=false; else $mode=$_GET['mode'];

switch ($mode){

case 'admin':

If ($_USER['admin'] || $_USER['moder']){

If (!isset($_GET['smode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['smode'])) $smode='adminka'; else $smode=$_GET['smode'];
echo 'Админ-панель гостевой книги<br/>---<br/>';

switch($smode){
case 'fdelu':
If (
(!isset($_GET['user']) || !$click_club->is_login($_GET['user']))
&&
(!isset($_POST['user']) || !$click_club->is_login($_POST['user']))
){
echo 'Пользователь  не выбран или логин введён неверно!';
break;
}

If (isset($_GET['user'])) $login=$_GET['user']; else  $login=$_POST['user'];
If (!isset($_GET['ok'])){
echo 'Вы точно хотите удалить все сообщения пользователя <u>'.$login.'</u>?<br/>
<a href="'.$_zapros.'mode=admin">Нет</a> / <a href="'.$_zapros.'mode=admin&amp;smode=fdelu&amp;user='.$login.'&amp;ok=ok">Да</a>';
break;
}
//удаляем
$result=@mysql_query("DELETE FROM `".prefix."guest` WHERE `who`='".$login."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
echo 'Все сообщения пользователя '.$login.' удалены!';
break;

case 'delu':
echo 'Удалить все сообщения пользователя:<br/>
<form method="post" action="'.$_zapros.'mode=admin&amp;smode=fdelu">
<input type="text" name="login" maxlength="'.lenght_login.'" value=""/><br/>
<input value="OK" type="submit"/></form>
';
break;

case 'delall':
If (!isset($_GET['ok'])){
echo 'Вы точно хотите удалить все сообщения в гостевой книге?<br/>
<a href="'.$_zapros.'mode=admin">Нет</a> / <a href="'.$_zapros.'mode=admin&amp;smode=delall&amp;ok=ok">Да</a>';
break;
}
//удаляем
$result=@mysql_query("DELETE FROM `".prefix."guest`");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
echo 'Все сообщения удалены!';
break;

case 'adminka':
default:
echo '&#187;<a href="'.$_zapros.'mode=admin&amp;smode=delu">Удалить все сообщения пользователя</a><br/>';
echo '&#187;<a href="'.$_zapros.'mode=admin&amp;smode=delall">Удалить все сообщения в гостевой книге</a>';
break;
}
break;
}
else {
echo 'Вы не администратор!<br/>';
}
break;


case 'do':
If (!isset($_GET['id']) || !is_numeric($_GET['id'])){
echo 'не задан ID сообщения';
break;
}

If ($_USER['admin'] || $_USER['moder']){

If (!isset($_GET['smode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['smode'])) $smode='info'; else $smode=$_GET['smode'];

$id=$_GET['id'];
(int)$id;

switch ($smode){
case 'del':
$result=@mysql_query("DELETE FROM `".prefix."guest` WHERE `id`='".$id."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
header("Location: guest.php".$_zapros);

break;

case 'fdel':
$result=@mysql_query("SELECT `who` FROM `".prefix."guest` WHERE `id`='".$id."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}

If (mysql_num_rows($result)!=1){
echo 'Сообщение не найдено';
break;
}
$login=mysql_result($result,0,'who');
echo 'Вы точно хотите удалить все сообщения пользователя <u>'.$login.'</u>?<br/>
<a href="'.$_zapros.'">Нет</a> / <a href="'.$_zapros.'mode=admin&amp;smode=fdelu&amp;user='.$login.'&amp;ok=ok">Да</a>';

break;

case 'ans':
$result=@mysql_query("SELECT * FROM `".prefix."guest` WHERE `id`='".$id."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}

If (mysql_num_rows($result)!=1){
echo 'Сообщение не найдено';
break;
}


$ans=mysql_result($result,0,'answer');

echo 'Текст:<br/>
<form method="post" action="'.$_zapros.'mode=do&amp;smode=ansok&amp;id='.$id.'">
<input type="text" name="text" maxlength="'.lenght_text.'" value="'.$ans.'"/><br/>
<input value="OK" type="submit"/></form>
';
break;

case 'ansok':

If (!isset($_POST['text'])) {
echo 'Ответ не введён!';
break;
}
$text = mysql_real_escape_string(htmlspecialchars($_POST['text']));
$strlen=strlen($text);

If ($strlen<min_text || $strlen>lenght_text){
echo 'Сообщение слишком длинное/короткое';
break;
}
$result = mysql_query("UPDATE `".prefix."guest` SET `answer`='".$text."' , `nans`='".$_USER['login']."' WHERE `id`='".$id."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
echo 'Ответ добавлен!';
break;

case 'red':

$result = mysql_query("SELECT * FROM `".prefix."guest` WHERE `id`='".$id."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}

If (mysql_num_rows($result)!=1){
echo 'Сообщение не найдено';
break;
}

$ans=mysql_result($result,0,'text');

echo 'Текст:<br/>
<form method="post" action="'.$_zapros.'mode=do&amp;smode=redok&amp;id='.$id.'">
<textarea cols="30" rows="5" name="text" maxlength="'.lenght_text.'">'.$ans.'</textarea><br/>
<input value="OK" type="submit"/></form>';
break;

case 'redok':

If (!isset($_POST['text'])) {
echo 'Сообщения не введено!';
break;
}
$text = mysql_real_escape_string(htmlspecialchars($_POST['text']));
$strlen=strlen($text);

If ($strlen<min_text || $strlen>lenght_text){
echo 'Сообщение слишком длинное/короткое';
break;
}
$result = mysql_query("UPDATE `".prefix."guest` SET `text`='".$text."', `izmts`='".time()."', `izmkol`=`izmkol`+1, `izmwho`='".$_USER['login']."' WHERE `id`='".$id."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
header("Location: guest.php".$_zapros);
break;

case 'info':
default:
$result=@mysql_query("SELECT * FROM `".prefix."guest` WHERE `id`='".$id."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}

If (mysql_num_rows($result)!=1){
echo 'Сообщение не найдено';
break;
}

echo '<div class="header_rek"><b>Общая информация о сообщении</b></div><br/>
ID сообщения: <b>'.mysql_result($result,0,'id').'</b><br/>
Текст сообщения: <b>'.mysql_result($result,0,'text').'</b><br/>
Сообщение написано: <b>'.date("d.m.Y H:i:s",mysql_result($result,0,'ts')).'</b><br/>
Написал: <b>'.mysql_result($result,0,'who').'</b>
<font color="white"><hr></font>
&#187;<a href="'.$_zapros.'mode=do&amp;smode=red&amp;id='.$id.'">Изменить</a><br/>
&#187;<a href="'.$_zapros.'mode=do&amp;smode=ans&amp;id='.$id.'">Ответить</a><br/>
&#187;<a href="'.$_zapros.'mode=do&amp;smode=del&amp;id='.$id.'">Удалить</a><br/>
&#187;<a href="'.$_zapros.'mode=do&amp;smode=fdel&amp;id='.$id.'">Удалить ВСЕ сообщения этого пользователя</a>';
break;
}
break;
}
else {
echo 'Вы не администратор!<br/>';
}
break;

case 'write':

If (!$_enter){
echo 'Для того чтобы писать сообщения, вы должны войти в систему!<br/>';
break;
}

If (!isset($_POST['text'])) {
echo 'Текст:<br/>
<form method="post" action="'.$_zapros.'mode=write">
<textarea cols="30" rows="5" name="text" maxlength="'.lenght_text.'"></textarea><br/>
<input value="Написать" type="submit"/></form>';
break;
}

$text = htmlspecialchars(trim(mysql_real_escape_string($_POST['text'])));
$strlen = strlen($text);

If ($strlen<min_text || $strlen>lenght_text){
echo 'Сообщение слишком длинное/короткое';
break;
}

$result=@mysql_query("INSERT into `".prefix."guest`
(`who`,`text`,`ts`,`ua`)
values
('".$_USER['login']."','".$text."','".time()."','".short_agent."')
");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
header("Location: guest.php".$_zapros);
break;

case 'bbkod':

include "bbcode.txt";
break;

case 'smiles':

include "smile.txt";
break;

case 'izm':
If (!isset($_GET['id']) || !is_numeric($_GET['id'])){
echo 'Не задан ID сообщения';
break;
}

If (!isset($_GET['wmode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['wmode'])) $wmode='red'; else $wmode=$_GET['wmode'];

$id=$_GET['id'];
(int)$id;

switch ($wmode){

case 'red':

$result = mysql_query("SELECT * FROM `".prefix."guest` WHERE `id`='".$id."' && `who`='".$_USER['login']."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}

If (mysql_num_rows($result)!=1){
echo 'Сообщение не найдено';
break;
}

$ans=mysql_result($result,0,'text');

echo 'Текст:<br/>
<form method="post" action="'.$_zapros.'mode=izm&amp;wmode=redok&amp;id='.$id.'">
<textarea cols="30" rows="5" name="text" maxlength="'.lenght_text.'">'.$ans.'</textarea><br/>
<input value="OK" type="submit"/></form>';
break;

case 'redok':

If (!isset($_POST['text'])) {
echo 'Сообщения не введено!';
break;
}
$text = mysql_real_escape_string(htmlspecialchars($_POST['text']));
$strlen=strlen($text);

If ($strlen<min_text || $strlen>lenght_text){
echo 'Сообщение слишком длинное/короткое';
break;
}
$result = mysql_query("UPDATE `".prefix."guest` SET `text`='".$text."', `izmts`='".time()."', `izmkol`=`izmkol`+1, `izmwho`='".$_USER['login']."' WHERE `id`='".$id."' && `who`='".$_USER['login']."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
header("Location: guest.php".$_zapros);
break;
}
break;

case false:
default:

echo '<div class="header_rek"><b>Гостевая книга</b></div>
<a href="guest.php'.$_zapros.'mode=bbkod">BB Код</a> | <a href="guest.php'.$_zapros.'mode=smiles">Смайлы</a><br/><br/>
<a href="'.$_zapros.'mode=write"><b>Добавить</b></a><br/>
<font color="white"><hr></font>';

If (!isset($_GET['page']) || !is_numeric($_GET['page'])) $page=1; else { $page=$_GET['page']; (int)$page;}
$result = mysql_query("SELECT * FROM `".prefix."guest` ORDER by `ts` desc LIMIT ".(($page-1)*num_best_on_page).",".(num_best_on_page+1));
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}

$next=false;
$num=mysql_num_rows($result);
If ($num>0){
If ($num<=num_best_on_page) $read=$num; else {
$read=num_best_on_page;
$next=true;
}
for ($i=0;$i<$read;$i++){
$text = mysql_result($result,$i,'text');
$text = bbcode($text);
$text = smile($text);
$text = antilink($text);
$text = stripslashes($text);
$ans = mysql_result($result,$i,'answer');
$ans = bbcode($ans);
$ans = smile($ans);
$ans = stripslashes($ans);
$login = mysql_result($result,$i,'who');
$id = mysql_result($result,$i,'id');
$izmts = mysql_result($result,$i,'izmts');
$izmkol = mysql_result($result,$i,'izmkol');
$izmkto = mysql_result($result,$i,'izmwho');

$nif = mysql_query("SELECT `admin`, `moder` FROM `".prefix."users` WHERE `login`='".$login."'");
$zak = mysql_fetch_array($nif);

echo '<a href="inf.php'.$_zapros.'&logg='.$login.'"><font color="';

if ($zak['admin'] == 1) echo 'red';
if ($zak['moder'] == 1) echo 'blue';
if ($zak['admin'] == 0 && $zak['moder'] == 0) echo 'black';

echo '"><b>'.$login.'</b></font></a> '.date("d.m.Y H:i:s",mysql_result($result,$i,'ts'));

If ($_USER['login']==$login){
echo '[<a href="'.$_zapros.'mode=izm&amp;wmode=red&amp;id='.$id.'">Редактировать</a>]';
}

If ($_USER['admin'] || $_USER['moder']){
echo ' [<a href="'.$_zapros.'mode=do&amp;id='.$id.'">Действия</a>]';
}
echo '<br/>'.$text.'<br/>';

If (!is_NULL($izmkto) && $izmkto!=''){
echo '---<br/>
Изм. : <b>'.$izmkol.'</b> раз. Последний раз: <b>'.date("H:i d.m.Y",$izmts).'</b> ник <b>'.$izmkto.'</b><br/>';
}

$nans = mysql_result($result,$i,'nans');
If (!is_NULL($ans) && $ans!=''){
echo '<font color="red"><b>'.$nans.'</b></font>: '.$ans.'<br/>';
}
echo '<font color="white"><hr></font>';

}
} else echo 'Нет сообщений<br/>';

If ($page>1) echo '<a href="'.$_zapros.'mode=read&amp;page='.($page-1).'">Назад</a> ';
If ($next) echo '<a href="'.$_zapros.'mode=read&amp;page='.($page+1).'">Далее</a>';

$result=@mysql_query("SELECT `who` FROM `".prefix."guest` ");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
echo '<br/>Сообщений: '.mysql_num_rows($result);


break;
}
If ($_USER['admin'] || $_USER['moder'])
echo '<br/>---<br/>&#187;<a href="'.$_zapros.'mode=admin">Админка гости</a>';

include "header/end.inc.php";
?>