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

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


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

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

Вот стрелки:
<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 - 28 июля 2012 11:28 -

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

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

didfree
Юзер

didfree - 28 июля 2012 13:08 -

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

Mr. Hyde
Юзер

Mr. Hyde - 30 июля 2012 10:43 -

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

stile
Юзер

stile - 30 июля 2012 13:23 -

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

pznt
Юзер

pznt - 23 ноября 2012 08:50 -

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

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

ПафНутиЙ - 23 ноября 2012 08:57 -

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

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

pznt
Юзер

pznt - 23 ноября 2012 09:00 -

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх