- Автор темы
- #1
сабж
модуль был скачен отсюда:
но рейтинг в шаблоне userinfo.tpl выводится коряво, вот кусок кода, как мне кажется, отвечающий за вывод рейтинг в профиле:
а так же код всего файла. отвечающего за рейтинг
скажите, где косяк в php файле? рейтинг постоянно выводится как 17 это после публикации новости пользователем. а до публикации всегда 0
как я понял, рейтинг должен складываться из рейтинга статей пользователя, но почему то не работает , помогите разобравться где ошибка? запрос в бд неправильный может?
модуль был скачен отсюда:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
но рейтинг в шаблоне userinfo.tpl выводится коряво, вот кусок кода, как мне кажется, отвечающий за вывод рейтинг в профиле:
Код:
function userrating($name) {
global $db;
$row = $db->super_query( "SELECT SUM(rating) as rating, SUM(vote_num) as num FROM " . PREFIX . "_post where autor ='$name'" );
if( $row['num'] ) $rating = round( ($row['rating'] / $row['num']), 0 );
else $rating = 0;
$rating = $rating * 17;
$rated = <<<HTML
<div class="rating" style="float:left;">
<span><em>{$rating}</em></span></div>
HTML;
return $rated;
}
Код:
<?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/ & http://webmastercity.ru/
-----------------------------------------------------
Copyright (c) 2010 SoftNews Media Group & Yeti-Lenha
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: ratig.php
-----------------------------------------------------
Назначение: Рейтинг новостей v.1.0
=====================================================
*/
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
error_reporting(E_ALL ^ E_NOTICE);
define('DATALIFEENGINE', true);
function ShowRating($id, $rating, $vote_num, $allow = true) {
global $is_logged, $member_id, $config, $lang, $db;
if ($rating=='null'){$rating="Уже Голосовали!";}else{
if ($rating) $rating = round($rating, 0); else $rating = 0;
if ($rating > 0) $rating = "<font color=green><b>Рейтинг +".$rating."</font></b>"; elseif ($rating == 0) $rating="<b>".$rating."</b>"; else $rating = "<font color=red><b>Рейтинг".$rating."</font></b>";
}
if (!$allow) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<span><em>{$rating}</em></span></div>
HTML;
return $rated;
}
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<div id="ratig-layer">
<div class="rating" style="float:left;"return false;">
<span><em>{$rating}</em></span>
</div>
<div class="rating" style="float:left;" return false;">
<img src="{THEME}/images/spacer.png" width="4" height="1">
</div>
<img src="{THEME}/dleimages/up.gif" title="Нравится(+)" alt="Нравится(+)" class="r2-unit" onclick="doRate('1', '{$id}'); return false;" width="18" height="18" />
<img src="{THEME}/dleimages/down.gif" title="Не нравится(-)" alt="Не нравится(-)" class="r2-unit" onclick="doRate('-1', '{$id}'); return false;" width="18" height="18" />
</div>
</span>
HTML;
return $rated;
}
function ShortRating($id, $rating, $vote_num, $allow = true) {
global $config, $lang;
if ($rating) $rating = round($rating, 0); else $rating = 0;
if ($rating > 0) $rating = "<font color=green><b>Рейтинг +".$rating."</font></b>"; elseif ($rating == 0) $rating="<b>".$rating."</b>"; else $rating = "<font color=red><b>Рейтинг".$rating."</font></b>";
if (!$allow) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<span><em>{$rating}</em></span>
HTML;
return $rated;
}
$rated = "<span id=\"ratig-layer-" . $id . "\">";
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<div id="ratig-layer">
<div class="rating" style="float:left;"return false;">
<span><em>{$rating}</em></span>
</div>
<div class="rating" style="float:left;" return false;">
<img src="{THEME}/images/spacer.png" width="4" height="1">
</div>
<img src="{THEME}/dleimages/up.gif" title="Нравится(+)" alt="Нравится(+)" class="r2-unit" onclick="doRate('1', '{$id}'); return false;" width="18" height="18" />
<img src="{THEME}/dleimages/down.gif" title="Не нравится(-)" alt="Не нравится(-)" class="r2-unit" onclick="doRate('-1', '{$id}'); return false;" width="18" height="18" />
</div>
</span>
HTML;
$rated .= "</span>";
return $rated;
}
function userrating($name) {
global $db;
$row = $db->super_query( "SELECT SUM(rating) as rating, SUM(vote_num) as num FROM " . PREFIX . "_post where autor ='$name'" );
if( $row['num'] ) $rating = round( ($row['rating'] / $row['num']), 0 );
else $rating = 0;
$rating = $rating * 17;
$rated = <<<HTML
<div class="rating" style="float:left;">
<span><em>{$rating}</em></span></div>
HTML;
return $rated;
}
?>
как я понял, рейтинг должен складываться из рейтинга статей пользователя, но почему то не работает , помогите разобравться где ошибка? запрос в бд неправильный может?