View file modules/news/view.php

File size: 7.27Kb
<?
define('SHCMS_ENGINE',true);
include_once('../../engine/system/core.php');
    echo '<link rel="stylesheet" href="css/css.css">';
//Если вместо id num попытаются вставить текст то выводит ошибку
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    $templates->template(Lang::__('Произошла ошибка при выборе новостей')); //Название страницы
    header('Refresh: 1; url=index.php');
    engine::error(Lang::__('Произошла ошибка при выборе новостей')); //При ошибке
    exit;
}
    //из $_GET в обычную переменную
    $id = (int) $_GET['id'];
	
	//Выводим название с базы для title
        $news = $db->get_array($db->query("SELECT * FROM `news` WHERE `id` = '".$id."'"));
        $templates->template($news['title'],$news['text'],$news['title']); //Название страницы

        //Определяем ник
		$nick = $user->users($news['id_user'],array('nick'),false);
		
		//Определяем id
        $id_users = $user->users($news['id_user'],array('id'));
                          
            //Обновляем таблицу view (Чтобы счетчик просмотров поднимался)
            $db->query("UPDATE `news` SET `view` = '".($news['view']+1)."' WHERE `id` = '".$id."'");
			
		    //Определяем раздел новости
		    $views = $db->get_array($db->query("SELECT * FROM `news_category` WHERE `id` = '".$news['id_cat']."'"));
			
			        include_once('core/nextview.php');
								
								if($users['group'] == 15) {
									    $resulte = '&nbsp;<a href="setting.news.php?act=editor_sec&id='.$news['id'].'&edit"><img src="/engine/template/icons/edit.png"></a>';
										$resulte .= '&nbsp;<a href="setting.news.php?act=delete_sec&id='.$news['id'].'"><img src="/engine/template/icons/delete.png"></a>';
									}
									
 //Выводи все записанные данные
        echo '<div class="mainpost"><b style="font-size:14px;">'.$news['title'].'</b>'.$resulte.'';
		echo '<span class="time">'.date::make_date($news['time']).'</span><br/>';
        echo '<div class="details"><span><img src="/engine/template/icons/folder.png">&nbsp;<a style="color:#1E90FF;" href="category.php?id='.$views['id'].'">'.$views['name'].'</a></span>';
		echo '<span><img src="/engine/template/icons/author.png">&nbsp;<a style="color:#1E90FF;" href="'.MODULE.'profile.php?act=view&id='.$id_users.'">'.$nick.'</a></span>';
		echo '<span><img src="/engine/template/icons/eye.png">&nbsp;<font color="#778899">'.engine::number($news['view']).'</font></span></div>';
		
		
		echo '<div class="row">'.engine::input_text($news['text']).'</div></div> '; 
	        //Выводим счетчик постов
            if ($result1 = $db->query("SELECT COUNT(*) FROM `news_comment` WHERE `id_news` = '".$id."'")) {
                /* Переход к строке №400 */
                $result1->data_seek(399);
                /* Получение строки */
                $row1 = $result1->fetch_row();
            }


			echo '<div class="mainname">Комментарии <b>'.$row1[0].'</b></div><div class="mainpost">';

			//Из $_POST превращаем в обычные переменные и убираем слэши
    if(isset($_POST['submit'])) {$submit = $_POST['submit'];}

    if(isset($submit)) {
	    //Из $_POST превращаем в обычные переменные
        if(isset($_POST['text'])) {$text = $_POST['text'];}

		//Если текст отсутствует
        if(empty($text)) {
            echo engine::error('Введите текст');
	        header('Refresh: 1; url=view.php?id='.$id.'');
            exit;
        }
		//Если пользователь авторизован под своим ником то , добавляем новый пост в базу
		if($id_user == true) {	

		$mysql = $db->query("INSERT INTO `news_comment` (`id_user`,`id_news`,`text`,`time`) VALUES ('".$id_user."','".$id."','".$db->safesql($text)."','".time()."')");


		//Если все правильно
        		if($mysql == true) {
				    $db->query("UPDATE `users` SET `points` = '".($users['points']+1)."' WHERE `id` = '".intval($id_user)."'"); // Начисление баллов
          			echo engine::success('Сообщение успешно добавлено');
          			header('Refresh: 1; url=view.php?id='.$id.'');
            		exit;


					//Если есть ошибки
        		}else {
           			echo engine::error('Сообщение не добавлено');
            		header('Refresh: 1; url=view.php?id='.$id.'');
            		exit;
        		}
        }
    }


	//Если авторизован пользователь то выведит ему форма
if(isset($id_user)) {

echo '<div class="mainpost">';
	//Форма для печати сообщений
            $form = new form('?id='.$id.'');
            $form->textarea('Текст комментария','text',$otvet);
            $form->submit('Отправить','submit');
            $form->display();
			echo '</div>';
}
	
	//Выводим счетчик постов
    if ($result = $db->query("SELECT COUNT(*) FROM `news_comment` WHERE `id_news` = '".$id."'")) {
        /* Переход к строке №400 */
        $result->data_seek(399);
        /* Получение строки */
        $row = $result->fetch_row();
    }
        $newlist = new Navigation($row[0], // кол-во полей для вывода 
                                  10,         // выводить 10 записей на страницу 
                                  true);     // выводить "Стр." возле ссылок навигации
        
		//Если писем больше 1 выводит из базы данные
        if($row[0] > 0) {
            //Выводим все данные и таблицы `news_comment`
	        $query = $db->query("SELECT * FROM `news_comment` WHERE `id_news` = '".$id."' ORDER BY `id` DESC ". $newlist->limit()."");
        // А если меньше 0 то выводит это сообщение
		}else {
			echo '<div class="mainpost">Сообщений нет!</div>';
			echo '</div>';
			echo engine::home(array('Назад','index.php'));
			exit;
		}		
            while($comment = $db->get_array($query)) {
		        //Вывод ника
                $nick = $user->users($comment['id_user'],array('nick'),true);
			    //Вывод id
                $id_users = $user->users($comment['id_user'],array('id'));
			        //Путь к профилю пользователя
                    echo '<div class="mainname"><a href="'.MODULE.'profile.php?act=view&id='.$id_users.'">'.$nick.'</a> <span class="time">'.date::make_date($comment['time']).'</span></div>';
                    echo '<div class="mainpost">'.engine::input_text($comment['text']).'</div>';

            }
			 echo '</div>';
			    //Вывод навигации
                echo $newlist->pagination('id='.$id.''); 
				
				
				
echo engine::home(array('Назад','index.php'));
?>