Форум переехал на новый домен - whitetalk.ru











>


















r>
















Логин:
Пароль:
  • Страница 1 из 1
  • 1
Модератор форума: Admin  
Форум » CMS сайтов и форумов » DataLife Engine (DLE) » Фикс "бага" голосований!
Фикс "бага" голосований!
Оффлайн
Dantes1997
Понедельник, 01.08.2011, 19:40 | Сообщение # 1 |
Группа: Пользователи
Сообщений: 4
Награды: 0
8
1. опрос на сайте. предлагает проголосовать второй раз, голосует, но голос не учитывается. нужно прийти к какому-то логичному решению - либо учитывать все попытки проголосовать, либо выдавать "вы уже голосовали"
2. голосование в новости. имхо еще хуже - после голосования показывает результаты НО все еще висят две кнопки голосовать и результаты. здесь имхо лучше просто убрать эти две кнопки.

Правим обычные голосования

Открываем /engine/modules/vote.php

находим

/////////////////////////////////////////////////////////////////////////////
// Проверяем проголосовал ли текущий пользователь
/////////////////////////////////////////////////////////////////////////////
Code
$_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) $is_voted = false;
else
$is_voted = true;

вырезаем и вставляем этот код над

if ($vote_action == "vote")

также над ним добавляем

if ($is_voted )
{
$flag = 1;
}

Единственный минус данного фикса, это - добавление дополнительного запроса!

Правим голосования в новостях

1. Открываем /engine/modules/poll.php, находим

ajax.sendAJAX(varsString);

ниже добавляем

document.getElementById('buttons').style.display = 'none';

находим

$tpl->compile('poll');

выше добавляем

if ( !$log['count'] == 0 )
{
$tpl->set ( '[hide-button]', '' );
$tpl->set ( '[/hide-button]', '' );
}
else
{
$tpl->set_block ( "'\[hide-button\](.*)\[/hide-button\]'si", "" );
}

2. В шаблоне poll.tpl находим код кнопок

<input type="button" onclick="doPoll('vote'); return false;" class="bbcodes_poll" value="Голосовать" /> <input type="button" onclick="doPoll('results'); return false;" class="bbcodes_poll" value="Результаты" />

и экранируем их

[hide-button]<div id="buttons">
<input type="button" onclick="doPoll('vote'); return false;" class="bbcodes_poll" value="Голосовать" /> <input type="button" onclick="doPoll('results'); return false;" class="bbcodes_poll" value="Результаты" />
</div>[/hide-button]
Оффлайн
Zazik
Вторник, 09.08.2011, 20:37 | Сообщение # 2 |
Dom!no Tr?k
Группа: Дизайнеры
Сообщений: 281
Награды: 11
135
Dantes1997, а в [cоde][/cоde] не судьба было сделать?
З.Ы. я поставил dry


Портфолио Студия Скайп

Завидовать, сосать и проигрывать нужно молча, суки!
Оффлайн
VIPERR37
Вторник, 09.08.2011, 21:01 | Сообщение # 3 |
Группа: Пользователи
Сообщений: 99
Награды: 10
809
Dantes1997, на какой версии дле этот баг?

Форум » CMS сайтов и форумов » DataLife Engine (DLE) » Фикс "бага" голосований!
  • Страница 1 из 1
  • 1
Поиск:

Форум о заработке в сети Интернет
© SeoPrint.at.ua 2011-2012