<?php
defined('_IN_JOHNCMS') or
die('Error: restricted access'); if(empty($_SESSION['error'])) $_SESSION['error'] = '';
//Функция отображения рейтинга
function rating($id, $type = 0) {
if(!$id)
return '<img class="ico" src="../images/stars/stars_5.gif" alt="0" />';
if($total) {
$query = mysql_query("SELECT `golos`, COUNT(*) as `count` FROM `cms_news_rating` WHERE `news`='$id' GROUP BY `golos`"); $array['plus'] = 0;
$array['minus'] = 0;
if(isset($row['golos']) && $row['golos'] == 1) $array['plus'] = $row['count']; else if(isset($row['golos']) && $row['golos'] == 2) $array['minus'] = $row['count']; else {
$array['plus'] = 0;
$array['minus'] = 0;
}
}
if($array['plus'] > $array['minus']) {
if($array['minus'] == 0) {
if($array['plus'] == 1) $count = 60;
else if($array['plus'] == 2) $count = 60;
else if($array['plus'] == 3) $count = 60;
else if($array['plus'] == 4) $count = 70;
else if($array['plus'] == 5) $count = 70;
else if($array['plus'] == 6) $count = 80;
else if($array['plus'] == 7) $count = 80;
else if($array['plus'] == 8) $count = 90;
else if($array['plus'] == 9) $count = 90;
else if($array['plus'] >= 10) $count = 100;
} else {
$count = round($array['minus'] / $array['plus'], 1) * 100; if($count == 0)$count = 100;
else $count = (100 - $count);
}
} else if($array['plus'] < $array['minus']) {
if($array['plus'] == 0) {
if($array['minus'] == 1) $count = 40;
else if($array['minus'] == 2) $count = 40;
else if($array['minus'] == 3) $count = 40;
else if($array['minus'] == 4) $count = 30;
else if($array['minus'] == 5) $count = 30;
else if($array['minus'] == 6) $count = 20;
else if($array['minus'] == 7) $count = 20;
else if($array['minus'] == 8) $count = 10;
else if($array['minus'] == 9) $count = 10;
else if($array['minus'] >= 10) $count = 0;
} else {
$pr = (round($array['plus'] / $array['minus'], 1) * 100); $count = $pr;
}
} else
$count = 50;
$percent = $count;
if($percent == 100)$stars = 10;
else if($percent < 100 && $percent >= 90) $stars = 9;
else if($percent < 100 && $percent >= 90) $stars = 9;
else if($percent < 90 && $percent >= 80) $stars = 8;
else if($percent < 80 && $percent >= 70) $stars = 7;
else if($percent < 70 && $percent >= 60) $stars = 6;
else if($percent < 60 && $percent >= 50) $stars = 5;
else if($percent < 50 && $percent >= 40) $stars = 4;
else if($percent < 40 && $percent >= 30) $stars = 3;
else if($percent < 30 && $percent >= 20) $stars = 2;
else if($percent < 20 && $percent >= 10) $stars = 2;
else if($percent < 10 && $percent > 0) $stars = 1;
else if($percent == 0) $stars = 0;
if($type == 0) return '<img class="ico" src="../images/stars/stars_'.$stars.'.gif" alt="•" />';
else return $percent;
} else return '<img class="ico" src="../images/stars/stars_5.gif" alt="•" />';
}
if($id) {
$query = mysql_query("SELECT `cms_news`.*, `cms_news_cat`.`name` as `catname`, `cms_news_cat`.`id` as `catid` FROM `cms_news` LEFT JOIN `cms_news_cat` ON `cms_news`.`refid`=`cms_news_cat`.`id` WHERE `cms_news`.`id`='$id'".($rights < 7 ?
" AND `cms_news`.`time`<='" . time() . "'":"")." LIMIT 1;"); //Показываем новость
$textl = $lng['news'] . ' | ' . htmlentities($res1['name'], ENT_QUOTES, 'UTF-8'); require_once('../incfiles/head.php');
echo '<div class="phdr"><h3>' . htmlentities($res1['name'], ENT_QUOTES, 'UTF-8') . '</h3></div>'; echo '<div class="menu">';
//Выводим картинку
if(file_exists('../files/news/news_' . $id . '.png') !== false) echo '<img style="float: left; margin: 5px 6px 2px 2px; border: 0px;" src="../files/news/news_' . $id . '.png" alt=""/>';
$text = functions::checkout($res1['text'], 1, 1);
$text = str_replace('Arsenal', '<a target="_blank" href="'.$set['homeurl'].'/1920-Arsenal_-_Umumiy_malumot.html">Arsenal</a>', $text); if ($set_user['smileys'])
$text = functions::smileys($text);
echo $text;
echo '<div style="clear:both;"></div></div>';
//Обрабатываем голосование
if(isset($_POST['plus_x']) || isset($_POST['plus_y'])) { if($res1['user_id'] == $user_id) {
$_SESSION['error'] = '<div class="list1 red">' . $lng_news['my_vote'] . '!</div>';
} else {
$plus = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_news_rating` WHERE `news`='$id' AND `user_id`='$user_id' LIMIT 1;"), 0); if($plus) {
$_SESSION['error'] = '<div class="list1 red">' . $lng_news['already_voted'] . '!</div>';
} else {
`news`='$id',
`user_id`='$user_id', `golos`='1';");
$_SESSION['error'] = '<div class="list1 green">' . $lng_news['ok_vote'] . '!</div>';
}
}
Header('Location: index.php?act=view&id=' . $id); } else if(isset($_POST['minus_x']) || isset($_POST['minus_y'])) { if($res1['user_id'] == $user_id) {
$_SESSION['error'] = '<div class="list1 red">' . $lng_news['my_vote'] . '!</div>';
} else {
$plus = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_news_rating` WHERE `news`='$id' AND `user_id`='$user_id' LIMIT 1;"), 0); if($plus) {
$_SESSION['error'] = '<div class="list1 red">' . $lng_news['already_voted'] . '!</div>';
} else {
`news`='$id',
`user_id`='$user_id', `golos`='2';");
$_SESSION['error'] = '<div class="list1 green">' . $lng_news['ok_vote'] . '!</div>';
}
}
Header('Location: index.php?act=view&id=' . $id); }
//Сообщение об оставленном голосе
echo $_SESSION['error'];
//Выводим автора новости
$us = mysql_query("SELECT `id`, `name` FROM `users` WHERE `id` = '{$res1['user_id']}'"); $name_use = $user_id ? '<a href="../users/profile.php?user=' . $rowuse['id'] . '">' . $rowuse['name'] . '</a>' : $rowuse['name'];
} else {
$name_use = $lng['guest'];
}
//
echo '<div class="list2"><span class="underline">' . $lng['rating'] . ':</span> ' . rating($id) . '<br />
'.($user_id ? '<form action="index.php?act=view&id=' . $id . '" method="post"><div>
<input style="cursor:none; border: 0px; padding: 0;padding-top: 2px; margin: 0;" type="image" name="plus" value="15" src="../images/like_yes1.gif" alt="' . $lng_news['like'] . '"/><input class="rate" style="cursor:none; border: 0px; margin: 0; padding: 0;padding-top: 2px;" type="image" src="../images/like_no1.gif" name="minus" alt="-"/>
</div></form>':'<img class="ico" src="../images/like_yes1.gif" alt="+" /><img class="ico" src="../images/like_no1.gif" alt="-" /><br />').'
</div><div class="gmenu">
' . $lng_news['posted'] . ': ' . $name_use . '<br />
' . $lng_news['time_posted'] . ': ' . date('d.m.o / H:i', $res1['time'] + $sdvigclock * 3600) . '<br /> '.($res1['time'] > time()?
'<div class="func">' . $lng_news['begin_show_through'] . ': ' . timer
($res1['time'] - time()) . '</div>':'').' </div>';
include 'comments.php';
echo '' . ($rights >= 7 ? '<div class="menu"><div class="func">
<a href="../panel/index.php?act=news&mod=newsedit&id=' . $id . '">' . $lng['edit'] . '</a><br />
<a href="../panel/index.php?act=news&mod=delnews&id=' . $id . '">' . $lng['delete'] . '</a><br />
</div></div>':'') . '
<div class="bmenu"><a href="index.php?id=' . $res1['catid'] . '">' . htmlentities($res1['catname'], ENT_QUOTES, 'UTF-8') . '</a></div>'; } else {
$textl = $lng['news'];
require_once('../incfiles/head.php');
echo functions::display_error($lng_news['news_does_not_exist']);
}
} else {
$textl = $lng['news'];
require_once('../incfiles/head.php');
echo functions::display_error($lng_news['news_is_not_chose']);
}
unset($_SESSION['error']);