Файл: 4wx.ru/scripts/news.php
Строк: 130
<?php
$title = 'Новости';
include_once '../sys/fnc.php';
include_once '../sys/head.php';
// Комментарии
if (isset($_GET['komm']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `news` WHERE `id` = '".intval($_GET['komm'])."'"),0)==1)
{
// Очищаем
if ($user->position != 'admin') {
if (isset($_GET['clean'])) {
if (isset($_POST['ok'])) {
mysql_query("TRUNCATE `news_comments`");
header('Location: /scripts/news.php?komm='.intval($_GET['komm']));
exit;
}
echo '<div class="post">
<form method="post">
Вы уверены что хотите удалить все сообщения?<br>
<input type="submit" name="ok" value="Да"> <a href="/scripts/news.php?komm='.intval($_GET['komm']).'">Нет</a>
</form></div>';
}
// Удаляем сообщение
if (isset($_GET['del']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `news_comments` WHERE `id` = '".intval($_GET['del'])."'"),0)==1)
{
mysql_query("DELETE FROM `news_comments` WHERE `id` = '". intval($_GET['del']) ."'");
header('Location: /scripts/news.php?komm='.intval($_GET['komm']));
}
} else {
$error = true;
$errort .= '<div class="err">У вас недостаточно прав!</div>';
}
$news_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `news` WHERE `id` = '".intval($_GET['komm'])."'"));
$who_add = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '". $news_id['id_user'] ."' LIMIT 1"));
if (intval($_GET['komm']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `news` WHERE `id` = '". intval($_GET['komm']) ."'"), 0) != 1 || !intval($_GET['komm'])) {
echo '<div class="err">Ошибка! Новость не обнаружена</div>';
exit;
}
$error = false;
$errort = '';
if (isset($_POST['add'])) {
$msg = html($_POST['msg']);
if (strlen($msg) < 1) {
$error = true;
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
} elseif (strlen($msg) > 3000) {
$error = true;
$errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
}
if (!$error) {
mysql_query("INSERT INTO `news_comments` (`news_id`, `id_user`, `msg`, `time`) values('". $news_id['id'] ."', '". $user->id ."', '". $msg ."', '". time() ."')");
header('Location: ?komm='. $news_id['id'] .'&page=end');
exit;
}
}
echo '<div class="menu_razd"><a href="/scripts/news.php">Все новости</a> / '. html($news_id['name']) .'</div>';
echo $errort;
echo '<div class="post">
<span class="c_date">'. ptime($news_id['time']) .'</span>
<b>'. html($news_id['name']) .'</b>
<br>'. output($news_id['txt']) .'
</div>';
echo '<div class="menu">Опубликовал: <a href="/user'. $who_add['id'] .'">';
echo get_ank($who_add['id']);
echo '</a></div>';
$c_p = mysql_result(mysql_query("SELECT COUNT(*) FROM `news_comments` WHERE `news_id` = '". $news_id['id'] ."'"),0);
$p_page = '10';
$k_page = k_page($c_p, $p_page);
$page = page($k_page);
$start = $p_page*$page-$p_page;
if ($c_p == 0) {
echo '<div class="err">
Комментарии к новости отсутствуют
</div>';
} else {
echo '<div class="menu">
<b>Комментарии</b> ('. $c_p .')
</div>';
}
$q = mysql_query("SELECT * FROM `news_comments` WHERE `news_id` = '". $news_id['id'] ."' ORDER BY `time` DESC LIMIT $start, ". $p_page);
while ($post = mysql_fetch_assoc($q)) {
$ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '". $post['id_user'] ."' LIMIT 1"));
echo '<div class="post">
<span class="c_date">'. ptime($post['time']) .'</span>';
echo '<a href="/user'. $ank['id'] .'">'. $ank['login'] .'</a><br />';
echo output($post['msg']);
if ($user->position == 'admin')echo '<br> <a href="/scripts/news.php?komm='.$news_id['id'].'&del='.$post['id'].'">Удалить</a>';
echo '</div>';
}
if ($k_page > 1) str('?komm='. $news_id['id'] .'&', $k_page, $page);
if (isset($user)) {
echo '<form method="post"><div class="post">';
echo '<textarea name="msg"></textarea><br>';
echo '<input value="Добавить" type="submit" name="add" />
</form></div>';
}
if ($c_p > 0 || $user->position || 'admin')//echo '<div class="menu"><a href="/scripts/news.php?komm='.$news_id['id'].'&clean">Очистить гостивую</a></div>';
include_once '../sys/foot.php';
exit();
}
$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `news`"),0);
$k_page = k_page($k_post, 10);
$page = page($k_page);
$start = 10*$page-10;
if ($k_post==0)echo "<div class='err'><center>Новостей сайта не найдено</center></div>";
/////////////////////////////////////////
$query = mysql_query("SELECT * FROM `news` ORDER BY time DESC LIMIT $start, 10");
while ($newsone = mysql_fetch_assoc($query)){
$k_komm = mysql_result(mysql_query("SELECT COUNT(*) FROM `news_comments` WHERE `news_id` = '$newsone[id]'"),0);
$knew_komm = mysql_result(mysql_query("SELECT COUNT(*) FROM `news_comments` WHERE `news_id` = '$newsone[id]' AND `time` > ". (time()-86400) .""),0);
echo '<div class="post">';
echo ' <b>'.htmlspecialchars($newsone['name']).'</b> <small>'.ptime($newsone['time']).' </br> '.output($newsone['txt']).'</small><br />';
if ($user->position != 'admin')echo ' <a href="/scripts/admin/add_news.php?del='.$newsone['id'].'">Удалить</a> |';
echo ' <a href="?komm='.$newsone['id'].'">Комментарии</a> ['.$k_komm.''.($knew_komm > 0? ' / <font color="red">+'.$knew_komm.'</font>' : '').']';
echo '</div>';
}
/////////////////////////////////////////
if ($k_page > 1){
echo '<div class="menu"><center>';
str('?',$k_page,$page); // генерируем постраничную навигацию
echo '</center></div>';
}
include_once '../sys/foot.php';
exit();
?>