Просмотр файла comm.php

Размер файла: 6.26Kb
<?php
include('inc/core.php');
#include('design/'.$_SESSION['design'].'/header.php');

if (empty($_GET['act'])) $act = 'index';
	else $act = htmlspecialchars($_GET['act']);
	
if (empty($_GET['p'])) $p = 1;
	else $p = htmlspecialchars($_GET['p']);




if ($act=='index') {
	if (empty($_GET['id'])) { redirect('index.php'); die(); }
		else $id = htmlspecialchars($_GET['id']);
	$pagetitle = 'Комментарии';
	$count = mysql_fetch_string('SELECT COUNT(*) FROM `'.db_prefix.'post_comments` WHERE post='.$id);
	if (empty($_SESSION['text'])) $_SESSION['text'] = '';
	include('design/'.$_SESSION['design'].'/header.php');
	echo '<div id="title_a" align="center">'.$pagetitle.' ('.$count.')</div>
	<div id="menu"><ul>';
	if (isset($_SESSION['autorized']) && $_SESSION['autorized']==1) 
		echo '<div align="center">
		<form action="comm.php?act=getadd" method="post">
		<input type="hidden" name="id" value="'.$id.'">
		Комментарий:<br>
		<textarea name="text" rows="2" cols="40">'.$_SESSION['text'].'</textarea><br>
		
		<input type="submit" value="Добавить">
		</form></div>';
	else
		echo 'Добавлять комментарии могут только зарегистрированные пользователи';
	if ($count!=0) {
		if ($p<=0) $p = 1;
		$start = $p*view_comments-view_comments;
		$res = mysql_query('SELECT * FROM `'.db_prefix.'post_comments` WHERE post='.$id.' ORDER BY `id` DESC LIMIT '.$start.', '.view_comments);
		while ($comm = mysql_fetch_object($res)) {
			$author = mysql_fetch_string('SELECT `nick` FROM `'.db_prefix.'users` WHERE id='.$comm->author.'');
			if (get_status($comm->author)=='Online') {
				if (view_status==1) { ## если включен показ иконок х-статуса, то показываем его (если юзер онлайн)
					$status_icon = mysql_fetch_string('SELECT `status_id` FROM `'.db_prefix.'users` WHERE id='.$comm->author.'');
					if ($status_icon!=0) $img = '<img src="images/online.png"><img src="usr/statusicon/'.$status_icon.'.gif">';
						else $img = '<img src="images/online.png">';
				} else $img = '<img src="images/online.png">';
			} else $img = $img = '<img src="images/offline.png">';
			echo '<div class="wall_title"><a href="usr/index.php?id='.$comm->author.'">'.$img.'<b>'.$author.'</b></a> 
			<small>('.print_date($comm->time).')</small></div>
			<div class="desc">'.check_post($comm->text,0,1);
			if ($_SESSION['access']>1 || $_SESSION['id']==$comm->author)
			echo '<div class="order"><div align="right"><a href="comm.php?act=del&id='.$comm->id.'">Удалить</a></div></div>';
			echo '</div>';
		}
		#echo '</div>';
	echo '<div class="navigation">Страницы:';
		$prev = $p-1;
		if ($prev<1) $prev = null;
		$prevprev = $p-2;
		if ($prevprev<1) $prevprev = null;
		$last = $count/view_comments;
		if (!is_int($last)) $last = ceil($last);
		if ($p!=$last) {
			$next = $p+1;
			if ($p+1!=$last) $nextnext = $p+2;
		}
		echo '<b>';
		if ($p!=1) echo ' <a href="comm.php?p=1&id='.$id.'">&laquo;</a> ';
			else echo ' <span>&laquo;</span> ';
		if ($p!=1 && $p!=2 && $p!=3) echo '<span> .. </span>';
		if (isset($prevprev)) echo ' <a href="comm.php?p='.$prevprev.'&id='.$id.'">'.$prevprev.'</a> ';
		if (isset($prev)) echo ' <a href="comm.php?p='.$prev.'&id='.$id.'">'.$prev.'</a> ';
		echo ' <span>'.$p.'</span> ';
		if (isset($next)) echo ' <a href="comm.php?p='.$next.'&id='.$id.'">'.$next.'</a> ';
		if (isset($nextnext)) echo ' <a href="comm.php?p='.$nextnext.'&id='.$id.'">'.$nextnext.'</a> ';
		if ($p!=$last && $p+1!=$last && $p+2!=$last) echo '<span> .. </span>';
		if ($p!=$last) echo ' <a href="comm.php?p='.$last.'&id='.$id.'">&raquo;</a> ';
			else echo ' <span>&raquo;</span> ';
		echo '</b></div>';
	} else {
		echo '<div align="center">Комментариев еще нет</div>';
	}
	echo '<li><a href="viewpost.php?id='.$id.'"><img src="images/back.png"> Назад к записи</a></li>
	</ul></div>';
}
	
	


