Файл: modules/news/index.php
Строк: 150
<?php
/* DCMS Special
* Дата последнего редактирования 15.01.2016
* Модифицировал densnet
*/
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
require_once "../../sys/inc/$inc.php";
}
$doc->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 "<div class='card-header'>";
if (isset($user)) {
echo "<span style='float: right'>";
if (IS_WEB) {
if (access('adm_news_add') && isset($user)) {
echo "<a href='?add'><span style='padding: 5px;' data-toggle='tooltip' data-placement='left' title='" . lang('Новая новость') . "'><i class='fa fa-plus fa-fw fa-lg'></i></span></a> ";
}
echo "<a href='/user/settings.php?act=view'><span style='padding: 5px;' data-toggle='tooltip' data-placement='left' title='" . lang('Параметры') . "'><i class='fa fa-cog fa-fw fa-lg'></i></span></a>";
} else {
if (access('adm_news_add') && isset($user)) {
echo "<a href='?add'><span style='padding: 5px;' data-toggle='tooltip' data-placement='left' title='" . lang('Новая новость') . "'><i class='fa fa-plus fa-fw fa-lg'></i></span></a> ";
}
echo "<a href='/user/settings.php?act=view'><span style='padding: 5px;' data-toggle='tooltip' data-placement='left' title='" . lang('Параметры') . "'><i class='fa fa-cog fa-fw fa-lg'></i></span></a>";
}
echo "</span>";
}
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Новости');
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: 2px;margin-bottom: 2px;'>";
echo "<h4><a href='?news=$post[id]'>" . toOutput($post['title']) . "</a></h4>";
echo "<span style='color: #9197a3;'>";
echo "<i class='fa fa-user fa-fw'></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='" . lang('Редактировать') . "'><i class='fa fa-edit fa-fw'></i></a> ";
}
if (access('adm_news_delete')) {
echo "<a href='?delete=$post[id]' title='" . lang('Удалить') . "'><i class='fa fa-trash-o'></i></a>";
}
echo "</span>";
}
echo "</span>";
echo "<hr>";
#Текст новости
echo toOutput(cutStr($post['msg'], 300)) . "<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='" . lang('Просмотрели') . " " . sklon_text($post['prosm'], array(lang('раз'), lang('раза'), lang('раз'))) . "' style='float:right;'><i class='fa fa-eye fa-fw'></i> $post[prosm]</span>";
if ($post['link'] != NULL) {
echo "<a href='" . htmlentities($post['link'], ENT_QUOTES, 'UTF-8') . "' title='" . lang('Перейти, чтобы узнать подробности') . "'><i class='fa fa-link fa-fw'></i> " . lang('Источник') . "</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='fa fa-heart-o fa-fw'></i> " . lang('Нравится') . " $l</a> ";
} else {
echo "<a href='?news=$post[id]&unlikes'><i class='fa fa-heart fa-fw'></i> " . lang('Нравится') . " $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 = lang('Вам это нравится');
} elseif ($like >= 2) {
$vam = lang('Вам и ещё') . " <a href='" . DIR_NEWS . "?news=$post[id]&like_all'>" . sklon_text($kem, array(lang('пользователю'), lang('пользователям'), lang('пользователям'))) . "</a> " . lang('это нравится');
}
} else {
$vam = "<a href='" . DIR_NEWS . "?news=$post[id]&like_all'>" . sklon_text($like, array(lang('пользователю'), lang('пользователям'), lang('пользователям'))) . "</a> " . lang('это нравится');
}
if ($like == 1) {
echo "<hr>";
echo "<font color='#B2B2B2'><i class='fa fa-heart fa-fw'></i> $vam</font>";
} elseif ($like >= 2) {
echo "<hr>";
echo "<font color='#B2B2B2'><i class='fa fa-heart fa-fw'></i> $vam</font>";
}
}
#По настройке пользователя выводим комментарии
if ($user['set_news_comments'] == 1) {
echo "<hr>";
$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='fa fa-comments fa-fw'></i> " . lang('Еще не обсуждали') . "...</span>";
}
while ($posts = mysql_fetch_assoc($qs)) {
$anks = get_user($posts['id_user']);
echo "<small>";
echo "<table><tr><td class='icon14'>";
echo avatar($anks['id'], '30', 'border-radius: 2px;');
echo "</td><td class='null'>";
echo "<b style='float: right;'>$anks[nick]</b> ";
echo toOutput($posts['msg']);
echo "</td></tr></table>";
echo "</small><hr>";
}
}
echo "</div>";
}
#Если нет новостей
if ($k_post == 0) {
$doc->NoResult();
}
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';