Просмотр файла blog/index.php

Размер файла: 6.75Kb
<?php 
// by mides, wmclub.mobi

$title = 'Блоги';
require('../config.php');
require('../includes/sys.php');
require('../includes/start.php');
require('../includes/header.php');

switch($_GET['act']){

###############################################################################
##                           Главная страница                                ##
###############################################################################
default:

tp('Блоги');

$r_cats = mysql_query("SELECT * FROM `blog_cats` ORDER BY `name`");
if(mysql_num_rows($r_cats)){
	while($cat = mysql_fetch_assoc($r_cats)){
		$articles = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `blog_articles` WHERE `id_cat` = '$cat[id]' and `ok` = 1"), 0);
		echo '<img src="../images/folder.gif"> <a href="index.php?act=cat&amp;id='.$cat['id'].'">'.$cat['name'].'</a> ('.$articles.')<br />';
	}
	if($u['id']){
		echo '<br /><a href="index.php?act=add" class="button">Добавить статью</a>';
	}
	if($u['user_access'] > 1){
		echo '<br /><a href="moder.php" class="button">Модерировать</a>';
	}
}else{
	echo 'Разделы еще не созданы!';
}
nav_main();

break;

###############################################################################
##                        Просмотр выбранного раздела                        ##
###############################################################################
case 'cat':

$id = intval($_REQUEST['id']);
$cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `blog_cats` WHERE `id` = '$id'"));
if($cat['id']){
	tp($cat['name']);
	$all_articles = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `blog_articles` WHERE `id_cat` = '$cat[id]' and `ok` = 1"), 0);
	if($all_articles > 0){
		$pages = ceil($all_articles/$config['onpage']);
		if(intval($_REQUEST['page'])){
			$page = intval($_REQUEST['page']);
		}else{
			$page = 1;
		}
		$from = ($page-1)*$config['onpage'];
		
		$r_articles = mysql_query("SELECT `id`, `title`, `time` FROM `blog_articles` WHERE `id_cat` = '$cat[id]' and `ok` = 1 ORDER BY `time` DESC LIMIT $from, $config[onpage]");
		while($article = mysql_fetch_assoc($r_articles)){
			echo '<a href="?act=view&amp;id='.$article['id'].'">'.$article['title'].'</a> ('.date('d.m.y, H:i', $article['time']).')<br />';
		}
	}else{
		echo 'Статей пока нет :(';
	}
	
	echo '<hr />';
	
	navig($page, '?act=cat&amp;id='.$cat['id'].'&amp;', $pages);
	echo '<a href="./">Назад</a><br />';
	echo '</div>';
}else{
	error('Выбранный раздел не существует!');
	nav('?');
}

break;

###############################################################################
##                               Просмотр статьи                             ##
###############################################################################
case 'view':

$id = intval($_REQUEST['id']);
$article = mysql_fetch_assoc(mysql_query("SELECT * FROM `blog_articles` WHERE `id` = '$id'"));
if($article['id']){
	if($article['ok'] == 1){
		tp($article['title']);
		echo bb($article['text']).'<br />';
	}else{
		error('Выбранной статьи не существует!');
	}
}else{
	error('Выбранной статьи не существует!');
}
nav2('?act=cat&amp;id='.$article['id_cat'], 'Назад в раздел');

break;

###############################################################################
##                         Форма добавления статьи                           ##
###############################################################################
case 'add':

if($u['id']){
	if($_SESSION['spam'] < time()){
		if($u['user_points'] >= $config['blog_limitadd']){
			tp('Блоги &gt; Добавить статью');
			echo '<form action="?act=add_do" method="post" name="form">
				 Раздел:<br /><select name="cat">';
			$r_cats = mysql_query("SELECT * FROM `blog_cats` ORDER BY `name`");
			while($cat = mysql_fetch_assoc($r_cats)){
				echo '<option value="'.$cat['id'].'">'.$cat['name'].'</option>';
			}
			echo '</select><br />
				 Заголовок(max50):<br /><input name="title" type="text" maxlength="50" /><br />
				 Текст(max1000):<br /><textarea name="text" cols="" rows="5"></textarea><br />
				 Метки(max50)*:<br /><input name="tags" type="text" maxlength="50" /><br />
				 <input name="submit" type="submit" value="Ok" />
				 </form>
				 * Через запятую';
		}else{
			error('Необходимо иметь минимум '.$config['blog_limitadd'].'  '.$u['user_points'].' единиц кармы!');
		}
	}else{
		error('Вы не можете писать чаще, чем раз в '.$config['antispam'].' сек.!');
	}
}else{
	error('Вы не <a href="../pages/login.php">авторизованы</a> для добавления статьи :(');
}
nav('?');

break;

###############################################################################
##                            Добавление статьи                              ##
###############################################################################
case 'add_do':

if($u['id']){
	if($_SESSION['spam'] < time()){
		if($u['user_points'] >= $config['blog_limitadd']){
			if(!empty($_POST['cat']) and !empty($_POST['title']) and !empty($_POST['tags'])){
				$text = check($_POST['text']);
				mb_internal_encoding('UTF-8');
				if(mb_strlen($text) <= 1000){
					$cat = intval($_POST['cat']);
					$title = check($_POST['title']);
					$tags = check($_POST['tags']);
					mysql_query("INSERT INTO `blog_articles` SET `id_cat` = '$cat', `title` = '$title', `text` = '$text', `tags` = '$tags', `time` = '".time()."'");
					$_SESSION['spam'] = $config['antispam'] + time();
					info('Статья успешно добавлена, после проверки модератором, она появится в блоге.');
					nav('?');
				}else{
					error('Текст не может содержать больше 1000 символов!');
					nav('?act=add');
				}
			}else{
				error('Вы не заполнили поля!');
				nav('?act=add');
			}
		}else{
			error('Необходимо иметь минимум '.$config['blog_limitadd'].' единиц кармы!');
			nav('?act=add');
		}
	}else{
		error('Вы не можете писать чаще, чем раз в '.$config['antispam'].' сек.!');
		nav('?act=add');
	}
}else{
	error('Вы не <a href="../pages/login.php">авторизованы</a> для добавления статьи :(');
	nav('?act=add');
}

break;


































}

require('../includes/tail.php');
?>