<?php
/*
////////////////////////////////////////////////////////////////////////////////
// JohnCMS                                                                    //
// Официальный сайт сайт проекта:      http://johncms.com                     //
// Дополнительный сайт поддержки:      http://gazenwagen.com                  //
////////////////////////////////////////////////////////////////////////////////
// JohnCMS core team:                                                         //
// Евгений Рябинин aka john77          john77@johncms.com                     //
// Олег Касьянов aka AlkatraZ          alkatraz@johncms.com                   //
//                                                                            //
// Информацию о версиях смотрите в прилагаемом файле version.txt              //
////////////////////////////////////////////////////////////////////////////////
*/
defined('_IN_JOHNCMS') or die('Error: restricted access');
if($id) {
	$query = mysql_query("SELECT * FROM `cms_news` WHERE `id`='$id' LIMIT 1;");
	if (mysql_num_rows($query)) {
		$res1 = mysql_fetch_assoc($query);
		if(empty($_SESSION['error']))
		$_SESSION['error'] = '';
		$textl = 'Новостная лента | Комментарии к новости "' . htmlentities($res1['name'], ENT_QUOTES, 'UTF-8') . '"';
		require_once('../incfiles/head.php');
		echo '<div class="phdr"><h3>Комментарии к новости "<a href="index.php?act=view&amp;id=' . $id . '">' . htmlentities($res1['name'], ENT_QUOTES, 'UTF-8') . '</a>"</h3></div>';
		
		$com = isset($_REQUEST) ? abs(intval($_REQUEST['com'])) : '';
		
		switch($mod) {
			case 'replay':
				if($rights >= 7) {
					$q = mysql_query("SELECT * FROM `cms_news_comments` WHERE `id`='$com' LIMIT 1;");
					if (mysql_num_rows($q)) {
						$r = mysql_fetch_assoc($q);
						if(isset($_POST['submit'])) {
							$text = isset($_POST['text']) ? trim($_POST['text']) : '';
							$error = array();
							if(!$text)
								$error[] = 'Сообщение не может быть пустым!';
							elseif (mb_strlen($text) < 2 || mb_strlen($text) > 5000)
								$error[] = 'Недопустимая длина сообщения. (Мин. 2 Мах. 5000 символов)<br />';
							$flood = antiflood();
							if($flood)
								$error[] = 'Вы не можете так часто добавлять сообщения<br />Пожалуйста, подождите ' . $flood . ' сек.';
							
							if(empty($error)) {
								mysql_query("UPDATE `cms_news_comments` SET
								`reply` = '[b]" . $login . "[/b]:" . mysql_real_escape_string($text) . "' WHERE `id`='$com'");
								$_SESSION['error'] = '<div class="gmenu">Сообщение добавлено</div>';
							} else {
								$_SESSION['error'] = '<div class="rmenu">' . implode('<br />', $error) . '</div>';
							}
							Header('Location: index.php?act=comments&id=' . $id);
							exit;
						}
						echo $_SESSION['error'] . '<div class="gmenu">
						<form action="index.php?act=comments&amp;mod=replay&amp;id=' . $id . '&amp;com=' . $com . '" method="post"  enctype="multipart/form-data"><div>
						<b>Сообщение:</b><br/>
						<textarea rows="3" name="text">' . htmlentities($r['reply'], ENT_QUOTES, 'UTF-8') . '</textarea>
						<br /><span style="font-size: x-small;">Мин. 2 Мах. 5000 символов</span><br />
						<input type="submit" name="submit" value="Ответить"/>
						</div></form>
						</div>';
					} else {
						echo display_error('Сообщение не существует!');
					}
				} else {
					Header('Location: ../?err');
					exit;
				}
			break;
			
			case 'delete':
				if($rights >= 7) {
					$q = mysql_query("SELECT * FROM `cms_news_comments` WHERE `id`='$com' LIMIT 1;");
					if (mysql_num_rows($q)) {
						if(isset($_POST['submit'])) {
							mysql_query("DELETE FROM `cms_news_comments` WHERE `id`='$com'");
							$_SESSION['error'] = '<div class="gmenu">Сообщение Удалено</div>';
							Header('Location: index.php?act=comments&id=' . $id);
							exit;
						}
						echo $_SESSION['error'] . '<div class="rmenu">
						<form action="index.php?act=comments&amp;mod=delete&amp;id=' . $id . '&amp;com=' . $com . '" method="post"  enctype="multipart/form-data"><div>
						Подтвердите удаление<br />
						<input type="submit" name="submit" value="Удалить"/>
						</div></form>
						</div>';
					} else {
						echo display_error('Сообщение не существует!');
					}
				} else {
					Header('Location: ../?err');
					exit;
				}
			break;
			
			default:
			if($user_id && empty($ban[1]) ) {
				if(isset($_POST['submit'])) {
					$text = isset($_POST['text']) ? trim($_POST['text']) : '';
					$error = array();
					if(!$text)
						$error[] = 'Сообщение не может быть пустым!';
					elseif (mb_strlen($text) < 2 || mb_strlen($text) > 5000)
						$error[] = 'Недопустимая длина сообщения. (Мин. 2 Мах. 5000 символов)<br />';
					$flood = antiflood();
					if($flood)
						$error[] = 'Вы не можете так часто добавлять сообщения<br />Пожалуйста, подождите ' . $flood . ' сек.';
					
					if(empty($error)) {
						mysql_query("INSERT INTO `cms_news_comments` SET
						`refid` = '$id',
						`time` = '" . time() . "',
						`user_id` = '" . $user_id . "',
						`text` = '" . mysql_real_escape_string($text) . "';");
						$_SESSION['error'] = '<div class="gmenu">Сообщение добавлено</div>';
					} else {
						$_SESSION['error'] = '<div class="rmenu">' . implode('<br />', $error) . '</div>';
					}
					Header('Location: index.php?act=comments&id=' . $id);
					exit;
				}
				echo $_SESSION['error'] . '<div class="gmenu">
				<form action="index.php?act=comments&amp;id=' . $id . '" method="post"  enctype="multipart/form-data"><div>
				<b>Сообщение:</b><br/>
				<textarea rows="3" name="text">' . (!empty($_POST['text']) ? htmlentities($_POST['text'], ENT_QUOTES, 'UTF-8') : '') . '</textarea>
				<br /><span style="font-size: x-small;">Мин. 2 Мах. 5000 символов</span><br />
				<input type="submit" name="submit" value="Отправить"/>
				</div></form>
				</div>';
			}
			$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_news_comments` WHERE `refid`='$id';"), 0);
			if($total) {
				$i = 1;
				$req = mysql_query("SELECT `cms_news_comments`.*, `cms_news_comments`.`time` as `mtime`, `cms_news_comments`.`id` as `mid`, `users`.* FROM `cms_news_comments` LEFT JOIN `users` ON `cms_news_comments`.`user_id`=`users`.`id` WHERE `cms_news_comments`.`refid`='$id' ORDER BY `cms_news_comments`.`time` DESC LIMIT "
						. $start . "," . $kmess);
				while (($row = mysql_fetch_assoc($req)) !== false) {
					echo $i % 2 ? '<div class="list1">' : '<div class="list2">';
					$post = $row['text'];
					$post = checkout($post, 1, 1);
					if ($set_user['smileys'])
						$post = smileys($post, $row['rights'] >= 1 ? 1 : 0);
					
					if($row['reply'])
						$post .= '<div class="reply">' . checkout($row['reply'], 1, 1) . '</div>';
					
					$vrp1 = date("d.m.Y / H:i", $row['mtime'] + $set_user['sdvig'] * 3600);
					if($rights >= 7) $subtext = '<a href="index.php?act=comments&amp;mod=replay&amp;id=' . $id . '&amp;com=' . $row['mid'] . '">Ответить</a> | <a href="index.php?act=comments&amp;mod=delete&amp;id=' . $id . '&amp;com=' . $row['mid'] . '">Удалить</a>';
					else $subtext = '';
						echo show_user($row, 1, ($rights >= 6 && $rights >= $row['rights'] ? 1 : 0), $vrp1, $post, $subtext);
					echo '</div>';
					++$i;
				}
				
				echo '<div class="phdr">Всего: ' . $total . '</div>';
				if ($total > $kmess) {
					echo '<p>' . pagenav('index.php?act=comments&amp;id=' . $id . '&amp;', $start, $total, $kmess) . '</p>';
					echo '<p><form action="index.php" method="get">
					<input type="hidden" name="act" value="comments"/>
					<input type="hidden" name="id" value="' . $id . '"/>
					<input type="text" name="page" size="2"/>
					<input type="submit" value="К странице &gt;&gt;"/></form></p>';
				}
				
			} else {
				echo '<div class="rmenu">Сообщений нет!</div>';
			}
		}
		//echo '<div class="bmenu"><a href="index.php?act=comments&amp;id=' . $id . '">В комментарии</a></div>';
		echo '<div class="bmenu"><a href="index.php?act=view&amp;id=' . $id . '">В новость</a></div>';
	} else {
		$textl = 'Новостная лента';
		require_once('../incfiles/head.php');
		echo display_error('Новость не существует!');
	}
} else {
	$textl = 'Новостная лента';
	require_once('../incfiles/head.php');
	echo display_error('Новость не выбрана!');
}