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

Помощь Глюк в DLE 10.1 - баннеры показываются 1 раз при одинаковых названиях

Sergo_Sev

Творец
Регистрация
14 Июн 2008
Сообщения
578
Реакции
193
Сутки ломал голову куда пропали баннеры и почему показывается только 1

Суть такая
Создаём несколько баннеров, даём одинаковые названия и задаём каждому баннеру показ в своей категории
В версии < 10.0 - всё работает т.е. каждый баннер выводится в своей категории
В Версии 10.1 на всём сайте выводится только 1 баннер с самым минимальным ID (и не важно в какой он категории), а все остальные пропадают.
Если почистить PHPSESSID в cookie то пропавшие баннеры показываются 1 раз и после записи PHPSESSID - пропадают снова

Поковыряв движок, выяснилось, что в версии 10.1 добавлен код
PHP:
    if ( isset( $_SESSION['banners'][$key] ) ){
 
        $_SESSION['banners'][$key] = intval( $_SESSION['banners'][$key] );
 
        if($_SESSION['banners'][$key] < (count($ban[$key])-1) ) $r_key = $_SESSION['banners'][$key]+1;
        else $r_key = 0;
 
    } else {

        $r_key = array_rand( $ban[$key] );

    }

    $_SESSION['banners'][$key] = $r_key;
    $ban[$key] = $ban[$key][$r_key];

В архиве два файла для сравнения

Проблему решил заменой файла от старой версии, но мучает вопрос - что это за дебилизм и что делает этот код?
 

Вложения

  • banners.rar
    2,5 KB · Просмотры: 1
Назад
Сверху