Кто использует iJoomla Magazine v3.0.4 и у кого джумла стоит на сервере где php 5.3 я думаю столкнулся с кучкой ошибок. Например в админке видно вот такое:
Deprecated: Function eregi() is deprecated in /components/com_magazine/magazine.class.php on line 757
Ругается оно на функцию eregi(), потому что эта функция была выкинута из версии пхп 5.3. Не знаю зачем разработчики этого компонента использовали эту функцию, возможно фенкция там живет еще с первой версии компонента. Функцию уже года два как хотели убрать из пхп.
Чиним это так:
Идем сюда .../administrator/components/com_magazine/magazine.class.php
Ищем:
} else if ( eregi( "bmp|gif|jpg|png", $file ) && is_file( $i_f ) ) {
Меняем на:
} else if ( preg_match( "/(bmp|gif|jpg|png)$/", $file ) && is_file( $i_f ) ) {
Одну ошибку исправили.
Идем дальше и видим на самом сайте следующее:
Deprecated: Assigning the return value of new by reference is deprecated in /components/com_magazine/magazine.html.php on line 502
Deprecated: Assigning the return value of new by reference is deprecated in /components/com_magazine/magazine.html.php on line 631
Deprecated: Assigning the return value of new by reference is deprecated in /components/com_magazine/magazine.html.php on line 999
Deprecated: Assigning the return value of new by reference is deprecated in /components/com_magazine/magazine.html.php on line 1280
Исправляется так:
Идем к файлу .../components/com_magazine/magazine.html.php
Смотрим на строки на которые ругается, у меня это 502 631 999 1280
В последней строке видим:
$mambot =& new JTableContent($database)
Нужно заменить на:
$mambot = new JTableContent($database)
Как видите я убрал значок &. Так вот этот значек нужно убрать во всех строках где показывает присутствие ошибок.
Я конечно понимаю что разработчики пхп улучшают механизмы и безапасности, но работки они добавили.