View file moduls/news.php

File size: 3.4Kb
<?php
include_once'../system/xcms_core.php';$title='Новости';
if($_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
if($id){
	$q=$db->query("select * from `news` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
	if($q){
		echo'<div class="menu"><b>'.$q['nazv'].'</b><br />'.clock($q['time']).'<br />'.$q['msg'].'</div>';
		if($user){
			if(!empty($_POST['text'])){
				$text=nl2br(smiles(bb_code(protect($_POST['text']))));$text_strl=strlen($text);
				if($text_strl>$da['min_simb']){
					$db->query("insert into `news_comm` set `user`='$user[id]', `time`='$time', `text`='$text', `news`='$id'");
					echo'<meta http-equiv="refresh" content="0; url = /news'.$id.' ">';
				}else{echo'<div class="menu">Мин. длина текста - '.$da['min_simb'].' символов</div>';}
			}else{
				echo'<form action="#" method="post"><div class="menu">
				Ваше сообщениe:<br /><textarea name="text"></textarea><br />
				<input type="submit" value="Отправить">
				</div></form>';
			}
		}
		$total=$db->query("select `id` from `news_comm` where `news`='$id'")->rowCount();
		if($total){
			$k_page=k_page($total,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
			$sql=$db->query("select * from `news_comm` where `news`='$id' order by `time` desc limit $start, $set[p_str]");
			while($res=$sql->fetch(PDO::FETCH_ASSOC)){
				$us=$db->query("select * from `user` where `id`='$res[user]'")->fetch(PDO::FETCH_ASSOC);
				echo'<div class="menu">'.avatar($us['avatar']).' <a href="/profile'.$res['user'].'">'.$us['login'].'</a> '.lvl($res['user'],$us['level']).on($us['visit']).'<br />'.clock($res['time']).'<br />'.$res['text'].'</div>';
			}
			if ($k_page>1)str('/news'.$id.'/',$k_page,$page); // Вывод страниц
		}else{echo'<div class="menu">Комментариев еще нет</div>';}
		back('/news');
	}else{echo'<div class="menu">Новость не найдена</div>';}
}else{
	if($user['level']>4){
		echo '<form class="menu" action="/admin?act=news" method="post">
		Название:<br /><input name="name" type="text"/><br/>
		Новость:<br /><input name="msg" type="text"/><br/>
		<input type="submit" value="Добавить" /></form>';
	}
	$total=$db->query("SELECT COUNT(*) as count from `news`");$total->setFetchMode(PDO::FETCH_ASSOC);$total=$total->fetch();
	$k_page=k_page($total['count'],$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
	$query = $db->query("select * from `news` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
	if($total['count']){
		while($row=$query->fetch(PDO::FETCH_ASSOC)){
			echo '<div class="menu"><b>'.$row['nazv'].'</b>';
			if($user['level']>4)echo right('<a href="/moduls/delete.php?act=12&amp;id='.$row['id'].'">Удалить</a> <a href="/moduls/edit.php?act=3&amp;id='.$row['id'].'">Изменить</a><br />');
			echo'<br /><b>['.clock($row['time']).']</b><br/>'.$row['msg'].' <br />
			<a href="/news'.$row['id'].'">Комментарии ('.$db->query("select `id` from `news_comm` where `news`='$row[id]'")->rowCount().') &rarr;</a>
			</div>';
		}
	}else{echo'<div class="menu">Новостей еще нет</div>';}
	if ($k_page>1)str('/news/',$k_page,$page); // Вывод страниц
	back('/');
}
if($_COOKIE['style']=='web')require_once '../system/web_foot.php'; else require_once '../system/foot.php';