Интересное

Проверено

VDS-хостинг - именно на этом хостинге работает наш сайт.
Sape - биржа временных ссылок, доход 80р/день.
Trustlink - биржа временных ссылок, доход 60р/день.

Партнеры

Последние сообщения с форума

Название темы Автор Статистика Последнее сообщение
продажа аккаунтов разных сервисов

Тема в разделе: Услуги и сервисы ваших web-сайтов

Sdelkin

Просмотров: 183973

Ответов: 26

Автор: Sdelkin

3-02-2018, 18:55

хостинг от M-HOSTER

Тема в разделе: Хостинг

wmmax

Просмотров: 57963

Ответов: 0

Автор: wmmax

1-02-2018, 15:42

Комплексное продвижение (прогон) сайтов ру и en

Тема в разделе: Поисковая оптимизация

Kysovue

Просмотров: 145285

Ответов: 73

Автор: Kysovue

25-01-2018, 21:16

Special offer! SSD NVMe хостинг, Выделенный сервер и VPS SSD

Тема в разделе: Хостинг

iphoster

Просмотров: 61525

Ответов: 0

Автор: iphoster

10-11-2017, 22:56

продвижение сайтов, прогоны

Тема в разделе: Поисковая оптимизация

brig2

Просмотров: 78438

Ответов: 7

Автор: brig2

5-11-2017, 14:00

Хак DLE VoteResult v.Memcache


Данный хак позволяет выводить результаты опросов тем кто уже проголосовал на сайте. То есть на данный момент с голосованием такая, может быть фишка, а может не доработка, после голосования если обновить страницу то опять предлагается голосовать в том же самом опросе, хотя после повторного голосования голос и не учитывается.

Существующие решения используют постоянный дополнительный запрос проверки, что для крупных сайтов является довольно таки не желательным. Данный хак решает все эти проблемы. Для хака необходимо чтоб на сервере/хостинге поддерживалась система кеширования Memcache.


Исправление:
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}", "");

Автор: MSW (0-web.ru)
DLE: 9.0 (возможно и на других)

Другие новости по теме: