<?
/*
=============================================
Движок: SHCMS Engine
=============================================
Название файла: Мини-чат
=============================================
Official website: http://shcms.ru
=============================================
Данный код защищен авторскими правами
=============================================
*/
define('SHCMS', true);
include_once'../system/inc/basic_settings.php';
$shcmsengine['title'] = Lang::get('Мини-Чат');
include_once'../template/head.php';
if($settings_shcms['shouts'] == 1) {
$dir_shouts = mysql_query("SELECT * FROM `shouts_dir`");
while($dir_shout = mysql_fetch_array($dir_shouts)) {
$dirshouts = mysql_result(mysql_query("SELECT COUNT(*) FROM `shouts` WHERE `id_dir` = '$dir_shout[id]'"),0);
echo '<div class="posts"><img src="../template/icon/dir.png">
<a href="rooms.php?id_dir='.$dir_shout['id'].'">'.$dir_shout['name'].'</a> ('.$dirshouts.')<span class="maintime">
<a title="'.Lang::get('Редактировать').'" href="?edit_id='.$dir_shout['id'].'"><img src="/template/icon/edit.png"></a>
<a title="'.Lang::get('Удалить').'" href="?id_delete='.$dir_shout['id'].'"><img src="/template/icon/delete.png"></a>
</span>
<div style="font-size:11px;">'.$dir_shout['text'].'</div></div>';
/*
* name: Удаление комнаты
* parametr: $_GET['id_delete']
*/
if($_GET['id_delete'] == $dir_shout['id']) {
$delete = mysql_query("DELETE FROM `shouts_dir` WHERE `id`='$dir_shout[id]'");
mysql_query("DELETE FROM `shouts` WHERE `id_dir` = '$dir_shout[id]'");
if($delete == true) {
messag(Lang::get('Раздел успешно удален'));
header('Refresh: 1; url=?');
echo '<div class="link_str"><a href="index.php">'.Lang::get('Назад').'</div>';
include_once'../template/foot.php';
exit();
}else {
errors(Lang::get('Ошибка при удаление раздела'));
header('Refresh: 1; url=?');
echo '<div class="link_str"><a href="index.php">'.Lang::get('Назад').'</div>';
include_once'../template/foot.php';
exit();
}
}
/*
* name: Редактирование комнаты
* parametr: $_GET['edit_id']
*/
if($_GET['edit_id'] == $dir_shout['id']) {
if(isset($_POST['submit'])){
$submit = $_POST['submit'];
}
if(isset($_POST['edit'])){
$edit = $_POST['edit'];
}
if(isset($_POST['access'])){
$access = $_POST['access'];
}
if(isset($_POST['text'])){
$text = $_POST['text'];
}
if(isset($submit)) {
if(empty($edit)){
errors(Lang::get('Введите название'));
header('Refresh: 1; url=?edit_id='.$dir_shout['id']);
include_once'../template/foot.php';
exit;
}
if(empty($text)){
errors(Lang::get('Введите текст'));
header('Refresh: 1; url=?edit_id='.$dir_shout['id']);
include_once'../template/foot.php';
exit;
}
if(strlen($text)< 0 or strlen($text) > 9200){
errors(Lang::get('Ваш текст не должен превышать 9 200символов'));
header('Refresh: 1; url=?edit_id='.$dir_shout['id']);
include_once'../template/foot.php';
exit;
}
$dir_save = mysql_query("UPDATE `shouts_dir` SET `name`='$edit',`text` = '$text',`time_old`='".time()."',`access` = '$access' WHERE `id`='$dir_shout[id]'");
if($dir_save == true)
{
messag(Lang::get('Параметры изменены'));
header('Refresh: 1; url=?');
include_once'../template/foot.php';
exit;
}
else{
errors(Lang::get('При редактировании возникли ошибки'));
header('Refresh: 1; url=?');
include_once'../template/foot.php';
exit;
}
}
echo '<div class="maintitle mainrazd">'.Lang::get('Редактировать').' | '.$dir_shout['name'].'</div>';
$form = new form('?edit_id='.$dir_shout['id']);
$form->input(Lang::get('Название:'),'edit','text',$dir_shout['name'],true,false);
$form->textarea(Lang::get('Текст:'),'text',$dir_shout['text']);
$form->select(Lang::get('Доступность:'),'access',array('Выключить' => 1,'Включить'=> 2),$dir_shout['access'],'<div class="line_file"></div>');
$form->submit(Lang::get('Сохранить'),'submit');
$form->finish();
}
}
if(isset($user_id) and $user4['team'] == 6) {
switch($act):
case 'new_rooms':
if($_POST['submit']){
$submit = $_POST['submit'];
}
if(isset($submit)) {
if($_POST['name']) {
$name = $_POST['name'];
}
if($_POST['text']){
$text = $_POST['text'];
}
if(mysql_result(mysql_query("SELECT * FROM `shouts_dir` WHERE `name`= '$name'"),0) != 0) {
errors(Lang::get('Такое название уже существует'));
header("Refresh: 1; url=?act=new_rooms");
include_once'../template/foot.php';
exit();
}
if(empty($name)){
errors(Lang::get('Введите название'));
header("Refresh: 1; url=?act=new_rooms");
include_once'../template/foot.php';
exit();
}
if(strlen($name)< 0 || strlen($name) >60){
errors(Lang::get('название должен быть не больше 60 символов'));
header("Refresh: 1; url=?act=new_rooms");
include_once'../template/foot.php';
exit();
}
if(strlen($text)< 0 || strlen($text) > 255){
errors(Lang::get('Описание должен быть не больше 255 символов'));
header("Refresh: 1; url=?act=new_rooms");
include_once'../template/foot.php';
exit();
}
$name = trim($name);
$name = stripslashes($name);
$name = htmlspecialchars($name);
$mysql_ok = mysql_query("INSERT INTO `shouts_dir` (name,text,time) VALUES ('$name','$text','$time')");
if($mysql_ok == true){
messag(Lang::get('Раздел успешно создан'));
header("Refresh:1; url=?act=new_rooms");
include_once'../template/foot.php';
exit();
}
else
{
errors(Lang::get('Ошибка создании нового раздела'));
header("Refresh:1; url=?act=new_rooms");
include_once'../template/foot.php';
exit();
}
}
echo '<div class="maintitle mainrazd">'.Lang::get('Создать новый раздел').'</div>';
$form = new form('?act=new_rooms');
$form->input(Lang::get('Название:'),'name','text',false,true,false);
$form->textarea(Lang::get('Текст:'),'text',false);
$form->submit(Lang::get('Сохранить'),'submit');
$form->finish();
break;
endswitch;
echo '<div class="maintitle mainrazd">'.Lang::get('Навигация').'</div>';
echo '<div class="maintext"><a href="?act=new_rooms">'.Lang::get('Создать комнату').'</a></div>';
}
include_once'../template/foot.php';
exit;
}
if($user_id) {
if(isset($_GET['otv'])){
if(isset($_GET['id'])){
$mess_id = $_GET['id'];}
$shoutsf = mysql_fetch_array(mysql_query("SELECT * FROM `shouts` WHERE `id` = '$mess_id'"));
$guest_sh = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '$shoutsf[user_id]'"));
$mess_ots = '[user='.$guest_sh['login'].'], ';}
$ban_user = mysql_fetch_array(mysql_query("SELECT * FROM `ban_shouts` WHERE `user_id` = '$user_id'"));
if($ban_user['ban_id'] == 2) {
errors(Lang::get('Вы забанены в Мини-чате <span class="mainforum"><a href="?act=ban">Подробнее..</a></span>'));
}else {
echo '<div class="maintitle"><strong>'.Lang::get('Текст сообщения').'</strong></div>';
echo '<div class="maintext">';
$form = new form ('?');
$form->textarea (false,'text',$mess_ots,true,false,'placeholder="Введите текст сообщения..."');
$form->captcha('captcha_guest');
$form->submit (Lang::get('Отправить'),'submit');
$form->submit (Lang::get('Обновить'),'refresh');
$form->form_link(DIR_SHCMS.'smile.php',Lang::get('Смайлы'));
$form->finish();
echo '</div>';
}
switch($act):
case'ban':
echo '<div class="mysql_no">';
$mysql_user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '$ban_user[id_admin]'"));
echo Lang::get('Забанил:').' <a href="'.DIR_SHCMS.'change_view.php?id='.$mysql_user['id'].'">'.$mysql_user['login'].'</a><br/>';
echo Lang::get('Начала бана:').' '.$timedate->times($ban_user['time']);
echo Lang::get('<br/>Окончания бана: Как администратор решит!');
echo '</div>';
break;
endswitch;
}else {
echo '<div class="maintitle mainrazd"><img src="../template/icon/info.png"> '.Lang::get('Информация').'</div>';
echo '<div class="maintext">'.Lang::get('<b>Не авторизованные</b> посетители, не могут оставлять комментарии в мини чате').'</div>';
}
if(isset($_POST['submit'])){
$submit = $_POST['submit'];
}
if(isset($submit)) {
if(isset($_POST['login'])){
$submit = $_POST['submit'];
}
if(isset($_POST['text'])){
$text = $_POST['text'];
}
/* Отключения транслита
if($_POST['tran'] == 1)
{
$text = $translits->translit_rus($text);
}elseif($_POST['tran'] == 2)
{
$text = $translits->translit_eng($text);
}*/
if($settings_shcms['antilink'] == true) {
$text = $system_function->antilink($text);
}
if($settings_shcms['antimat'] == true) {
$text = $system_function->antimat($text);
}
if($settings_shcms['removing_links'] == true) {
$text = SHCMS_core::removing_links($text);
}
if(empty($text))
{
errors(Lang::get('Введите текст'));
header('Refresh: 1; url=?' . $conservation . '&' );
include_once'../template/foot.php';
exit;
}
if(strlen($text)< 0 or strlen($text) > 9200)
{
errors(Lang::get('Ваш текст не должен превышать 9 200символов'));
header('Refresh: 1; url=?' . $conservation . '&' );
include_once'../template/foot.php';
exit;
}
if($settings_shcms['captcha_guest'] == 1)
{
$antibot = isset($_POST['kod']) ? trim($_POST['kod']) : '';
if (empty($antibot) || strlen($antibot) < 3)
{
errors(Lang::get('Код безопастности не введен!'));
header('Refresh: 1; url=?' . $conservation . '&' );
include_once'../template/foot.php';
exit;
}
elseif ($antibot != $_SESSION['code'])
{
errors(Lang::get('Код безопасности не соответствует отображённому'));
header('Refresh: 1; url=?' . $conservation . '&' );
include_once'../template/foot.php';
exit;
}
unset($_SESSION['code']);
}
$text = stripslashes($text);
$text = htmlspecialchars($text);
$yel = mysql_query("INSERT INTO `shouts` (text,time,user_id) VALUES ('".my_esc($text)."','".time()."','$user_id')");
$balls = $users_nav['ball'] +1;
mysql_query("UPDATE `users` SET `ball`='$balls' WHERE `id`='$user_id'");
if($yel == true)
{
messag(Lang::get('Сообщение успешно добавлено'));
header('Refresh: 1; url=?');
include_once'../template/foot.php';
exit;
}
else{
errors(Lang::get('Сообщение не добавлено'));
header('Refresh: 1; url=?');
include_once'../template/foot.php';
exit;
}
}
$allfield = mysql_result(mysql_query("SELECT COUNT(*) FROM `shouts` WHERE `id_dir` = '0'"),0);
$newlist = new Navigation($allfield, 10, true);
$shouts = mysql_query("SELECT * FROM `shouts` WHERE `id_dir` = '0' ORDER BY `id` DESC ". $newlist->limit()." ");
$shouts_all = mysql_fetch_array($shouts);
$count_user = mysql_result(mysql_query("SELECT COUNT(*) FROM `shouts` WHERE `user_id` = '$user_id'"),0);
echo '<div class="maintext"><img src="/template/icon/pisem.gif"/> '.Lang::get('Всего сообщений в мини чате: <b>%s</b>, из них ваши<b>',$allfield).' '.$count_user.'</b></div>';
if($shouts_all == null){
echo '<div class="maintext"><img src="../template/icon/empty.png"> '.Lang::get('Сообщений в мини-чате нет!').'</div>';
}
else
{
do
{
$list_ban = mysql_fetch_array(mysql_query("SELECT * FROM `ban_shouts`"));
$ban_ls = mysql_fetch_array(mysql_query("SELECT * FROM `ban_shouts` WHERE `user_id` = '$shouts_all[user_id]'"));
echo '<div class="maintitle">';
users_profile($shouts_all['user_id']);
list_users($shouts_all['user_id']);
echo' <span class="maintime">'.DateClass::make_date($shouts_all['time']).'</span>';
echo '</div>';
echo "<div class='maintext'>".processing($shouts_all['text']);
if($users_user['team'] == 6) {
echo '<div style="text-align:right">';
if($ban_ls['user_id'] == $shouts_all[user_id]) {
echo '<a href="ban_users.php?act=delete&id='.$shouts_all['user_id'].'">
<img title="'.Lang::get('Снять бан').'" src="../template/icon/open.png"/></a>'; }else {
echo '<a href="ban_users.php?act=insert&id='.$shouts_all['user_id'].'">
<img title="'.Lang::get('Забанить').'" src="../template/icon/users/ban.png"/></a>';
}
echo '<a href="?otv&id='.$shouts_all['id'].'">
<img title="'.Lang::get('Ответить').'" src="../template/icon/replayal.png"/></a>  
<a href="delete.php?id='.$shouts_all['id'].'">
<img title="'.Lang::get('Удалить').'" src="../template/icon/delete.png"/></a></div>';
}
else{
if($user_id)
{
echo '<div style="text-align:right"><a href="?otv&id='.$shouts_all['id'].'"><img title="'.Lang::get('Ответить').'" src="../template/icon/replayal.png"/></a></div>';
}
}
echo '</div>';
}
while($shouts_all = mysql_fetch_array($shouts));
echo '<div class="pages">';
echo $newlist->pagination();
echo '</div>';
}
if(isset($_POST['refresh']))
{
$refresh = $_POST['refresh'];
}
if(isset($refresh))
{
header('Refresh: 1; url=?'.$conservation.'&');
}
//Если У вас имеется статус (6) то можно очистить мини-чат
if($user4['team'] == 6) {
echo '<div class="maintext"><img src="../template/icon/refresh.png"> <strong><a href="remove_all.php">'.Lang::get('Очистка мини-чата').'</a></strong><span class="maintime">';
if($settings_shcms['shouts_delete'] == false) {
echo Lang::get('Вы еще не очищали мини-чат');
}else {
echo Lang::get('Пос.очистка:').' '.$timedate->times($settings_shcms['shouts_delete']);
}
echo '</span></div>';
}
include_once'../template/foot.php';
?>