Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Стрелки цифрового рейтинга

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


     27.07.2012    Общие вопросы по PHP    3713

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

Вот стрелки:
<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
193

1732 | 1308

nowheremany - 28 июля 2012 11:28 - Эксперт

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

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

didfree
61 | 59

didfree - 28 июля 2012 13:08 - Юзер

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

Mr. Hyde
5

181 | 183

Mr. Hyde - 30 июля 2012 10:43 - Юзер

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

stile
2 | 3

stile - 30 июля 2012 13:23 - Юзер

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

pznt
3

88 | 73

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

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

ПафНутиЙ
1073

3424 | 2437

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

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

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

pznt
3

88 | 73

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

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

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

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