Если у кого-то в админке в модуле whos_online такая ошибка, то в файлах admin/includes/applications/whos_online/pages/main.php и admin/includes/applications/whos_online/pages/info.php меняем строку
$session_data = trim($Qsession->value('value'));на
$session_data = trim(base64_decode($Qsession->value('value')));Ошибки вылазят из за того, что сессии записываются в базу с помощью функции _custom_write($id, $value)
public function _custom_write($id, $value) {
global $osC_Database;
$Qsession = $osC_Database->query('replace into :table_sessions values (:id, :expiry, :value)');
$Qsession->bindTable(':table_sessions', TABLE_SESSIONS);
$Qsession->bindValue(':id', $id);
$Qsession->bindInt(':expiry', time() + $this->_life_time);
$Qsession->bindValue(':value', base64_encode($value));
$Qsession->execute();
return ( $Qsession->affectedRows() === 1 );
}
в файле includes/classes/session/database.php, а читаются в вышеупомянутых файлах напрямую из базы без раскодировки
(Здесь есть изображение, скрытое от гостей. Для просмотра
зарегистрируйтесь или залогиньтесь)Чтобы не вылазили ошибки в PHP 5.3 с ereg, eregi, ereg_replace, eregi_replace, split, spliti замените все выражения во всех файлах:
ereg('...', ..., ...)заменить на
preg_match('/.../', ..., ...)eregi('...', ..., ...)заменить на
preg_match('/.../i', ..., ...)ereg_replace('...', ..., ...)заменить на
preg_replace('/.../', ..., ...)eregi_replace('...', ..., ...)заменить на
preg_replace('/.../i', ..., ...)split('...', ..., ...)заменить на
preg_split('/.../', ..., ...)spliti('...', ..., ...)заменить на
preg_split('/.../i', ..., ...)если в паттерне (первый операнд) встречается символ "/", то перед ним нужно вставить "\".
Еще вылазят ошибки типа "
Deprecated: Assigning the return value of new by reference is deprecated".
Чтобы исправить нужно заменить выражения вида
$var =& new Class_name()на
$var = new Class_name()PS Уважаемые Гуру, если чего не правильно написал, не бейте ногами... я еще новичек в PHP.
(Здесь есть изображение, скрытое от гостей. Для просмотра
зарегистрируйтесь или залогиньтесь)