Страница 1 из 5

Convert Local Url To Link Name

Добавлено: 18 окт 2014, 23:07
HAMMER663
Расширение позволяет преобразовывать внутренние ссылки типа
http://your_board/viewtopic(forum).php?f=1&t=1
http://your_board/faq.php#(num)
http://your_board/rules/?#rule(num)
http://wiki.wikiurl.com/Main_Page
в ссылки вида

Код: Выделить всё

[url=[i]http://your_board/viewtopic(forum).php?f=1&t=1[/i]]Топик (Форум)[/url]
[url=http://your_board/faq.php#(num)]FAQ num[/url]
[url=http://your_board/rules/?#rule(num)]Правила Пункт num[/url]
[url=http://wiki.wikiurl.com/Wiki_page]Wiki page[/url]
Так же в админке имеется возможность отключить преобразование ссылок
Для работы мода требуется произвести правку файла posting.php (скоро событие будет в ядре)
Найти

Код: Выделить всё

    // Grab md5 'checksum' of new message
Добавить перед

Код: Выделить всё

    /**
    * This event allows you to modify message text before parsing
    *
    * @event core.posting_modify_message_text
    * @var    array    post_data    Array with post data
    * @var    string    mode        What action to take if the form is submitted
    *                post|reply|quote|edit|delete|bump|smilies|popup
    * @var    int    post_id        ID of the post
    * @var    int    topic_id    ID of the topic
    * @var    int    forum_id    ID of the forum
    * @var    bool    submit        Whether or not the form has been submitted
    * @var    bool    preview        Whether or not the post is being previewed
    * @var    bool    save        Whether or not a draft is being saved
    * @var    bool    load        Whether or not a draft is being loaded
    * @var    bool    delete        Whether or not the post is being deleted
    * @var    bool    cancel        Whether or not to cancel the form (returns to
    *                viewtopic or viewforum depending on if the user
    *                is posting a new topic or editing a post)
    * @var    bool    refresh        Whether or not to retain previously submitted data
    * @var    object    message_parser    The message parser object
    * @since 3.1.0-RC6
    */
    $vars = array(
        'post_data',
        'mode',
        'post_id',
        'topic_id',
        'forum_id',
        'submit',
        'preview',
        'save',
        'load',
        'delete',
        'cancel',
        'refresh',
        'message_parser',
    );
    extract($phpbb_dispatcher->trigger_event('core.posting_modify_message_text', compact($vars)));
https://tracker.phpbb.com/browse/PHPBB3-13182
https://github.com/phpbb/phpbb/pull/3043

Ссылка на репозиторий: https://github.com/HAMMER663/ConvertLocalUrlToLinkName

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 01:21
Alecto
Урааа !! Даже спать не буду! Пошёл тестировать!

Отправлено спустя 7 минут 1 секунду:
после внесения вот этого изменения в постинг.пхп
HAMMER663 писал(а):QR_BBPOST Добавить перед
при отправке сообщений и предпросмотре
Общая ошибка
Language file ./ext/hammer663\ConvertLocalUrlToLinkName/language/ru/convert_local_url.php couldn't be opened.
+ в БО Татьяны - ошибка аякса.
Ошибка AJAX

Service Unavailable
Отправлено спустя 4 минуты 50 секунд:
кстати, еще было бы полезно парсить прямые ссылки на сообщения вида (может такое уже есть? проверить не смог)

Код: Выделить всё

http://site/viewtopic.php?p=XXXX#pYYYY
и ссылки на профили пользователей.

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 09:09
rxu
Alecto писал(а):QR_BBPOST при отправке сообщений и предпросмотре
Слэш в обратную сторону, надо

Код: Выделить всё

$this->user->add_lang_ext('hammer663/ConvertLocalUrlToLinkName', 'convert_local_url');
Вторая ошибка может быть следствием первой.

Отправлено спустя 2 часа 21 минуту 15 секунд:

Код: Выделить всё

ñonvert_local_url_to_link_name
Странный первый символ в имени функции.

Отправлено спустя 19 минут 11 секунд:
А также куча неиспользуемых сервисов осталась из "болванки", видимо, типа pagination и прочие. Можно удалять, дабы не перегружать слушатель.

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 12:34
HAMMER663
Спасибо. Все исправлю

Отправлено спустя 2 часа 5 минут 2 секунды:
Alecto писал(а):QR_BBPOST кстати, еще было бы полезно парсить прямые ссылки на сообщения вида (может такое уже есть? проверить не смог)
Такое есть.
Alecto писал(а):QR_BBPOST ссылки на профили пользователей.
и это есть
rxu писал(а):QR_BBPOST Слэш в обратную сторону
Исправил. И лишние сервисы убрал
rxu писал(а):QR_BBPOST Странный первый символ в имени функции
UTF-8 без bom забыл :D

Устранил еще мелкие ошибочки https://github.com/HAMMER663/ConvertLoc ... master.zip

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 12:41
rxu
HAMMER663, можно взять travis.yml в одном из моих репо, отредактировать его под свое расширение (там только имя сменить), активировать свой репо на travis.org и тогда код будет автоматом тестироваться в превалидаторе.
В теме расписано viewtopic.php?f=5&t=62 и файл там же прикреплен.

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 13:00
HAMMER663
rxu, хорошо, сделаем :)

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 13:02
rxu
Ну вот, сразу недостатки видно. В основном, лишние пробелы в конце строк.
В одном файле нет пустой строки в конце, в другом закрывающий тег PHP надо убрать.

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 13:10
HAMMER663
Закрывающийся тег php это я конечно махнул :lol:
Пока еще не разобрался как пользоваться этой штукой.

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 13:17
rxu
В репо можно перейти к списку веток branches.
Там в списке с правой стороны будет индикатор результата тестов - зеленая галка, жетлый круг (тесты в процессе) или красный крест.
Кликаем на этот знак, переходим непосредственно к результатам данного билда. В списке тестов находим красные - т.е. которые завершились ошибкой. Кликаем, например, на 2.8, скроллим вниз, читаем ошибки.

Convert Local Url To Link Name

Добавлено: 19 окт 2014, 14:16
HAMMER663
Наконец-то я закончил удалять все лишние пробелы :?