Sergo_Sev
Творец
- Регистрация
- 14 Июн 2008
- Сообщения
- 578
- Реакции
- 193
- Автор темы
- #1
Сутки ломал голову куда пропали баннеры и почему показывается только 1
Суть такая
Создаём несколько баннеров, даём одинаковые названия и задаём каждому баннеру показ в своей категории
В версии < 10.0 - всё работает т.е. каждый баннер выводится в своей категории
В Версии 10.1 на всём сайте выводится только 1 баннер с самым минимальным ID (и не важно в какой он категории), а все остальные пропадают.
Если почистить PHPSESSID в cookie то пропавшие баннеры показываются 1 раз и после записи PHPSESSID - пропадают снова
Поковыряв движок, выяснилось, что в версии 10.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];
В архиве два файла для сравнения
Проблему решил заменой файла от старой версии, но мучает вопрос - что это за дебилизм и что делает этот код?