Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Стрелки цифрового рейтинга

Стрелки цифрового рейтинга


     цифровой, рейтинг, стрелки    Все вопросы » Общие вопросы по PHP    5236

вопрос
Здравствуйте! Поставил себе на сайт хак цифрового рейтинга (паблик).
Но после того как пользователь изменил рейтинг, стрелки не исчезают. Что нужно сделать что бы они исчезали?

Вот стрелки:
<div class="dlike" title="Не нравится" onclick="doRate('-1', '{news-id}'); return false;"></div>
<div class="like" title="Нравится" onclick="doRate('1', '{news-id}'); return false;"></div>


Спасибо.

Ответил: stile


Вот этот код замени в engine/modules/functions.php

На этот

function ShowRating($id, $rating, $vote_num, $allow = true) {
global $is_logged, $member_id, $config, $lang, $db;

if ($rating) $rating = round($rating, 0); else $rating = 0;

if (!$allow) {
  $rated = <<<HTML
  <div class="rati">
<img border=0 title=" Вы уже голосовали " src="http://steam-life4css.ru/templates/steam-life4css/images/rating/minus.png"  width="16" height="16" /></a>
{$rating}
<img border=0 title=" Вы уже голосовали " src="http://steam-life4css.ru/templates/steam-life4css/images/rating/plus.png"  width="16" height="16" /></a>
</div>
HTML;

return $rated;
}

if ($rating < "0") {
$myclass = "1";
}

if ($rating > "0") {
$myclass = "2";
}

if ($rating > "100") {
$myclass = "3";
}

$rated .= <<<HTML
<div class="rati{$myclass}">
<div id="ratig-layer-{$id}">
<div class="ratig-layer">
   <a href="#" class="r1-unit" onclick="doRate('-1', '{$id}'); return false;" title=" Не нравится (-) "><img src="{THEME}/images/rating/minus.png"  alt=" Не нравится (-) " width="16" height="16" /></a>
  {$rating}
    <a href="#" class="r2-unit" onclick="doRate('1', '{$id}'); return false;" title=" Нравится (+) "><img src="{THEME}/images/rating/plus.png"  alt=" Нравится (+) " width="16" height="16" /></a>
</div>
</div>
</div>
HTML;

return $rated;
}

function ShortRating($id, $rating, $vote_num, $allow = true) {
global $config, $lang;

if ($rating) $rating = round($rating, 0); else $rating = 0;

if (!$allow) {
  $rated = <<<HTML
  <div class="rati">
<img src="http://steam-life4css.ru/templates/steam-life4css/images/rating/minus.png" title=" Вы уже голосовали " width="16" height="16" />
{$rating}
<img src="http://steam-life4css.ru/templates/steam-life4css/images/rating/plus.png"  title=" Вы уже голосовали " width="16" height="16" />
</div>
HTML;

return $rated;
}
if ($rating < "0") {
$myclass = "1";
}

if ($rating > "0") {
$myclass = "2";
}

if ($rating > "100") {
$myclass = "3";
}

$rated = "<div id=\"ratig-layer-" . $id . "\">";
$rated .= <<<HTML
<div class="rati{$myclass}">
<div class="ratig-layer">
   <a href="#" class="r1-unit" onclick="dleRate('-1', '{$id}'); return false;"title=" Не нравится (-) "><img src="{THEME}/images/rating/minus.png"  alt=" Не нравится (-) " width="16" height="16" /></a>
{$rating}
  <a href="#" class="r2-unit" onclick="dleRate('1', '{$id}'); return false;" title=" Нравится (+) "><img src="{THEME}/images/rating/plus.png"  alt=" Нравится (+) " width="16" height="16" /></a>
</div>
</div>
HTML;
        
$rated  .= "</div>";

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
{$rating}
HTML;

return $rated;

}

7 комментариев

nowheremany
Эксперт

nowheremany - -

Почему они должны исчезать? ведь это добавит 1 запрос. никому не нужный

Благодарность принимаю тут Связь

didfree
Юзер

didfree - -

А как тогда сделать так, что бы при повторном нажатии на рейтинг, пользователя уведомляло что он уже голосовал?

Mr. Hyde
Юзер

Mr. Hyde - -

В engine/ajax/rating.php проверять проголосовал ли пользеватель.

stile
Юзер

stile - -

***Комментарий удален***

pznt
Юзер

pznt - -

на 9.7 кто знает скажите какие изменения будут? Там ведь в function.php функции shortRating нет, без её замены пробывал - не вышлоо.

ПафНутиЙ
Админ

ПафНутиЙ - -

Вместо неё используется функция showRating

Каков вопрос - таков и ответ. Просто помните об этом.

pznt
Юзер

pznt - -

ну я понял что вместо двух функций там одна (первая). Я пробывал ставить данный хак, ипользуя только showRating, не вышло.

Похожие вопросы

наверх