Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Хак DLE VoteResult v.Memcache.
Скачать бесплатно Хак DLE VoteResult v.Memcache.
Данный хак позволяет выводить результаты опросов тем кто уже проголосовал на сайте. То есть на данный момент с голосованием такая, может быть фишка, а может не доработка, после голосования если обновить страницу то опять предлагается голосовать в том же самом опросе, хотя после повторного голосования голос и не учитывается.
Автор: MSW (0-web.ru)
DLE: 9.0 (возможно и на других)
Исправление:
1. Открыть файл engine/modules/vote.php и найти:
$max = $vote_info[$rid]['vote_num'];
Добавить ниже:
$memcache = new Memcache();
$memcache->connect('localhost', 11211);
$arr = $memcache->get("vote_{$rid}");
if(!$arr) {
$voted_a = array();
$rowz = $db->query("SELECT name FROM ".PREFIX."_vote_result WHERE vote_id='{$rid}'");
while($r2 = $db->get_row($rowz)) {
$voted_a[]= $r2['name'];
}
$arr = implode(",",$voted_a);
$memcache->set("vote_{$rid}", $arr);
} else {
$voted_a = explode(",",$arr);
}
if(in_array($member_id['name'], $voted_a)) {
$is_voted = true;
$flag = 1;
} else {
$is_voted = false;
}
2. Найти:
$max ++;
Добавить ниже:
$memcache->delete("vote_{$rid}");
3. Открыть файл engine/ajax/vote.php и найти:
@unlink( ENGINE_DIR . '/cache/system/vote.php' );
Добавить ниже:
$memcache = new Memcache();
$memcache->connect('localhost', 11211);
$memcache->set("vote_{$rid}", "");