Файл: 4mast/profmas.ru/guest.php
Строк: 58
<?php
require_once('includes/Headers.php');
require_once('includes/PDO_func.php');
include 'codes/pagination.php';
if (!isset ($us)) {
header ('location: /');
exit;
}
H ('Гостевая', 'Гостевая');
$db = DB::$dbs;
?>
<div class="menu2"><?=hi($us);?></div>
<?php
if (isset($_GET{'del'}))
{
$query = $db->query('SELECT `user` FROM `guest` WHERE `id` = "'.(int) $_GET['del'].'"');
if ($query->rowCount() > 0 OR $us['level'] >= 1)
{
$user = $query -> fetch();
$user = $user['user'];
if ($user == $us['id'] OR $us['level'] >= 1)
{
$db->query('DELETE FROM `guest` WHERE ((`id` = "'.(int) $_GET['del'].'"))');
echo '<div class="error">Удалено</div>';
}
}
}
if (isset($_POST{'btn'}))
{
$error = [];
if (empty($_POST['message']))
{
$error[] = 'Вы не ввели сообщение';
}
if (isset($_GET['send']))
{
if ($db -> query('SELECT `id` FROM `us` WHERE `id` = "'.(int) $_GET['send'].'"') -> rowCount() == 0)
{
$error[] = 'Вы хотите ответить не существующему юзеру';
}
if ($_GET['send'] == $us['id'])
{
$error[]='Вы не можете ответить самому себе';
}
}
if (empty($error))
{
$ips = (isset($us[ 'id' ]) == 0 ) ? IP() : '';
$send = isset($_GET['send']) ? (int) $_GET['send'] : '';
$prepareQuery = 'INSERT INTO `guest` SET
`id` = "NULL",
`user` = "'.$us{'id'}.'",
`message` = '.$db->quote($_POST{'message'}).',
`time` = "'.time().'",
`send` = "'.$send.'",
`ip` = "'.$ips.'"
';
if ($send != '')
{
$query = 'INSERT INTO `action` SET
`id` = "NULL",
`value` = "us{'.$us['id'].'} ответил вам в <a href=/guest.php>гостевой</a>",
`t` = "'.time().'",
`us` = "'.(int) $send.'",
`see` = "1",
`razd` = "other"
';
$db -> query($query);
}
if ($db -> query($prepareQuery))
{
header('location: /guest.php?success');
}
else
{
?><div class="error">Сообщение не добавленно, ошибка сервера</div><?php
}
}
else
{
foreach ($error as $err)
{
?><div class="error"><?=$err;?></div><?php
}
}
}
if (isset($_GET{'success'}))
{
?><div class="access">Сообщение добавленно</div><?php
}
$pg = new Pagination;
$pg -> init([
'page' => isset($_GET['page']) ? (int) $_GET['page'] : 1,
'num' => 10,
'posts' => $db->query('SELECT `id` FROM `guest`')->rowCount()
]);
$items = DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `guest` WHERE (`us`='" . $us['id'] . "')");
$items_per_page = 10;
$pages = ceil ( $items / $items_per_page );
if ($page < 1)
$page = 1;
if ($page > $pages)
$page = $pages;
$start = $page * $items_per_page - $items_per_page;
$query = $db -> query('SELECT * FROM `guest` ORDER BY `id` DESC LIMIT '.$pg->start.', '.$pg->num);
if ($us['online']<10800) {
echo '<div class="error">Для того, чтобы писать В гостевой нужно провести на сайте 1 час!</div>';
}
else {
if (isset($_GET['send']))
{
?><div class="block">Ответ: <?=Nick((int) $_GET['send']);?></div><?php
}?>
<div style="padding: 10px; background-color: #ddd; border: 1px solid #ddd;">Сообщение:<br/>
<form method="POST">
<p><textarea name="message"></textarea></p>
<p><input type="submit" name="btn" value="Написать"></p>
</form>
</div><?php
}
if ($query -> rowCount() > 0)
{
$rows = $query -> fetchAll();
foreach ($rows as $row)
{
?>
<div class="news">
<?=Nick($row['user']);?> <?=($row['send'] != 0 ? 'ответил: '.Nick($row['send']) : '');?> <b>(<?=datef($row['time']);?>)</b> <?=($us['id'] != $row['user'] ? '<a href="?send='.$row['user'].'">[Отв]</a>' : '');?> <?=(($us{'id'} == $row{'user'} OR $us['level'] >= 1) ? '<a href="?del='.$row{'id'}.'"> [Удл]</a>' : '');?>
<p><?=tag(htmlspecialchars($row['message']));?>
<?=(($row[ 'ip' ] != 0 AND $row[ 'user' ] == 0 AND $us[ 'level' ] >= 2) ? '</p><div style="float:right;">IP: <a href="/adm/ips.php?ip=' . $row[ 'ip' ] . '">' . $row[ 'ip' ] . '</a></div><br/>' : '</p>'); ?>
</div>
<?php
}
echo '' . page ('/guest.php') . '';
}
else
{
echo'<div class="error">Сообщений пока нет!</div>';
}
require_once('includes/Footers.php');
?>