View file article.php

File size: 5.35Kb
<?php
define('_WBLIB', 1);
require_once ('inc/core.php');

$req = mysql_query("SELECT * FROM `article` WHERE `id` = '$id' AND `type` = '2' LIMIT 1");
if (mysql_num_rows($req) == 0 ) {
    require_once ('inc/head.php');
    echo '<div class="error">Статья не найдена</div>';
    require_once ('inc/foot.php');
    exit;
	}
	
$art = mysql_fetch_assoc($req);

// Заголовки
$title = $art['name'];	
require_once ('inc/head.php');
#############################

 // Счетчик прочтений
 if ($_SESSION['lib'] != $id) {
     $_SESSION['lib'] = $id;
     $libcount = intval($art['count']) + 1;
     mysql_query("UPDATE `article` SET  `count` = '" . $libcount . "' WHERE `id` = '" . $id . "'");
    }
	
echo '<div class="title">'.$art['name'].'</div>';

 $simvol = $set['simvols'];                // Число символов на страницу по умолчанию

// Постраничная навигация читаемой статьи
// Используется модифицированный код от hintoz
$tx = $art['text'];
$strrpos = mb_strrpos($tx, " ");
$pages = 1;
// Вычисляем номер страницы
if (isset($_GET['page'])) {
    $page = abs(intval($_GET['page']));
    if ($page == 0) 
        $page = 1;
        $start = $page - 1;
    }
    else {
        $page = $start + 1;
    }
    $t_si = 0;
    if ($strrpos) {
        while ($t_si < $strrpos) {
            $string = mb_substr($tx, $t_si, $simvol);
            $t_ki = mb_strrpos($string, " ");
            $m_sim = $t_ki;
            $strings[$pages] = $string;
            $t_si = $t_ki + $t_si;
            if ($page == $pages) {
                $page_text = $strings[$pages];
            }
                if ($strings[$pages] == "") {
                   $t_si = $strrpos++;
                }
                else {
                  $pages++;
                }
        }
                if ($page >= $pages) {
                    $page = $pages - 1;
                    $page_text = $strings[$page];
                }
                $pages = $pages - 1;
                if ($page != $pages) {
                    $prb = mb_strrpos($page_text, " ");
                    $page_text = mb_substr($page_text, 0, $prb);
                }
            }
            else {
                $page_text = $tx;
            }
			
            // Предварительна фильтрация статьи и вывод
            $page_text = htmlentities($page_text, ENT_QUOTES, 'UTF-8');
			$page_text = nl2br($page_text);
			$page_text = smileys($page_text);
			$page_text = tags($page_text);
			
            echo '<div class="link">' . $page_text . '</div>';
            if ($pages > 1) {
               nav($pages,$page,$num,'article.php?id='.$id.'&amp;');
            }
 
echo '<div class="link"><b>Название статьи :</b> '.$art['name'].'<br/>
<b>Дата добавления</b> : '.date('d.m.Y|H:i',$art['time']).'<br/>
<b>Просмотров :</b> '.$art['count'].'';
if($set['java']) echo '<br/><img src="images/java.png" alt="java"/> <a href="java.php?id='.$id.'">Скачать Java-книгу</a>';
if($set['txt']) echo '<br/><img src="images/txt.png" alt="java"/> <a href="txt.php?id='.$id.'">Скачать в Txt</a>';
echo '</div>';

if ($set['rate']) {
$rate = explode('|', $art['rate']);
if ((isset($_GET['plus']) || isset($_GET['minus'])) && !$_SESSION['rate_article' . $id]) {
    if (isset($_GET['plus']))
        $rate[0] = $rate[0] + 1;
    else
        $rate[1] = $rate[1] + 1;
    mysql_query("UPDATE `article` SET `rate`='" . $rate[0] . '|' . $rate[1] . "' WHERE `id`='$id' AND `type` = '2'");
    $_SESSION['rate_article' . $id] = 1;
}
$sum = ($rate[1] + $rate[0]) ? round(100 / ($rate[1] + $rate[0]) * $rate[0]) : 50;
echo '<div class="link"><b>Рейтинг статьи</b>' . (!$_SESSION['rate_article' . $id] ? '(<a href="article.php?id=' . $id . '&amp;plus">+</a>/<a href="article.php?id=' . $id . '&amp;minus">-</a>)' : '(+/-)') . ': <font color="green">' . $rate[0] .
    '</font>/<font color="red">' . $rate[1] . '</font>
<br /><img src="img.php?img=' . $sum . '" alt="Рейтинг" />';
echo '</div>';
}

if ($set['comm']) {
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `comm` WHERE `id_article` = '$id';"), 0);
echo '<div class="bar"><a href="comm.php?id='.$id.'">Комментарии</a> ['.$count.']</div>';
}

// Доступ администратора
if ($level > 0 ) {
	echo '<div class="func">';
	echo '<a href="panel/edit_article.php?id='.$id.'">Редактировать статью</a><br/>';
	echo '<a href="panel/del_article.php?id='.$id.'">Удалить статью</a>';
	echo '</div>';
}


$tree = array();
$dirid = $art['id_cat'];
while ($dirid != '0' && $dirid != "") {
    $req = mysql_query("SELECT * FROM `article` WHERE `type` = 1 AND `id` = '$dirid' LIMIT 1");
    $res = mysql_fetch_assoc($req);
    $tree[] = '<a href="view.php?id=' . $dirid . '">' .$res['name']. '</a>';
    $dirid = $res['id_cat'];
}
krsort($tree);
$cdir = array_pop($tree);
echo '<div class="title"><a href="index.php?">Главная</a> &raquo; ';
foreach ($tree as $value) {
    echo $value . ' &raquo; ';
}
echo '<a href="view.php?id=' . $art['id_cat'] . '">' . strip_tags($cdir) . '</a></div>';
require_once ('inc/foot.php');
?>