Размер файла: 6.52Kb
<?
define('SHCMS_ENGINE',true);
include_once('../../engine/system/core.php');
//Если вместо 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(Lang::__($news['title'])); //Название страницы
//Определяем ник
$nick = $user->users($news['id_user'],array('nick'),true);
//Определяем 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']."'"));
echo '<div class="mainname"><b>'.$news['title'].'</b>
<span class="time">'.date::make_date($news['time']).'</span><br/>Раздел: <a href="category.php?id='.$views['id'].'">'.Lang::__($views['name']).'</a></div>';
//Выводим описание просмотры
echo '<div class="mainpost">'.$news['text'].'<div style="text-align:right;" class="mainfoot">Просмотров: '.$news['view'].'
Автор: <a href="'.MODULE.'profile.php?act=view&id='.$id_users.'">'.$nick.'</a> </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'));
?>