Вопрос о DLE

Василич#
На сайте с 10.03.2009
Offline
111
742

Здравствуйте, давно ломаю галову над данным вопросом и вот решился его задать.

В дле к каждой новости есть рейтинг ( {rating} ). Интересует следующий вопрос, как сделать, чтобы если пользователь уже голосовал, ему отображались только результаты рейтинга, без возможности повторно его выставлять ?

Заранее благодарен. Уверен здесь есть люди которые должны знать как это реализовать :)

bmw-power.com.ua (https://bmw-power.com.ua)
pikasso
На сайте с 27.01.2008
Offline
150
#1

Тыц. Сам не пробовал, нашел в гугле.

Василич#
На сайте с 10.03.2009
Offline
111
#2
pikasso:
Тыц. Сам не пробовал, нашел в гугле.

спасибо большое, что ответили. Но это голосование на сайте ( {poll} ), в мне нужно для рейтинга статьи !

Дмитрий
На сайте с 09.12.2010
Offline
102
#3

Боитесь накрутки? Зачем вам такие мелочи? Думаете кто то вообще будет голосовать за новости? Да и вроде в DLE при авторизации два раза уже нельзя голосовать!

Регистрирую в каталогах - Много беков за копеейки!
Василич#
На сайте с 10.03.2009
Offline
111
#4
Gestein:
Боитесь накрутки? Зачем вам такие мелочи? Думаете кто то вообще будет голосовать за новости? Да и вроде в DLE при авторизации два раза уже нельзя голосовать!

дело не в накрутке. Рейтинг у меня чуток переделанный под цифровой. За новости голосуют :) Мелочь, не мелось, но просто привык если уж делать, то всё на славу )

Да, при авторизации два раза нельзя выставлять рейтинг к новости, но форма для выставления рейтинга показывается.

И всё же, по сабжу, помогите кто-нибудь.

DP
На сайте с 24.04.2012
Offline
16
#5

Открываем engine/modules/show.full.php. Находим строчку if( $row['allow_rate'] ). Перед ней вставляем код


if($is_logged)
{
$rated = $db->super_query("SELECT news_id FROM " . PREFIX . "_logs where news_id ='".$row['id']."' AND member='".$member_id['name']."'");

if($rated['news_id'])
{
$allow_rating = false;
}
else
{
$allow_rating = $user_group[$member_id['user_group']]['allow_rating'];
}
}
else
{
$allow_rating = $user_group[$member_id['user_group']]['allow_rating'];
}

Далее чуть ниже находим

$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );

и заменяем его на

$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $allow_rating) );

Надеюсь ничего не забыл.

Василич#
На сайте с 10.03.2009
Offline
111
#6

developer_php, большущее пребольшущее спасибо в очередной раз ! В который раз Вы мне помогаете ! Спасибо большое. Мастер на все руки ! :)

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