<?php
define('NTLCMS', 1);
$module = 'chat';
include ('../system/start.php');
include ('../system/function.php');
include ('../system/antidos.php');
$page_title = 'Страница беседки - клик клуба ' . strtoupper($_SERVER['HTTP_HOST']);
include ('../system/head.php');
if (!$active){
header('Location: '.URL);
$_SESSION['fail'] = 'Вы не авторизированы!';
exit;
}
$chatonline = DB :: run() -> querySingle("select count(`id`) from `users` where `where` = 'chat' and `ontime` > ?", array(TIME - 300));
if ($set['chat'] == '1' && $_USER['admin'] != '1'){
echo '<div class="title"><b>'.razd.' Беседка - '.$chatonline.' чел</b></div>';
echo '<div class="post"><center><i class="fa fa-close fa-fw"></i> Модуль закрыт администратором!</center></div>';
echo '<div class="block"><i class="fa fa-home fa-fw"></i> <a href="'.URL.'/cabinet">В кабинет</a></div>';
include ('../system/foot.php');
exit;
}
echo '<div class="title"><b>'.razd.' Беседка - '.$chatonline.' чел</b></div>';
$error = null;
if (isset($_POST['text'])){
$text = isset($_POST['text']) ? trim($_POST['text']) : '';
$text = preg_replace('/[\x00-\x1F\x7F]/u', '', $text);
$text = preg_replace('/[\p{Mn}\p{Me}]+/u', '', $text);
$text = preg_replace('/[\x{200B}-\x{200F}\x{202A}-\x{202E}\x{FEFF}]/u', '', $text);
$text = preg_replace('/\s{2,}/u', ' ', $text);
$text = htmlspecialchars($text, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
$user_clicks = DB :: run() -> querySingle("select `click_all` from `users` where `login` = ?", array($ulogin));
$min_clicks_for_comment = isset($set['min_clicks_comment']) ? (int)$set['min_clicks_comment'] : 100;

if ((int)$user_clicks < $min_clicks_for_comment && $_USER['admin'] != '1') {
$error.= 'Для написания в чат необходимо иметь минимум '.$min_clicks_for_comment.' кликов!<br/>';
$error.= 'У вас: '.(int)$user_clicks.' кликов<br/>';
}
if (empty($text)){
$error.= 'Сообщение не должно быть пустым!<br/>';
} elseif (mb_strlen($text, 'UTF-8') > 2500){
$error.= 'Текст должен содержать до 2500 символов!<br/>';
} elseif (DB :: run() -> querySingle("select (`date`) from `chat` where `login` = ? and `date` > ?", array($ulogin, TIME - $set['antispam']))){
$error.= 'Антиспам! Лимит '.((int) $set['antispam']).' секунд!<br/>';
}
if ($error){
echo '<div class="post"><center><i class="fa fa-close fa-fw"></i> '.$error.'</center></div>';
} else {
if (DB :: run() -> query("insert into `chat` (`date`, `login`, `text`) values(?, ?, ?)", array(TIME, $ilogin, $text))){
DB :: run() -> query("update `users` set `balans` = `balans` + ?, `postchat` = `postchat` + ? where `login` = ? limit 1", array($set['paychat'], 1, $ilogin));
$_SESSION['success'] = 'Сообщение добавлено!';
header('Location: '.URL.'/chats');
exit;
} else {
$_SESSION['fail'] = 'Ошибка при добавлении сообщения!';
header('Location: '.URL.'/chats');
exit;
}
}
}
$user_clicks = DB :: run() -> querySingle("select `click_all` from `users` where `login` = ?", array($ulogin));
$min_clicks_for_comment = isset($set['min_clicks_comment']) ? (int)$set['min_clicks_comment'] : 100;
echo '<div class="post"><center>';
echo '<i class="fa fa-info-circle fa-fw"></i> Ваши клики: <b>'.(int)$user_clicks.'</b>';
echo ' | Необходимо: <span style="color:red"><b>'.$min_clicks_for_comment.'</b></span>';
if ((int)$user_clicks < $min_clicks_for_comment && $_USER['admin'] != '1') {
} else {
echo ' | <span style="color:green">Можно</span>';
}
echo '</center></div>';
if ((int)$user_clicks >= $min_clicks_for_comment || $_USER['admin'] == '1') {
echo '<div class="menu"><form name="form" action="'.URL.'/chats" method="post">';
echo fast_smile() . panel('text').'
<textarea name="text" rows="3" cols="20"></textarea><br/>
<input type="submit" value="Добавить"/><a href="'.URL.'/'.generation(10).'.rand">
<input type="button" class="form" value="Обновить"/></a></form></div>';
}
$k_post = DB :: run() -> querySingle("select count(`id`) from `chat`"); 
$k_page = k_page($k_post, $onpage); 
$page = page($k_page); 
$start = $onpage * $page - $onpage; 
$sql = DB :: run() -> query("select * from `chat` order by `id` desc limit ".$start.", ".$onpage);
if ($k_post == 0){
echo '<div class="post"><center><i class="fa fa-close fa-fw"></i> Сообщений еще нет!</center></div>';
} else {
while ($row = $sql -> fetch(PDO::FETCH_OBJ)){
if ($ulogin == $row -> login){ $answer = NULL; } else { $answer = '[<a href="#form" onclick="javascript:tag(\' [b]'.checkout($row -> login).'[/b], \', \'\');">Ответить</a>]'; }
if ($_USER['admin'] == '1' || $ulogin == $row -> login){ $edit = '[<a href="'.URL.'/chat_edit'.((int) $row -> id).'">Редактировать</a>]'; } else { $edit = NULL; }
if ($_USER['admin'] == '1'){ $response = '[<a href="'.URL.'/chat_response'.((int) $row -> id).'">А ответ</a>]'; }
echo '<div class="menu">'.ava($row -> login).' '.login($row -> login, 1).' '.online($row -> login).' ('.date('d.m H:i', $row -> date).') '.$response.''.$edit.'';
if ($_USER['admin'] == '1'){ echo '[<a href="'.URL.'/chat_delete'.((int) $row -> id).'">Удалить</a>]'; }
echo '<br/> '.outtext($row -> text, 1 ,1 ,1).' '.$answer.' <br/>';
if ($row -> edit != '0') echo '<i><small>* <span style="color:green">Посл. ред. '.checkout($row -> elogin).' ('.lasttime($row -> edate).')</span></small></i><br/>';
echo empty($row -> response) ? null : '<div class="reply"><i><span style="color:red">Ответ '.checkout($row -> admin).':</span> '.outtext($row -> response, 1 ,1 ,1).'</i></div>';
echo '</div>';
}
if ($k_page > 1) navigation(URL.'/chats?', $k_page, $page);
}		
echo '<div class="block"><b>'.razd.' Кто в беседке?</b></div>';
$k_post = DB :: run() -> querySingle("select count(`id`) from `users` where `where` = 'chat' and `ontime` > ?", array(TIME - 180));
$k_page = k_page($k_post, $onpage); 
$page = page($k_page); 
$start = $onpage * $page - $onpage; 
$sql = DB :: run() -> query("select (`login`), (`ontime`) from `users` where `where` = 'chat' and `ontime` > ? limit ".$start.", ".$onpage, array(TIME - 180));
if ($k_post == 0){
echo '<div class="post"><center><i class="fa fa-close fa-fw"></i> В беседке никого нет!</center></div>';
} else {
while ($row = $sql -> fetch(PDO::FETCH_OBJ)){
echo '<div class="menu">'.ava($row -> login).' '.login($row -> login, 1).' <sup>'.lasttime($row -> ontime).'</sup></div>';
}
}
echo '<div class="block"><i class="fa fa-home fa-fw"></i> <a href="'.URL.'/cabinet">В кабинет</a></div>';
include ('../system/foot.php');
?>