Warning: fopen(/var/www/admin/data/www/artsss-web.ru/engine/cache/system/category.php): failed to open stream: No such file or directory in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 316 Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 317 Warning: fclose(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 318 Warning: fopen(/var/www/admin/data/www/artsss-web.ru/engine/cache/system/usergroup.php): failed to open stream: No such file or directory in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 316 Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 317 Warning: fclose(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 318 Warning: fopen(/var/www/admin/data/www/artsss-web.ru/engine/cache/system/informers.php): failed to open stream: No such file or directory in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 316 Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 317 Warning: fclose(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 318 Warning: fopen(/var/www/admin/data/www/artsss-web.ru/engine/cache/related_7f24d240521d99071c93af3917215ef7.tmp): failed to open stream: Permission denied in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 374 Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 375 Warning: fclose(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 376 Warning: fopen(/var/www/admin/data/www/artsss-web.ru/engine/cache/system/banners.php): failed to open stream: No such file or directory in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 316 Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 317 Warning: fclose(): supplied argument is not a valid stream resource in /var/www/admin/data/www/artsss-web.ru/engine/modules/functions.php on line 318 DataLife Engine > Версия для печати > Хак DLE VoteResult v.Memcache
DataLife Engine > Все для Dle, Хаки DLE > Хак DLE VoteResult v.Memcache

Хак DLE VoteResult v.Memcache


3-01-2011, 10:47. Разместил: 770change
Хак 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}", "");


Все

Вернуться назад