File size: 7.26Kb
<?php
// by mides, icq: 529-899-6, mail: [email protected]
$title = 'Библиотека';
require("../config.php");
require("../includes/start.php");
require("../includes/functions.php");
tp('Библиотека');
$id = num($_REQUEST['id']);
switch($_GET['act']){
###############################################################################
## Главная страница ##
###############################################################################
default:
echo '<div class="s1">Разделы</div><div class="s2">';
$result_cats = mysql_query("SELECT * FROM `library_cats` ORDER BY `name`");
if(mysql_num_rows($result_cats)){
while($cat = mysql_fetch_assoc($result_cats)){
$cat_articles = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `library` WHERE `id_cat` = '".$cat['id']."' and `ok` = 1"), 0);
echo '<a href="index.php?act=cat_view&id='.$cat['id'].'">'.$cat['name'].'</a> ('.$cat_articles.')<br/>';
}
if(!empty($_SESSION['login'])){
echo '<br/><a href="index.php?act=add" class="button" />Добавить статью</a>';
if($_SESSION['access'] > 1){
$art_no = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `library` WHERE `ok` = 0"), 0);
echo '<br/><a href="moder.php" class="button" />Модерировать ('.$art_no.')</a>';
}
}
}else{
echo 'Разделов еще нет';
}
echo '</div>';
nav();
break;
###############################################################################
## Просмотр раздела ##
###############################################################################
case 'cat_view':
$cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `library_cats` WHERE `id` = '$id'"));
if(isset($cat['id'])){
echo '<div class="s1">'.$cat['name'].'</div><div class="s2">';
$count_articles = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `library` WHERE `id_cat` = '$id' and `ok` = 1"), 0);
if($count_articles > 0){
$pages = ceil($count_articles/$config['onpage']);
if(isset($_REQUEST['page'])){
$page = num($_REQUEST['page']);
}else{
$page = 1;
}
$from = ($page-1)*$config['onpage'];
$result_articles = mysql_query("SELECT `id`, `title`, `time`, `views` FROM `library` WHERE `id_cat` = '$id' and `ok` = 1 ORDER BY `time` DESC LIMIT $from, ".$config['onpage']."");
while($article = mysql_fetch_assoc($result_articles)){
echo '<a href="?act=view&id='.$article['id'].'">'.$article['title'].'</a> ('.date('d.m.y, H:i', $article['time']).' ('.$article['views'].')<br/>';
}
echo '</div>';
echo '<div class="s1">Навигация</div><div class="s2">';
navig($page, 'index.php?act=cat_view&id='.$id.'&', $pages);
echo '<a href="./">к разделам</a><br/><a href="../">на главную</a>';
echo '</div>';
}else{
echo 'Статей в раделе еще нет!</div>';
nav2('./', 'к разделам');
}
}else{
error('Выбранного раздела не существует!');
nav2('./', 'к разделам');
}
break;
###############################################################################
## Просмотр рассказа ##
###############################################################################
case 'view':
$article = mysql_fetch_assoc(mysql_query("SELECT * FROM `library` WHERE `id` = '$id'"));
if(isset($article['id'])){
echo '<div class="s1">'.$article['title'].'</div><div class="s2">';
echo bb(nl2br($article['text'])).'<br/><br/>';
echo '<i>Добавил(а): '.$article['login'].' ('.date('d.m.y / H:i', $article['time']).')</i><br/>';
echo '<i>Просмотров: '.$article['views'].'</i><br/>';
echo '</div>';
if(empty($_SESSION['viewed'.$id])){
$_SESSION['viewed'.$id] = 1;
mysql_query("UPDATE `library` SET `views` = (views+1) WHERE `id` = '$id'");
}
}else{
error('Этой статьи не существует!');
}
nav2('?act=cat_view&id='.$article['id_cat'].'', 'назад к разделу');
break;
###############################################################################
## Форма добавления статьи ##
###############################################################################
case 'add':
if($_SESSION['login']){
$result_cats = mysql_query("SELECT * FROM `library_cats` ORDER BY `name`");
if(mysql_num_rows($result_cats)){
echo '<div class="s1">Добавить статью</div><div class="s2">';
echo '<form action="?act=added" method="post" name="form">';
echo 'Раздел:<br/><select name="cat"><option value="0">Выберите раздел</option>';
while($cat = mysql_fetch_assoc($result_cats)){
echo '<option value="'.$cat['id'].'">'.$cat['name'].'</option><br/>';
}
echo '</select><br/>';
echo 'Заголовок:<br/><input name="title" type="text" maxlength="50" /><br/>';
echo 'Текст:<br/><textarea name="text" rows="6"></textarea><br/>';
echo '<input name="submit" type="submit" value="Написать" /></form></div>';
nav2('./', 'назад');
}else{
error('Вы не можете добавить статью, т.к. нет разделов');
nav2('./', 'назад');
}
}else{
error('Вы не можете добавить статью, т.к. вы не <a href="../pages/auth.php">авторизованы</a>');
nav2('./', 'назад');
}
break;
###############################################################################
## Добавление статьи ##
###############################################################################
case 'added':
if(!empty($_SESSION['login'])){
if(time() > $_SESSION['antispam']){
$result_cats = mysql_query("SELECT `id` FROM `library_cats`");
if(mysql_num_rows($result_cats)){
if(!empty($_POST['cat']) && !empty($_POST['title']) && !empty($_POST['text'])){
$cat = num($_POST['cat']);
$title = sec($_POST['title']);
$text = sec($_POST['text']);
mysql_query("INSERT INTO `library` SET `id_cat` = '$cat', `title` = '$title', `text` = '$text', `login` = '".$_SESSION['login']."', `time` = '".time()."'");
mysql_query("UPDATE `users` SET `user_points` = (user_points+1) WHERE `id` = '".$_SESSION['user_id']."'");
$_SESSION['antispam'] = time() + $config['antispam'];
info('Статья отправлена на модерацию, после чего будет добавлена или отклонена!');
nav2('./', 'назад в библиотеку');
}else{
error('Вы не заполнили поля или не выбрали раздел!');
nav2('?act=add', 'назад');
}
}else{
error('Нельзя добавить статью, т.к. нет разделов!');
nav2('./', 'назад в библиотеку');
}
}else{
error('Антиспам! Разрешено писать раз в '.$config['antispam'].' сек.!');
nav2('?act=add', 'назад');
}
}else{
info('Вы не авторизованы!');
nav2('?act=add', 'назад');
}
break;
}
require("../includes/tail.php");
?>