Исправляем bbcode.lib.php (email_2html)

Автор:
Опубликовано: 602 дня назад (29 сентября 2010)
Рубрика: Без рубрики
Редактировалось: 2 раза — последний 29 сентября 2010
+8
Голосов: 8
Файл, который мы правим: /includes/bbcode/bbcode.lib.php

При использование бб-тэгов ’email’ в комменатриях возникает следующая ошибка
Warning: call_user_func(bbcode::email_2html) [function.call-user-func]: First argument is expected to be a valid callback in /путь/includes/bbcode/bbcode.lib.php on line 981

Ошибка в том, что для email используется обработчик email_2html, однако его просто нет в этом файле.
Код PHP:
            'email' => array(
                    'handler' => 'email_2html',
                    'is_close' => false,
                    'lbr' => 0,
                    'rbr' => 0,
                    'ends' => array('*','align','code','video', 'audio', 'hide','h1','h2','h3','hr',
                        'list','php','quote','table','td','th','tr'),
                    'permission_top_level' => true,
                    'children' => array('b','color','email','font','i','img',
                        'nobb','s','size','sub','sup','tt','u')
                ),
Поэтому мы его быстро допишем:
Код PHP:
     function email_2html($elem) {
     return '<a href="mailto:'.$this -> get_html($elem['val']).'">'.$this -> get_html($elem['val']).'</a>';
     }
Вставить это код можно после любого из других обработчиков, например после:
Код PHP:
    // Функция - обработчик тега [u]
    function u_2html($elem) {
        return '<u>'.$this -> get_html($elem['val']).'</u>';
    }
Анти-спам (практическая часть) | Улучшение messages.php для 1.6.* и 1.7.
Теги: bb
Hmelex # 29 сентября 2010 в 14:07 0
Я конечно мало поняла, но мне кажется дополнение хорошое.
Fuze # 29 сентября 2010 в 14:28 0
закоммител