Forums / National / Russian / Тех. поддержка / Слет авторизации

dervan
#9990 2009-03-14 20:41
Это - ошибка при вычислении параметра $expire при вызове функцищи sed_setcookie(). Параметр имеет тип int, а вычисляется сейчас так:
time()+$cfg['cookielifetime']*86400
При этом значение $cfg['cookielifetime'] по умолчанию '5184000', т.е. происходит превышение максимально возможной величины для int, и в результате получается cookie с Expires = Session.

Исправление ошибки.

Найти в system/functions.admin.php строку:
	$result[] = array ('main', '10', 'cookielifetime', 2, '5184000', array (1800,3600,7200,14400,28800,43200,86400,172800, 259200,604800,1296000,2592000,5184000));
и поправить:
	$result[] = array ('main', '10', 'cookielifetime', 2, '60', array(1,2,3,7,15,30,60));

Найти в system/lang/en/admin.lang.php строку:
$L['cfg_cookielifetime'] = array('Maximum cookie lifetime', 'In seconds');
и поправить:
$L['cfg_cookielifetime'] = array('Maximum cookie lifetime', 'In days');
Аналогичные исправления сделать в других языковых файлах.

Зайти в Administration panel / Configuration / Main setup и там поправить Maximum cookie lifetime :, например на 60.[/][/]