Файл: modules/news/index.php
Строк: 157
<?php
/* DCMS Special
 * Дата последнего редактирования 18.12.2015
 * Модифицировал densnet
 */
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
    require_once "../../sys/inc/{$inc}.php";
}
$set['title'] = 'Новости';
require_once H . 'sys/inc/thead.php';
#Заголовок
aut();
#Путь папки новостей
define('DIR_NEWS', "/modules/news/");
#Сокращаем пути
if (isset($_GET['edit'])) {
    require_once H . DIR_NEWS . 'edit.php';
} elseif (isset($_GET['delete'])) {
    require_once H . DIR_NEWS . 'delete.php';
} elseif (isset($_GET['add'])) {
    require_once H . DIR_NEWS . 'add.php';
} elseif (isset($_GET['settings'])) {
    require_once H . DIR_NEWS . 'settings.php';
} elseif (isset($_GET['edit_komm'])) {
    require_once H . DIR_NEWS . 'edit_komm.php';
} elseif (isset($_GET['news'])) {
    require_once H . DIR_NEWS . 'news.php';
} elseif (isset($_GET['new_komm'])) {
    require_once H . DIR_NEWS . 'komm.php';
} elseif (isset($_GET['add'])) {
    require_once H . DIR_NEWS . 'add.php';
} else {
    $k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `news`"), 0);
    $k_page = k_page($k_post, $set['p_str']);
    $page = page($k_page);
    $start = $set['p_str'] * $page - $set['p_str'];
    $q = mysql_query("SELECT * FROM `news` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
    #Навигация
    echo "<nav class='navbar navbar-light' style='background-color: #607D8B; color: #fff;'>";
    echo "<ul class='nav navbar-nav'>";
    echo "<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='/'><i class='material-icons'>home</i></a></li>";
    echo "<li class='nav-item' style='margin-left: 1px;'><a class='nav-link'><i class='material-icons'>keyboard_arrow_right</i></a></li>";
    echo "<li class='nav-item' style='margin-left: 1px;'><a class='nav-link' href='".DIR_NEWS."'>Новости</a></li>";
    echo "</ul>";
    echo "</nav>";
    echo "<div class='card-header' style='color: grey;'>";
    if (isset($user)) {
        echo "<span style='float: right;'>";
        if (IS_WEB) {
            if (access('adm_news_add') && isset($user)) {
                echo "<a href='?add' style='color: grey;'><span style='padding: 5px;' data-toggle='tooltip' data-placement='left' title='Новая новость'><i class='material-icons'>add</i></span></a> ";
            }
            echo "<a href='?settings' style='color: grey;'><span style='padding: 5px;' data-toggle='tooltip' data-placement='left' title='Параметры'><i class='material-icons'>settings</i></span></a>";
        } else {
            if (access('adm_news_add') && isset($user)) {
                echo "<a href='?add' style='color: grey;'><span style='padding: 5px;' title='Новая новость'><i class='material-icons'>add</i></span></a> ";
            }
            echo "<a href='?settings' style='color: grey;'><span style='padding: 5px;' title='Параметры'><i class='material-icons'>settings</i></span></a>";
        }
        echo "</span>";
    }
    echo "Новости";
    echo "</div>";
    #Выводим список новостей
    while ($post = mysql_fetch_assoc($q)) {
        $like = mysql_result(mysql_query("SELECT COUNT(*) FROM `news_like` WHERE `id_news` = '" . $post['id'] . "'"), 0);
        echo "<div class='list-group-item' style='margin-top: 5px;margin-bottom: 5px;'>";
        echo "<h4><a href='?news=$post[id]'>" . toOutput($post['title']) . "</a></h4>";
        echo "<span style='color: #9197a3;'>";
        echo "<i class='material-icons'>person</i> $post[avtor] · <span title='" . date::time($post['time']) . "'>" . date::timek($post['time']) . "</span> ";
        if (access('adm_news_edit') || access('adm_news_delete')) {
            echo "<span style='float:right;'>";
            if (access('adm_news_edit')) {
                echo "<a href='?edit=$post[id]' title='Редактировать'><i class='material-icons'>rate_review</i></a> ";
            }
            if (access('adm_news_delete')) {
                echo "<a href='?delete=$post[id]' title='Удалить'><i class='material-icons'>delete</i></a>";
            }
            echo "</span>";
        }
        echo "</span>";
        echo "<div class='hr'></div>";
        #Текст новости
        echo "" . cutStr(toOutput($post['msg']), 200) . "<br />";
        #Изображение, если есть
        if ($user['set_news'] == 1) {
            if (is_file(H . 'modules/news/images/' . $post['id'] . '.png')) {
                echo "<br /><img src='" . DIR_NEWS . "images/$post[id].png' style='border: 1px solid #CCDDED; padding: 2px; border-radius: 5px; max-width: 200px;' />";
            }
        }
        if (isset($user)) {
            echo "<div class='hr'></div>";
            #Просмотры
            echo "<span title='Просмотрели " . sklon_text($post['prosm'], array('раз', 'раза', 'раз')) . "' style='float:right;'><i class='material-icons'>remove_red_eye</i> $post[prosm]</span>";
            if ($post['link'] != NULL) {
                echo "<a href='" . htmlentities($post['link'], ENT_QUOTES, 'UTF-8') . "' title='Перейти, чтобы узнать подробности'><i class='material-icons'>share</i> Источник</a>     ";
            }
            if ($like == 0) {
                $l = null;
            } else {
                $l = mysql_result(mysql_query("SELECT COUNT(*) FROM `news_like` WHERE `id_news` = '$post[id]'"), 0);
            }
            if (mysql_result(mysql_query("SELECT COUNT(*) FROM `news_like` WHERE `id_news` = '$post[id]' AND `id_user` = '$user[id]' LIMIT 1"), 0) == 0) {
                echo "<a href='?news=$post[id]&likes'><i class='material-icons'>favorite_border</i> Нравится $l</a>     ";
            } else {
                echo "<a href='?news=$post[id]&unlikes'><i class='material-icons'>favorite</i> Нравится $l</a>     ";
            }
            $kum = @mysql_result(mysql_query("SELECT id_user FROM `news_like` WHERE `id_news` = '$post[id]'"), 0);
            $kom = @mysql_result(mysql_query("SELECT nick FROM `user` WHERE `id` = '$kum' LIMIT 1"), 0);
            $kem = $like - 1;
            #Выводит тех, кому понравилась новость
            if ($user['id'] == $kum) {
                if ($like == 1) {
                    $vam = "Вам это нравится";
                } elseif ($like >= 2) {
                    $vam = "Вам и еще <a href='" . DIR_NEWS . "?news=$post[id]&like_all'>" . sklon_text($kem, array('пользователю', 'пользователям', 'пользователям')) . "</a> это нравится";
                }
            } else {
                $vam = "<a href='" . DIR_NEWS . "?news=$post[id]&like_all'>" . sklon_text($like, array('пользователю', 'пользователям', 'пользователям')) . "</a> это нравится";
            }
            if ($like == 1) {
                echo "<div class='hr'></div>";
                echo "<font color='#B2B2B2'><i class='material-icons'>favorite</i> $vam</font>";
            } elseif ($like >= 2) {
                echo "<div class='hr'></div>";
                echo "<font color='#B2B2B2'><i class='material-icons'>favorite</i> $vam</font>";
            }
        }
        #По настройке пользователя выводим комментарии
        if ($user['set_news_comments'] == 1) {
            echo "<div class='hr'></div>";
            $k_posts = mysql_result(mysql_query("SELECT COUNT(*) FROM `news_komm` WHERE `id_news` = '$post[id]'"), 0);
            $k_pages = k_page($k_posts, $set['p_str']);
            $pages = page($k_pages);
            $starts = $set['p_str'] * $pages - $set['p_str'];
            #Количество выводимых комментариев
            if (IS_WEB) {
                $qs = mysql_query("SELECT * FROM `news_komm` WHERE `id_news` = '$post[id]' ORDER BY `id` DESC LIMIT 5");
            } else {
                $qs = mysql_query("SELECT * FROM `news_komm` WHERE `id_news` = '$post[id]' ORDER BY `id` DESC LIMIT 3");
            }
            if ($k_posts == 0) {
                echo "<span style='color: #9197a3;'><i class='material-icons'>comment</i> Еще не обсуждали...</span>";
            }
            while ($posts = mysql_fetch_assoc($qs)) {
                $anks = get_user($posts['id_user']);
                echo "<div style='padding-bottom: 2px;'>";
                echo "<small class='text-muted'>";
                echo avatar($anks['id'], '30', 'border-radius: 2px;');
                echo "<b>$anks[nick]:</b> ";
                echo toOutput($posts['msg']);
                echo "</small>";
                echo "</div>";
            }
        }
        echo "</div>";
    }
    #Если нет новостей
    if ($k_post == 0) {
        echo "<div class='list-group-item'>";
        echo "<i class='material-icons'>feedback</i> Нет результатов";
        echo "</div>";
    }
    if ($k_page > 1) {
        echo "<div class='list-group-item'>";
        str('index.php?', $k_page, $page);
        echo "</div>";
    }
}
require_once H . 'sys/inc/tfoot.php';