Просмотр файла shouts/index.php

Размер файла: 16.5Kb
<?
/*
=============================================
Движок: 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">&nbsp;
	<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('Редактировать').'&nbsp;| &nbsp;'.$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'].'],&nbsp;';}
	
$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">&nbsp;'.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).'&nbsp;'.$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> &nbsp
			<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">&nbsp;<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('Пос.очистка:').'&nbsp;'.$timedate->times($settings_shcms['shouts_delete']);
			}
			echo '</span></div>';
        }
		

		include_once'../template/foot.php';
?>