if ($act=='getadd') {
	if (isset($_SESSION['autorized']) && $_SESSION['autorized']==1) {
		if (empty($_POST['id'])) { redirect('index.php'); die(); }
			else $id = mysql_real_escape_string(htmlspecialchars(trim($_POST['id'])));
		if (empty($_POST['text'])) {
			$_SESSION['error'] = 'Введите комментарий';
			redirect('comm.php?id='.$id);
			die();
		}
		if (strlen($_POST['text'])>post_comment_maxlen) {
			$_SESSION['error'] = 'Слишком длинный комментарий'.strlen($_POST['text']).post_comment_maxlen;
			$_SESSION['text'] = htmlspecialchars($_POST['text']);
			redirect('comm.php?id='.$id);
			die();
		}
		$text = mysql_real_escape_string(htmlspecialchars(trim($_POST['text'])));
		if (mysql_query('INSERT INTO `'.db_prefix.'post_comments` (post,time,text,author) VALUES ('.$id.','.time().',"'.$text.'",'.$_SESSION['id'].')')) {
			## добавили запись
			mysql_query('UPDATE `'.db_prefix.'posts` SET comm_count=comm_count+1 WHERE id='.$id);
			$usr = mysql_fetch_string('SELECT `author` FROM `'.db_prefix.'posts` WHERE id='.$id);
			## увеличили счетчик коментов
			mysql_query('INSERT INTO `'.db_prefix.'reply` (`from`,`usr`,`object`,`time`,`status`) VALUES ('.$_SESSION['id'].','.$usr.',"post_comm||'.$id.'",'.time().',0)');
			$_SESSION['info'] = 'Комментарий добавлен';
			incr_aktiv($_SESSION['id']);
			$_SESSION['text'] = '';
			redirect('comm.php?id='.$id);
			die();
		}
	} else { redirect('index.php'); die(); }
}
	
	
	
if ($act=='del') {
	if (empty($_GET['id'])) { redirect('index.php'); die(); }
		else $id = htmlspecialchars($_GET['id']);
	if (empty($_SESSION['autorized'])) { redirect('index.php'); die(); }
	$comm = mysql_fetch_object(mysql_query('SELECT * FROM `'.db_prefix.'post_comments` WHERE id='.$id));
	if ($_SESSION['access']>1 || $_SESSION['id']==$comm->author) {
		if (mysql_query('DELETE FROM `'.db_prefix.'post_comments` WHERE id='.$id)) {
			mysql_query('UPDATE `'.db_prefix.'posts` SET comm_count=comm_count-1 WHERE id='.$comm->post);
			$_SESSION['info'] = 'Комментарий удален';
			redirect('comm.php?id='.$comm->post);
			die();
		} else {
			$_SESSION['error'] = 'Ошибка при удалении комментария';
			redirect('comm.php?id='.$comm->post);
			die();
		}
	} else { redirect('index.php'); die(); }
}








include('design/'.$_SESSION['design'].'/footer.php');


?>