<?php
// by mides, icq: 529-899-6, mail: [email protected]
$title = 'Гостевая книга';
require("../config.php");
require("../includes/start.php");
require("../includes/functions.php");
tp('Гостевая книга');
if($config['guest_off'] == 0){
switch($_GET['act']){
###############################################################################
## Главная страница ##
###############################################################################
default:
echo '<div class="s1">Сообщения</div><div class="list">';
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `book`"), 0);
if($count > 0){
$pages = ceil($count/$config['onpage']);
if(isset($_REQUEST['page'])){
$page = abs(intval($_REQUEST['page']));
}else{
$page = 1;
}
$from = ($page-1)*$config['onpage'];
$result = mysql_query("SELECT * FROM `book` ORDER BY `time` DESC LIMIT $from, ".$config['onpage']."");
while($msg = mysql_fetch_assoc($result)){
if(!isset($num)) $num = 1;
$num++;
$row_class = (!($num % 2)) ? 'row1' : 'row2';
echo '<div class="'.$row_class.'">';
echo '<a href="index.php?act=answer&id='.$msg['id'].'">'.$msg['login'].'</a> <i>'.date('d.m.Y / H:i', $msg['time']).'</i>';
if($msg['login'] == $_SESSION['login'] or $_SESSION['access'] > 0){
if($msg['time']+900 > time() or $_SESSION['access'] > 0){
echo ' (<a href="index.php?act=edit&id='.$msg['id'].'">ред</a>/<a href="index.php?act=del&id='.$msg['id'].'">уд</a>)';
}
}
echo '<br/>';
echo $msg['text'].'<br/>';
if(!empty($msg['edit_login']) && !empty($msg['edit_time'])){
echo '<i><font color="#999999">посл. ред.: '.date('d.m.y / H:i', $msg['edit_time']).', by '.$msg['edit_login'].'</font></i><br/>';
}
echo '</div>';
}
}else{
echo '<div class="row1">Сообщений еще нет</div>';
}
echo '</div><div class="s1">Навигация</div><div class="s2">';
navig($page, 'index.php?', $pages);
if(!empty($_SESSION['login']) or $config['guest_ableforguests'] == 0){
echo 'Добавить сообщение:<br/>';
echo '<form action="index.php?act=add" method="post" name="form">';
echo '<textarea name="text" cols="" rows="3"></textarea><br/>';
if(empty($_SESSION['login'])){
echo 'Введите число:<br/>';
$_SESSION['protect'] = rand(1111, 9999);
echo '<img src="../images/protect.php" alt="" /><br />';
echo '<input name="protect" type="text" maxlength="4" /><br/>';
}
echo '<input name="submit" type="submit" value="Написать" /></form><br/>';
}
echo '<a href="../">на главную</a></div>';
break;
###############################################################################
## Добавление сообщения ##
###############################################################################
case 'add':
// добавление сообщения пользователем
if(!empty($_SESSION['login'])){
if(!empty($_POST['text'])){
$login = $_SESSION['login'];
$text = sec($_POST['text']);
mysql_query("INSERT INTO `book` SET `login` = '$login', `text` = '$text', `time` = '".time()."'");
mysql_query("UPDATE `users` SET `user_points` = (user_points+1) WHERE `id` = '".$_SESSION['user_id']."'");
info('Сообщение успешно добавлено!');
nav2('./', 'гостевая');
}else{error('Вы не заполнили поле!'); nav2('./', 'назад');}
// добавление сообщения гостем
}elseif($config['guest_ableforguests'] == 0){
if(!empty($_POST['text'])){
if($_SESSION['protect'] == intval($_POST['protect'])){
$login = 'Гость';
$text = sec($_POST['text']);
mysql_query("INSERT INTO `book` SET `login` = '$login', `text` = '$text', `time` = '".time()."'");
info('Сообщение успешно добавлено!');
nav2('./', 'гостевая');
}else{
error('Вы не верно ввели проверочный код');
nav2('./', 'назад');
}
}else{
error('Вы не заполнили поле!');
nav2('./', 'назад');
}
}else{
error('Гости не могут оставлять сообщения!'); nav2('./', 'назад');}
break;
###############################################################################
## Форма добавления ответа ##
###############################################################################
case 'answer':
$id = intval($_REQUEST['id']);
$msg = mysql_fetch_assoc(mysql_query("SELECT * FROM `book` WHERE `id` = '$id'"));
if(isset($msg['id'])){
if(!empty($_SESSION['login']) or empty($_SESSION['login']) and $config['guest_ableforguests'] == 0){
echo '<form action="?act=answered&id='.$id.'" method="post" name="form">';
echo '<div class="s1">Ответ пользователю '.$msg['login'].'</div><div class="s2">';
echo '<textarea name="text" rows="3">'.$msg['login'].', </textarea><br/>';
if(empty($_SESSION['login']) and $config['guest_ableforguests'] == 0){
echo 'Введите число:<br/>';
$_SESSION['protect'] = rand(1111, 9999);
echo '<img src="../images/protect.php" alt="" /><br />';
echo '<input name="protect" type="text" maxlength="4" /><br/>';
}
echo '<input name="submit" type="submit" value="Ответить" /></form></div>';
}else{
error('Гости не могут оставлять сообщения!');
}
}else{
error('Сообщение, на которое вы хотите ответить не существует!');
}
nav2('./', 'назад');
break;
###############################################################################
## Добавление ответа ##
###############################################################################
case 'answered':
$id = intval($_REQUEST['id']);
// добавление ответа пользователем
if(!empty($_SESSION['login'])){
if(!empty($_POST['text'])){
$login = $_SESSION['login'];
$text = sec($_POST['text']);
mysql_query("INSERT INTO `book` SET `login` = '$login', `text` = '$text', `time` = '".time()."'");
mysql_query("UPDATE `users` SET `user_points` = (user_points+1) WHERE `id` = '".$_SESSION['user_id']."'");
info('Сообщение успешно добавлено!');
nav2('./', 'гостевая');
}else{error('Вы не заполнили поле!'); nav2('./', 'назад');}
// добавление ответа гостем
}else{
if($config['guest_ableforguests'] == 0){
if(!empty($_POST['text'])){
if($_SESSION['protect'] == intval($_POST['protect'])){
$login = 'Гость';
$text = sec($_POST['text']);
mysql_query("INSERT INTO `book` SET `login` = '$login', `text` = '$text', `time` = '".time()."'");
info('Сообщение успешно добавлено!');
nav2('./', 'гостевая');
}else{
error('Вы не верно ввели число!');
nav2('./', 'назад');
}
}else{
error('Вы не заполнили поле!');
nav2('./', 'назад');
}
}else{
error('Гости не могут оставлять сообщения!');
nav2('./', 'назад');
}
}
break;
###############################################################################
## Форма редактирования сообщения ##
###############################################################################
case 'edit':
$id = intval($_REQUEST['id']);
$msg = mysql_fetch_assoc(mysql_query("SELECT * FROM `book` WHERE `id` = '$id'"));
if(isset($msg['id'])){
if($msg['login'] == $_SESSION['login'] or $_SESSION['access'] > 0){
if($msg['time']+900 > time() or $_SESSION['access'] > 0){
echo '<div class="s1">Редактирование сообщения</div><div class="s2">';
echo '<form action="?act=edited&id='.$id.'" method="post" name="form">';
echo 'Сообщение:<br/><textarea name="text" rows="3">'.$msg['text'].'</textarea>';
echo '<input name="submit" type="submit" value="Редактировать" /></form></div>';
nav2('./', 'назад');
}else{
error('Время в течение которого вы могли изменить сообщение истекло!');
nav2('./', 'назад');
}
}else{
error('Вы не можете изменить это сообщение!');
nav2('./', 'назад');
}
}else{
error('Сообщение не существует!');
nav2('./', 'назад');
}
break;
###############################################################################
## Редактирование сообщения ##
###############################################################################
case 'edited':
$id = intval($_REQUEST['id']);
$msg = mysql_fetch_assoc(mysql_query("SELECT * FROM `book` WHERE `id` = '$id'"));
if(isset($msg['id'])){
if($msg['login'] == $_SESSION['login'] or $_SESSION['access'] > 0){
if($msg['time']+900 > time() or $_SESSION['access'] > 0){
$text = sec($_POST['text']);
mysql_query("UPDATE `book` SET `text` = '$text', `edit_login` = '".$_SESSION['login']."', `edit_time` = '".time()."' WHERE `id` = '$id'");
info('Сообщение успешно отредактировано!');
nav2('./', 'назад');
}else{
error('Время в течение которого вы могли отредактировать сообщение истекло!');
nav2('./', 'назад');
}
}else{
error('Вы не можете отредактировать это сообщение!');
nav2('./', 'назад');
}
}else{
error('Сообщение не существует!');
nav2('./', 'назад');
}
break;
###############################################################################
## Удаление сообщения ##
###############################################################################
case 'del':
$id = intval($_REQUEST['id']);
$msg = mysql_fetch_assoc(mysql_query("SELECT * FROM `book` WHERE `id` = '$id'"));
if(isset($msg['id'])){
if($msg['login'] == $_SESSION['login'] or $_SESSION['access'] > 0){
if($msg['time']+900 > time() or $_SESSION['access'] > 0){
mysql_query("DELETE FROM `book` WHERE `id` = '$id'");
info('Сообщение успешно удалено!');
nav2('./', 'назад');
}else{
error('Время в течение которого вы могли удалить сообщение истекло!');
nav2('./', 'назад');
}
}else{
error('Вы не можете удалить это сообщение!');
nav2('./', 'назад');
}
}else{
error('Сообщение не существует!');
nav2('./', 'назад');
}
break;
}
}else{
error('Гостевая отключена');
nav();
}
require("../includes/tail.php");
?>