• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь [help] Как переделать опросы?

Статус
В этой теме нельзя размещать новые ответы.

VADOS [Dj]

Постоялец
Регистрация
8 Июн 2006
Сообщения
74
Реакции
5
Стоит DLE 7.2, добавлено несколько голосований (которые в блоке на main.tpl висят).

Как сделать так, чтобы если юзер уже голосовал в конкретном опросе, то ему автоматически отображались результаты, а не вопросы с кнопками "Голосовать и результаты"?

На 4дле когда-то давно был ответ на этот вопрос, там писали, что прибавляется 1 запрос к БД, но у меня реально маленький сайт, посему меня кол-во запросов не волнует.

З.Ы. - если к новости добавлен опрос, то там результаты отображаются сразу, правда кнопки "Голсовать и результаты" при этом не пропадают, этим вопросом (с кнопками) никто не занимался?
 
Аналогично ищу - интересно и полезно. тоже находил но потом перешел на новую версию DLE - теперь ищу заново
 
Ребят, так есть решение?
 
для 7.5 делал так
в файле /engine/modules/vote.php
перед
PHP:
if( $vote_action == "results" or $flag ) {
добавил
PHP:
if( $vote_action != "results" or $flag!=1 ) {
	/////////////////////////////////////////////////////////////////////////////
	//  Проверяем проголосовал ли текущий пользователь
	/////////////////////////////////////////////////////////////////////////////
	$_IP = $db->safesql( $_SERVER['REMOTE_ADDR'] );
	
	if( isset( $member_id['name'] ) ) $nick = $member_id['name'];
	else $nick = '';
	
	if( $is_logged ) $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND name='$nick'" );
	else $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND ip='$_IP'" );
	
	if( $row['count'] > 0 ) $flag = 1;


}
думаю и для остальных версий подойдет
 
Добавлю что это найдо сделать /engine/modules/vote.php
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху