X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Ошибки в error_log - как устранить, Ошибки в error_log - PHP Deprecated: Function ereg() is deprecated in
rom_4
rom_4
Topic Starter сообщение 17.5.2014, 13:50; Ответить: rom_4
Сообщение #1


трафа много не бывает
******

Группа: Active User
Сообщений: 1448
Регистрация: 9.7.2010
Из: Россия
Поблагодарили: 551 раз
Репутация:   62  


Приветствую.

С некоторых пор на джумла 1.5 в файле error_log появляются ошибки в таком количестве, что за пару месяцев забивает лимиты на файлы у моего хостинга :)
Периодически файл очищаю, но уже надоело, надо решить эту проблему.

В error_log появляются ошибки (скорее предупреждения) такого плана:

Код
[Sat May 17 12:49:00 2014] [error] [client 217.69.133.30] PHP Deprecated:  Function ereg() is deprecated in /тут_идет_путь_моего_сайта_на_сервере/administrator/components/com_xmap/extensions/com_content.php on line 330


Как я понял, ошибку генерирует компонент карты сайта com_xmap. Конкретно что находится на строке 330 файла com_content.php:
Код
    if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs ) ) {

А весь код, к которому принадлежит приведенный выше кусок, выглядит так:
Код
/** Translate Joomla datestring to timestamp */
    function toTimestamp( &$date ) {
        if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs ) ) {
            return mktime( $regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1] );
        }
        return FALSE;
    }


Проблема, как я понял, в устаревшей функции ereg, которую рекомендуется заметить на preg_match http://ru.php.net/manual/en/function.preg-match.php

Вся проблема в том, что я пхп не знаю, поэтому скорее всего накосячу с кодом. Отсюда моя просьба - помочь исправить выше приведенный код и кинуть пример в соответствии с новыми стардартами PHP 5.3, чтобы я в файле com_content.php проставил правильные значения.


--------------------
Зарабатываю тут, тут и тут
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mmkulikov
mmkulikov
сообщение 17.5.2014, 15:10; Ответить: mmkulikov
Сообщение #2


Старожил
******

Группа: Active User
Сообщений: 2023
Регистрация: 21.9.2012
Из: СССР
Поблагодарили: 587 раз
Репутация:   68  


rom_4,
Код
ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs )

меняем на
Код
preg_match( "/([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})/", $date, $regs )


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rom_4
rom_4
Topic Starter сообщение 17.5.2014, 18:53; Ответить: rom_4
Сообщение #3


трафа много не бывает
******

Группа: Active User
Сообщений: 1448
Регистрация: 9.7.2010
Из: Россия
Поблагодарили: 551 раз
Репутация:   62  


mmkulikov, спасибо, сейчас попробую так сделать. надеюсь в это место и этот файл не потянут за собой другие файлы...

Вроде прошлой ошибки больше не вижу, но вылезла другая (а может и была раньше, тут не берусь утверждать):

Код
[Sat May 17 16:29:07 2014] [error] [client 95.71.92.109] PHP Notice:  Undefined variable: cacheBuf2 in /home....................../components/com_sef/joomsef.php on line 1756


Глянул строку 1756 в joomsef.php, выглядит так:
Код
$doc->$cache($cacheBuf . base64_decode($cacheBuf2), 'component');


И чтобы стало немного понятнее что почем, даю больше кода:
Код
function enabled(&$plugin)
    {
        global $mainframe;
      
        $big = $mainframe->get('sef.global.meta', '');

        $cosi = 'file';
        $cosi = implode($cosi(JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_sef'.DS.'sef.xml'));
        $cosi = md5($cosi);

        if ($big == $cosi) return true;
        else $plugin = $plugin;

        $cosi = 'getDo'.'cument';
        $doc =& JFactory::$cosi();
        $cache = 'getB'.'uffer';
        $cacheBuf =& $doc->$cache('component');

        // $cacheBuf2 =
        'PGRpdj48YSBocmVmPSJodHRwOi8vd3'.
        'd3LmFydGlvLm5ldCIgc3R5bGU9ImZv'.
        'bnQtc2l6ZTogOHB4OyB2aXNpYmlsaX'.
        'R5OiB2aXNpYmxlOyBkaXNwbGF5OiBp'.
        'bmxpbmU7IiB0aXRsZT0iV2ViIGRldm'.
        'Vsb3BtZW50LCBKb29tbGEsIENNUywg'.
        'Q1JNLCBPbmxpbmUgc2hvcCBzb2Z0d2'.
        'FyZSwgZGF0YWJhc2VzIj5Kb29tbGEg'.
        'U0VGIFVSTHMgYnkgQXJ0aW88L2E+PC'.
        '9kaXY+';

        $cache = 'setB'.'uffer';
        $cosi = 'getC'.'md';
        if (JRequest::$cosi('fo'.'rmat') != 'r'.'aw')
        $doc->$cache($cacheBuf . base64_decode($cacheBuf2), 'component');

        return true;
    }


Я так понял, закоментирована переменная // $cacheBuf2, возможно даже моя работа, уже не помню чего за 4 года и где менял. Просто там я так понимаю в base64 ссылка спрятана.

Если я вместо кода:
Код
// $cacheBuf2 =
        'PGRpdj48YSBocmVmPSJodHRwOi8vd3'.
        'd3LmFydGlvLm5ldCIgc3R5bGU9ImZv'.
        'bnQtc2l6ZTogOHB4OyB2aXNpYmlsaX'.
        'R5OiB2aXNpYmxlOyBkaXNwbGF5OiBp'.
        'bmxpbmU7IiB0aXRsZT0iV2ViIGRldm'.
        'Vsb3BtZW50LCBKb29tbGEsIENNUywg'.
        'Q1JNLCBPbmxpbmUgc2hvcCBzb2Z0d2'.
        'FyZSwgZGF0YWJhc2VzIj5Kb29tbGEg'.
        'U0VGIFVSTHMgYnkgQXJ0aW88L2E+PC'.
        '9kaXY+';

пропишу раскомментированный код:
Код
$cacheBuf2 = ' ';

то вопрос решится или нет?
Или в строке 1756 из этой строки
Код
$doc->$cache($cacheBuf . base64_decode($cacheBuf2), 'component');

будет правильнее удалить любое упоминание $cacheBuf2 ? И если удалить, то как это правильно прописать ?


--------------------
Зарабатываю тут, тут и тут
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mmkulikov
mmkulikov
сообщение 17.5.2014, 19:37; Ответить: mmkulikov
Сообщение #4


Старожил
******

Группа: Active User
Сообщений: 2023
Регистрация: 21.9.2012
Из: СССР
Поблагодарили: 587 раз
Репутация:   68  


Цитата(rom_4 @ 17.5.2014, 16:53) *
но вылезла другая (а может и была раньше

Была и раньше :)
Вот ваша "шифрованная" переменная в "раскрытом" виде
Код
<div><a href="http://www.artio.net" style="font-size: 8px; visibility: visible; display: inline;" title="Web development, Joomla, CMS, CRM, Online shop software, databases">Joomla SEF URLs by Artio</a></div>

Видать "подаорочек" от "левого" плагина или шаблона :rjunimagu:
Дабы не вникать в весь код (если все-же это надо, вот мой топик)
Перед // $cacheBuf2 = вставьте строчку $cacheBuf2 = '';
И будет в жизни счастье :evrika:

P.S.
Это был подарок от Joomla SEO, SEF URLs and Metadata

Сообщение отредактировал mmkulikov - 17.5.2014, 19:40


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
сообщение 17.5.2014, 20:39; Ответить: andreykashops
Сообщение #5


WordPress is my Life..
******

Группа: Active User
Сообщений: 1426
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Может вернее удалить
Код
. base64_decode($cacheBuf2)
?


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как быстро похудеть мужчине в домашних условиях?
бесплатно, без регистрации, без смс
211 Silverspam 13332 Сегодня, 16:48
автор: Catherine_Molli
Открытая тема (нет новых ответов) Как правильно сделать категории на сайте?
Хелппп!!!
5 norino 615 Сегодня, 16:28
автор: One_on_One
Открытая тема (нет новых ответов) Как установить источник заражения сайтов?
2 kelevra 147 Сегодня, 16:23
автор: Nell
Открытая тема (нет новых ответов) Как привязать меню к кнопке <nav> ?
2 pippak 862 Сегодня, 15:57
автор: Nell
Горячая тема (нет новых ответов) Как заработать новичку?
103 Emeralda 17487 Сегодня, 15:25
автор: vsemmoney


 



RSS Текстовая версия Сейчас: 11.12.2017, 17:34
Дизайн