Версия php 5.3 и Joostina, Joomla 1.0, Joomla 1.5

17.09.2014

darklight

Рано или поздно владелец сервера или пользователь виртуального хостинга сталкивается с обновлением версии php. И тут у сайтов на устаревших cms начинаются проблемы.

В частности очень много людей в свое время сделали или заказали сайты на Joomla 1.x или Joostina. Ниже приведен ряд действий, которые позволят восстановить работоспособность Ваших сайтов на php 5.3.

1. Предупреждения на сайте в модуле меню:

Warning: Parameter 3 to showBlogCategory() expected to be a reference, value given in .../includes/Cache/Lite/Function.php on line 52
Warning: Invalid argument supplied for foreach() in .../modules/mod_mljoostinamenu.php on line 365

лечатся так:

Открываем файл Function.php, находим строку:
$arguments = func_get_args();

и меняем её на:
$arguments = func_get_args();
$numargs = func_num_args();
for($i=1; $i < $numargs; $i++){
$arguments[$i] = &$arguments[$i];
}

Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in .../libraries/joomla/cache/handler/callback.php on line 99

Правим файл /modules/mod_mainmenu/helper.php:

В строке 31: function buildXML(&$params) меняем на: function buildXML($params)

2. Проблемы с работоспособностью формы обратной связи.

Fatal error: Cannot redeclare quoted_printable_encode() in .../includes/vcard.class.php on line 74

Меняем файл vcard.class.php (архив приложен в конце статьи).

3. Предуперждение при редактировании профилей пользователей или при редактировании содержимого:

Warning: Parameter 1 to DOMIT_Lite_Parser::startElement() expected to be a reference, value given in .../includes/domit/xml_saxy_shared.php on line 159
Warning: Parameter 1 to DOMIT_Lite_Parser::startElement() expected to be a reference, value given in .../includes/domit/xml_saxy_shared.php on line 169
Warning: Parameter 1 to DOMIT_Lite_Parser::startElement() expected to be a reference, value given in .../includes/domit/xml_saxy_shared.php on line 162

Открываем файл xml_saxy_shared.php и правим:

строку 159:
call_user_func($this->startElementHandler,$this,$tagName,$attributes);
меняем на:
call_user_func($this->startElementHandler,&$this,$tagName,$attributes);

строку 162:
call_user_func($this->endElementHandler,$this,$tagName);
меняем на:
call_user_func($this->endElementHandler,&$this,$tagName);

строку 169:
call_user_func($this->characterDataHandler,$this,$data);
меняем на:
call_user_func($this->characterDataHandler,&$this,$data);

Номера строк и содержимое мугут меняться в зависимости от cms и её версии, Вам нужно лишь к $this добавить &.

Прикладываю архивом отредактированные файлы.

4. Сообщения на сайте об устаревших элементах:

Deprecated: Function set_magic_quotes_runtime() is deprecated in .../includes/Cache/Lite.php on line 524

Правим файл Lite.php:

строку 524: set_magic_quotes_runtime(0); меняем на ini_set("magic_quotes_runtime", 0);
строку 530: set_magic_quotes_runtime($mqr); меняем на ini_set("magic_quotes_runtime",$mqr);

Deprecated: Assigning the return value of new by reference is deprecated in .../mambots/mbox/mbox_plugin.php on line 215

Правим файл mbox_plugin.php:

строку 215: $param = & new mosParameters( $mambot->params ); меняем на $param = new mosParameters( $mambot->params );

т.е. убираем символ &.

5. Не работает JA Highslide Plugin

Warning: Parameter 2 to plgContentJA_highslide::onPrepareContent() expected to be a reference, value given in .../libraries/joomla/event/event.php on line 67

Правим файл event.php:

В строке 67: return call_user_func_array ( array($this, $event), $args );
меняем на:
$args[1] = & $args[1];
return call_user_func_array ( array($this, $event), $args );

Warning: Parameter 2 to plgContentEmailCloak() expected to be a reference, value given in .../libraries/joomla/event/dispatcher.php on line 136

Правим файл dispatcher.php:

В строке 136: $result[] = call_user_func_array($observer['handler'], $args);
меняем на:
$args[1] = & $args[1];
$result[] = call_user_func_array($observer['handler'], $args);

6. Правим файл php.ini

В том случае, если на сайте остались еще ошибки, находим на хостинге файл php.ini и добавляем в него строку:

mbstring.func_overload = 7



Комментарии:

иксреверс :: 07.06.2016

СПАСИБО!

Добавить комментарий:

Новости

    ФЗ-54 для интернет магазинов

    С 1.02.2017 г. российская фискально-кассовая система серьезно изменилась.

Архив новостей

Блог

Вывод дополнительного поля в "Версии для печати" свойств заказа UMI.CMS

Добавим код товара в "Версию для печати" из "Свойств заказа"

Fatal error: Allowed memory size в ImageCms

На одном из заброшенных сайтов на ImageCms при попытке зайти в админ. панель появилась ошибка.

Дополнительное поле и отображение его в письме-заказе и в админке Юми

Для удобства работы менеджеров
Читать блог