Файл: modules/news/view.php
Строк: 166
<?php
define('SHCMS_ENGINE',true);
include_once('../../engine/system/core.php');
//Обрабатываем $_GET
$id = filter_input(INPUT_GET,'id',FILTER_SANITIZE_NUMBER_INT);
/* @var $id type intval */
$id = intval($id);
//Создаем массив
$error = array();
//Если нужные параметры не доступны
if (!isset($id) || !is_numeric($id)) {
header('Location: index.php');
exit;
}
//Выводим название с базы для 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 = ' <a href="setting.news.php?act=editor_sec&id='.$news['id'].'&edit">';
$resulte .= '<img src="/engine/template/icons/edit.png"></a>';
//Удаляем новость
$resulte .= ' <a href="setting.news.php?act=delete_sec&id='.$news['id'].'">';
$resulte .= '<img src="/engine/template/icons/delete.png"></a>';
}
//Выводи все записанные данные
$wview = '<div class="mainpost"><b style="font-size:14px;">'.$news['title'].'</b>'.$resulte.'';
$wview .= '<span class="time">'.date::make_date($news['time']).'</span><br/>';
$wview .= '<div class="details">';
$wview .= '<span><img src="/engine/template/icons/folder.png"> ';
$wview .= '<a style="color:#1E90FF;" href="category.php?id='.$views['id'].'">'.$views['name'].'</a>';
$wview .= '</span>';
$wview .= '<span><img src="/engine/template/icons/author.png"> ';
$wview .= '<a style="color:#1E90FF;" href="'.MODULE.'profile.php?act=view&id='.$id_users.'">'.$nick.'</a>';
$wview .= '</span>';
$wview .= '<span><img src="/engine/template/icons/eye.png"> ';
$wview .= '<font color="#778899">'.engine::number($news['view']).'</font>';
$wview .= '</span></div>';
echo $wview;
echo '<div class="lighter row2">'.engine::input_text($news['text']).'</div></div> ';
//Выводим счетчик постов
$row1 = $db->get_array($db->query("SELECT COUNT(*) FROM `news_comment` WHERE `id_news` = '".$id."'"));
echo '<div class="mainname">Комментарии <b>'.$row1[0].'</b></div>';
//Из $_POST превращаем в обычные переменные и убираем слэши
$submit = filter_input(INPUT_POST,'submit');
//Из $_POST превращаем в обычные переменные
$text = filter_input(INPUT_POST, 'text', FILTER_SANITIZE_STRING);
if(isset($submit)) {
//Если текст отсутствует
if(empty($text)) {
$error['text'][] = 'Введите комментарий';
}
//Если пользователь авторизован под своим ником то , добавляем новый пост в базу
if(empty($error) and $id_user == true) {
$mysql = $db->query("INSERT INTO `news_comment` (`id_user`,`id_news`,`text`,`time`) VALUES ('{$id_user}','{$id}','".$db->safesql($text)."','".time()."')");
user::points();
header("Location: view.php?id={$id}");
}
}
//Если авторизован пользователь то выведит ему форма
if($id_user == true) {
echo '<div class="mainpost">';
//Форма для печати сообщений
$form = new form('?id='.$id.'');
$form->textarea(false,'text',$otvet, (isset($error['text']) ? '<span style="color:red"><small>' . implode('<br />', $error['text']) . '</small></span><br />' : ''));
$form->submit('Отправить','submit',true,'btn btn-success');
$form->display();
echo '</div>';
}
//Выводим счетчик постов
$row = $db->get_array($db->query("SELECT COUNT(*) FROM `news_comment` WHERE `id_news` = '".$id."'"));
$newlist = new Navigation($row[0],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()."");
}else {
echo engine::error('Комментарий не найдено.');
echo engine::home(array('Назад','index.php'));
exit;
}
echo '<div class="mainpost">';
echo '<ul class="List_withminiphoto Pad_list">';
while($comment = $db->get_array($query)) {
//Получаем данные о пользователе
$profile = $db->get_array($db->query("SELECT * FROM `users` WHERE `id` = '{$comment[id_user]}'"));
//Получение данных о привилегий
$group = user::users($id_user, array('group'));
echo '<li class="clearfix row3">';
//Путь к аватарам
$avatar = '/upload/avatar/' . $profile['avatar'];
//Если нет аватара выводим аватар по умолчанию
if ($profile['avatar'] == false or file_exists($avatar) == false) {
echo '<a href="/engine/template/icons/default_large.png" class="UserPhotoLink left">';
echo '<img src="/engine/template/icons/default_large.png" class="UserPhoto UserPhoto_mini"></a>';
} else {
echo '<a href="' . $avatar . '" title="Просмотр профиля" class="UserPhotoLink left">';
echo '<img src="' . $avatar . '" class="UserPhoto UserPhoto_mini"></a>';
}
echo '<div class="list_content">';
//Ник Автора сообщения
echo '<a href="../profile.php?id=' . $profile['id'] . '"><b>' . $profile['nick'] . '</b></a>';
echo '<span class="time">' . $viewd . '</span>';
echo '<div class="details">';
//Привиление пользователя
echo '<span><img src="/engine/template/icons/group.png"> ' . user::group($comment['id_user']) . '</span>';
//Время добавление сообщения
echo '<span><img src="/engine/template/icons/date.png"> ' . date::make_date($comment['time']) . '</span>';
echo '</div>';
//Текст сообщения
echo '<div class="lighter row2">' . engine::input_text($comment['text']) . '</div>';
echo '</div>';
echo '</li>';
}
echo '</ul></div>';
//Вывод навигации
echo $newlist->pagination('id='.$id.'');
//Навигация постраничная
echo engine::home(array('Назад','index.php'));