<?php
require_once 'inc/core.php'; //ядро
$newsQuery = mysql_query("SELECT * FROM `news` WHERE `id` = '$id';");
if (isset($id) && mysql_num_rows($newsQuery) != 0)
{
$newsData = mysql_fetch_array($newsQuery);
$title = $newsData['name'];
require_once $inc.'head.php'; //шапка
$kolKomm = mysql_num_rows(mysql_query("SELECT `id` FROM `newsKomm` WHERE `refid` = '".$id."';"));
$userName = mysql_fetch_array(mysql_query("SELECT `login` FROM `users` WHERE `id` = '".$newsData['user']."';"));
echo '<div class="list"><b>'.$newsData['name'].'</b><br/>
'.$newsData['text'].'
<br/>Дата: '.(dates($newsData['date'])).'
<br/>Автор: '.$userName['login'].'</div>';
if ($newsData['accessKomm'] != 1)
{
$N=new N('SELECT COUNT(*) FROM `newsKomm` WHERE `refid` = "'.$id.'"',$onPage,'','?id='.$id.'&');
echo '<div class="nav">Комментарии ('.($N->post).')</div>';
if($N->post)
{
$i = ($N->page * $onPage - $onPage)+1;
$res=mysql_query('SELECT * FROM `newsKomm` WHERE `refid` = "'.$id.'" ORDER BY `id` DESC LIMIT '.$N->limit.';');
while ($kommData = mysql_fetch_assoc($res))
{
$div = ceil(ceil($i / 2) - ($i / 2)) == 0 ? 'list' : 'list1';
empty($kommData['guest']) ? $userName = mysql_fetch_array(mysql_query("SELECT `login` FROM `users` WHERE `id` = '".$kommData['user']."';")) : '';
echo '<div class="'.$div.'">'.(empty($kommData['guest']) ? '<b>'.$userName['login'].'</b>' : '<b>Гость-'.$kommData['guest'].'</b>').'
<br/>'.$kommData['text'].'<br/>Дата: '.(dates($kommData['date'])).'</div>';
++$i;
}
//вывод навигации
echo '<div class="nav">';
unset($N);
echo '</div>';
} else
{
unset($N);
echo '<div class="list">Еще нет комментариев, будь первым!</div>';
}
#если нажата кнопка
if (isset($_POST['submit']))
{
$error = '';
##антиспам
!$user ? $lastPost = $_SESSION['lastPost'] : ''; //время последнего поста гостя
!$user ? $spamTime = 60 : $spamTime = 30; //для гостей время сообщений ставим на 60 сек
$ostalos = $realtime - ($lastPost + $spamTime); //сколько осталось
$spam = $lastPost > ($realtime - $spamTime) ? TRUE : FALSE;
##
$text = textEdit($_POST['text'],200,true,false);
if (!$user && $_SESSION['code'] != $_POST['kod']) $error.= 'Код не верен!<br/>';
if (!$user && (mb_strlen($_POST['name']) < 3 || mb_strlen($_POST['name']) > 10)) $error.= 'Недопустимая длина Имени!<br />';
if (mysql_num_rows(mysql_query("SELECT `id` FROM `newsKomm` WHERE `text` = '$text' AND `refid` = '$id'")) != 0)
$error .= 'Вы писали уже такое сообщение!<br/>';
if ($spam) $error .= 'Вы не можете добавлять сообщения больше чем раз в '.$spamTime.' сек.! Осталось '.$ostalos.' сек.<br/>';
if (empty($_POST['text'])) $error .= 'Вы не ввели сообщение!';
if (empty($error))
{
!$user ? $guest = textEdit($_POST['name'],10,true,false) : $guest = '';
!$user ? $text = antiLink($text) : '';
$_SESSION['lastPost'] = $realtime;
mysql_query("INSERT INTO `newsKomm`
SET `refid` = '$id',
`text` = '$text',
`date` = '$realtime',
`ip` = '$ip',
`agent` = '$agent',
`user` = '$user',
`guest` = '$guest';");
$user ? mysql_query("UPDATE `users` SET `lastPost`='$realtime' WHERE `id`='$user';") : '';
echo 'Комментарий добавлен!';
} else echo $error;
}
#форма добавления
echo '<form class="list1" action="'.$path.'news.php?id='.$id.'" method="post">';
if (!$user) echo 'Ваше имя (3 - 10 сим.)<br/><input type="text" maxlength="10" name="name"><br/>';
echo 'Текст (max. 200): <br/><textarea name="text"></textarea><br/>';
//Тип капчи
if (!$user)
{
echo '<img name="captcha" style="border: 2px solid #f9f9f9;" src="'.$path.'inc/img.php?'.rand().'" alt="включите картинки"/>
<a href="#" onclick="document.captcha.src = document.captcha.src + \'?\' + (new Date()).getTime(); return false;">обн.</a><br />
Код с картинки:<br/><input type="text" maxlength="5" name="kod" /><br/>';
}
echo '<input type="submit" name="submit" value="Написать" />
</form>';
} else echo 'Комментарии не разрешены!';
}
else
{
$title = 'Новости Топ рейтинга';
require_once $inc.'head.php'; //шапка
$N=new N('SELECT COUNT(*) FROM `news` ',$onPage,'','');
echo '<div class="nav">Новости Топ рейтинга ('.$N->post.')</div>';
if($N->post)
{
$i = ($N->page * $onPage - $onPage)+1;
$res=mysql_query('SELECT * FROM `news` ORDER BY `id` DESC LIMIT '.$N->limit.';');
while ($newsData = mysql_fetch_assoc($res))
{
$div = ceil(ceil($i / 2) - ($i / 2)) == 0 ? 'list' : 'list1';
$kolKomm = mysql_num_rows(mysql_query("SELECT `id` FROM `newsKomm` WHERE `refid` = '".$newsData['id']."';"));
$userName = mysql_fetch_array(mysql_query("SELECT `login` FROM `users` WHERE `id` = '".$newsData['user']."';"));
echo '<div class="'.$div.'"><a href="'.$path.'news.php?id='.$newsData['id'].'"><b>'.$newsData['name'].'</b></a><br/>
'.$newsData['text'].'
<br/>Дата: '.(dates($newsData['date'])).'
<br/>Автор: '.$userName['login'].'
<br/>'.($newsData['accessKomm'] != 1 ? '<a href="'.$path.'news.php?id='.$newsData['id'].'">Комментарии</a> ('.$kolKomm.')<br/>' : '').'</div>';
++$i;
}
}
//вывод навигации
echo '<div class="link">';
unset($N);
echo '</div>'.($right > 2 ? '<div class="thme"><a href="'.$path.'admin/?act=news">Добавить новость</a></div>' : '');
}
require_once $inc.'foot.php'; //ножки
?>