Просмотр файла adm_panel/news.php

Размер файла: 9.74Kb
<?php

define('NTOP', 1);
$title = 'Админка - Управление новостями';
require_once('../system/connect.php');
require_once('../system/core.php');
require_once('../system/function.php');
require_once('../str/head.php');
reg();
level(2);
switch($act)
	{
			default:
			echo '<div class="foot">Администрирование новостей</div>';
			echo '<div class="stim"><a href="news.php?act=add">Добавить Новость</a><br/></div>';
			$count = mysql_num_rows(mysql_query("SELECT * FROM `".$prefix."news`"));
			if($count > 0)
				{
					$total=intval(($count-1)/$page_news)+1; 
					$page=abs(intval($_GET['page'])); 
					if(empty($page) OR $page < 0)
						{
							$page = 1; 
						}
					if($page > $total)
						{
							$page = $total; 
						}
					$past=intval($count/$page_news);  
					$start=$page*$page_news-$page_news; 
					$news = mysql_query("SELECT * FROM `".$prefix."news` ORDER BY `time` DESC LIMIT ".$start.",".$page_news."");
					while($row = mysql_fetch_array($news)) 
						{
							$start++;
							$count_comment = mysql_num_rows(mysql_query("SELECT * FROM `".$prefix."news_comments` WHERE `id_news` = '".$row['id']."'"));
							echo '<div class="title">'.$start.'.<strong>'.$row['name'].' ('.data($row['time']).')</strong></div>';
							echo '<div class="op">';
							echo $row['text'].'<br/>';
							echo '---<br/>';
							echo 'Добавил: '.$row['author'].'<br/>';
							echo '<div class="header">';
							echo '<a href="news.php?act=comments&id='.$row['id'].'">Управление Комментариями</a>('.$count_comment.')';
							
							echo '<a href="news.php?act=del_news&id='.$row['id'].'">Удалить Новость</a> | <a href="news.php?act=edit_news&id='.$row['id'].'">Изменить Новость</a></div>';
							echo '</div>';
						}
					navigation($count,$page_news,$page,'news.php&',$total);
				}
			else
				{
					echo '<div class="op">';
					echo 'Новостей нет!<br/>';
					echo '</div>';
				}
		break;
		case 'add':
		if(!isset($_POST['ok']))
			{
				echo '
				<div class="op">
				<form action="news.php?act=add" method="post">
				Название новости(max. 30):<br/>
				<input type="text" name="name" class="input" maxlength="30" /><br />
				Текст новости(max. 200):<br/>
				<textarea name="text" cols="38" rows="8"></textarea><br/>
				<input name="ok" type="submit" value="Добавить" />
				</form>
				</div>
				';
			}
		else
			{
				$name = filter($_POST['name']);
				$text = filter($_POST['text']);
				$error = '';
				if(empty($name) OR empty($text))
					{
						$error .= 'Ошибка! Не заполнены поля! <br/>';
					}
				if(mb_strlen($name) > 30)
					{
						$error .= 'Ошибка! Поле "Название новости" больше 30 символов! <br/>';
					}
				if(mb_strlen($text) > 200)
					{
						$error .= 'Ошибка! Поле "Текст новости" больше 200 символов! <br/>';
					}
				if(!empty($error))
					{
						echo '<div class="op">';
						echo $error;
						echo '</div>';
					}
				else
					{
						$insert = mysql_query("INSERT INTO `".$prefix."news` SET `name` = '".$name."', `text` = '".$text."', `time` = '".time()."', `author` = '".$user_data['login']."'");
						if($insert)
							{
								echo '<div class="op">';
								echo 'Новость успешно добавлена! <br/>';
								echo '</div>';
							}
						else
							{
								echo '<div class="op">';
								echo 'Новость не добавлена! <br/>';
								echo '</div>';
							}
					}			
			}
		break;
		case 'del_news':
		if($id)
			{
				$del_comm = mysql_query("DELETE FROM `".$prefix."news_comments` WHERE `id_news` = '".$id."'");
				$del_news = mysql_query("DELETE FROM `".$prefix."news` WHERE `id` = '".$id."'");
				if($del_news AND $del_comm)
					{
						echo '<div class="op">';
						echo 'Новость успешно удалена! <br/>';
						echo '</div>';
					}
				else
					{
						echo '<div class="op">';
						echo 'Новость не удалена! <br/>';
						echo '</div>';
					}
			}
		else
			{
				echo '<div class="op">';
				echo 'Не выбрана новость! <br/>';
				echo '</div>';
			}
		break;
		case 'edit_news':
		if($id)
			{
				$isset = mysql_query("SELECT * FROM `".$prefix."news` WHERE `id` = '".$id."'");
				if(mysql_num_rows($isset) > 0)
					{
						$news = mysql_fetch_array($isset);
						echo '<div class="foot">Изменение новости</div>';
						if(!isset($_POST['ok']))
							{
								echo '
								<div class="op">
								<form action="news.php?act=edit_news&id='.$id.'" method="post">
								Название новости(max.30):<br/>
								<input type="text" name="name" maxlength="30" value="'.$news['name'].'"/><br/>
								Текст новости(max.200):<br/>
								<textarea name="text" cols="38" rows="8">'.$news['text'].'</textarea><br/>
								<input type="submit" name="ok" value="Изменить"/>
								</form></div>';
							}
						else
							{
								$name = filter($_POST['name']);
								$text = filter($_POST['text']);
								$error = '';
								if(empty($name) OR empty($text))
									{
										$error .= 'Ошибка!Не заполнены поля!<br/>';
									}
								if(mb_strlen($name) > 30)
									{
										$error .= 'Ошибка!Поле "Название новости" больше 30 символов<br/>';
									}
								if(mb_strlen($text) > 50)
									{
										$error .= 'Ошибка!Поле "Текст новости" больше 200 символов<br/>';
									}
								if(!empty($error))
									{
										echo '<div class="op">';
										echo $error;
										echo '</div>';
									}
								else
									{
										$up = mysql_query("UPDATE `".$prefix."news` SET `name` = '".$name."', `text` = '".$text."' WHERE `id` = '".$id."'");
										if($up)
											{
												echo '<div class="op">';
												echo 'Новость успешно изменена<br/>';
												echo '</div>';
											}
										else
											{
												echo '<div class="op">';
												echo 'Новость не изменена<br/>';
												echo '</div>';
											}
									}
							}
					}
				else
					{
						echo '<div class="op">';
						echo 'Данной новости нет!<br/>';
						echo '</div>';
					}
			}
		else
			{			
				echo '<div class="op">';
				echo 'Не выбрана новость!<br/>';
				echo '</div>';
			}
		break;
		case 'comments':
		echo '<div class="foot">Управление комментариями</div>';
		$isset_news = mysql_num_rows(mysql_query("SELECT * FROM `".$prefix."news` WHERE `id` = '".$id."'"));
		if($isset_news != 0)
			{
				$count = mysql_num_rows(mysql_query("SELECT * FROM `".$prefix."news_comments` WHERE `id_news` = '".$id."'"));
				if($count > 0)
					{
						$total=intval(($count-1)/$page_nc)+1; 
						$page=abs(intval($_GET['page'])); 
						if(empty($page) OR $page < 0)
							{
								$page = 1; 
							}
						if($page > $total)
							{
								$page = $total; 
							}
						$past=intval($count/$page_nc);  
						$start=$page*$page_nc-$page_nc; 
						$comments = mysql_query("SELECT * FROM `".$prefix."news_comments` WHERE `id_news` = '".$id."' ORDER BY `time` DESC LIMIT ".$start.",".$page_nc."");
						while($row = mysql_fetch_array($comments)) 
							{
								$start++;
								echo '<div class="op">'.$start.'.<strong>'.$row['name'].' ('.data($row['time']).')</strong></div>';
								echo '<div class="op">';
								echo $row['text'].'<br/>';
								echo '<div class="stem">';
								echo '<a href="news.php?act=del_comment&id='.$row['id'].'">Удалить</a><br/>';
								echo '</div>';
								echo '</div>';
							}
						echo '---<br/>';
						echo '<div class="header">';
						echo '<a href="news.php?act=del_comments&id='.$id.'">Удалить Все Комментарии</a>';
						echo '</div>';
						navigation($count,$page_nc,$page,'news.php?act=comments&id='.$id.'&',$total);
					}
				else
					{
						echo '<div class="op">';
						echo 'Комментариев к данной новости нет!<br/>';
						echo '</div>';
					}
				echo '---<br/>';
			}
		else
			{
				echo '<div class="op">';
				echo 'Нет такой новости!</br>';
				echo '</div>';
			}
		break;
		case 'del_comment':
		echo '<div class="foot">Управление комментариями</div>';
		$del = mysql_query("DELETE FROM `".$prefix."news_comments` WHERE `id` = '".$id."'");
			if($del)
				{
					echo '<div class="op">';
					echo 'Комментарий успешно удален<br/>';
					echo '</div>';
				}
			else
				{
					echo '<div class="op">';
					echo 'Комментарий не удален<br/>';
					echo '</div>';
				}
		break;
		case 'del_comments':
		echo '<div class="foot">Управление комментариями</div>';
		$del = mysql_query("DELETE FROM `".$prefix."news_comments` WHERE `id_news` = '".$id."'");
		if($del)
			{
				echo '<div class="op">';
				echo 'Комментарии успешно удалены<br/>';
				echo '</div>';
			}
		else
			{
				echo '<div class="op">';
				echo 'Комментарии не удалены<br/>';
				echo '</div>';
			}
		break;
	}
echo '---<br/>';
echo '<div class="header">';
echo '<a href="news.php">К управлению новостями</a><br/>';
echo '<a href="index.php">В Админку</a><br/>';
echo '</div>';
require_once('../str/foot.php');
?>