126

Re: Предложение к будущей версии :)

понятно

я сделал пул реквест с комментами - до сих пор висит вроде.

просто как мне тогда по следующей фиче делать?
если я закомичу новые изменения - они появятся в том же пул реквесте?

Сайт Otto.Zukamoto

Поделиться

127

Re: Предложение к будущей версии :)

Otto.Zukamoto, делать нужно так, если не ошибаюсь:
1. Делаете себе Fork с текущего master PunBB/
2. Делаете у себя после этого Branch и в него вносите все нужные изменения.
3. Делаете с этого Branch   Pull request в master PunBB.
4. Повторяете пункты 2-3 для каждого Pull requests.
Если вы добавите новый commit в уже  от'Pull request'еный Branch, то он там отобразится.

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

128

Re: Предложение к будущей версии :)

ок. понятно.

Сайт Otto.Zukamoto

Поделиться

129

Re: Предложение к будущей версии :)

Otto.Zukamoto пишет:

понятно

я сделал пул реквест с комментами - до сих пор висит вроде.

Я не часто просматриваю, другие товарищи давно болт положили. Как будет время, просмотрю.

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

130

Re: Предложение к будущей версии :)

hcs, https://github.com/punbb/punbb/pull/137

  • Добавлены модификаторы D для однозначного определения конца текста http://php.net/manual/ru/reference.pcre … ifiers.php ;

  • Убраны модификаторы m в парсере, так как они не имеют смысла в этих регулярных выражениях;

  • Изменена регулярка обрабытывающая бб-код quote с параметром. Более строго проверяется параметр.

  • В юзерах (админка) убран недочет регулярки.

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

131

Re: Предложение к будущей версии :)

https://github.com/punbb/punbb/pull/139

Сайт Otto.Zukamoto

Поделиться

132

Re: Предложение к будущей версии :)

кстати, расширениям было бы очень неплохо иметь возможность показывать свою картинку, чтобы в списке расширений было легче ориентироваться

Добавлено спустя 1 минуту 16 секунд:

Visman,  я правильно понимаю, что для quote preg_replace_callback не нужен?

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

133

Re: Предложение к будущей версии :)

hcs, я переписал preg_replace_callback просто в preg_replace. Отличий в поведении не заметил при тестировании.
Вот только думаю зачем в оригинале шла замена символа [ на его код html [.
Сейчас приходит идея, что для не допускания бб-кодов внутри параметра!? Проверю, отпишусь.

Добавлено спустя 9 минут 22 секунды:

hcs, вот что выходит с моим вариантом:
1.

[quote="[i]dddd[/i]"]dddddddddddddddd[/quote]

-->

Внимание! Исправьте следующие ошибки, чтобы добавить сообщение:

    Найден тег [/i] без соответствующего [i]

2.

[quote="[ i]dddd[ /i]"]dddddddddddddddd[/quote]

-->

[ i]dddd[ /i] пишет

    dddddddddddddddd

3.

[quote="[i]dddd[ /i]"]dddddddddddddddd[/quote]

-->

[i]dddd[ /i] пишет

    dddddddddddddddd

4.

[quote="[i]dddd
[ /i]"]dddddddddddddddd[/quote]

-->

"[i пишет

    dddd
    [ /i]"]dddddddddddddddd

5.

[quote="[i
]dddd[ /i]"]dddddddddddddddd[/quote]

-->

Внимание! Исправьте следующие ошибки, чтобы добавить сообщение:

    Найден тег [/quote] без соответствующего [quote]

Добавлено спустя 23 минуты 13 секунд:

hcs, надо на мой парсер переходить wink
Пример

[quote="[quote]dddd[/quote]"]dddddddddddddddd[/quote]

[quote="[i]dddd[/i]"]dddddddddddddddd[/quote]

-->
http://jpegshare.net/images/a8/91/a8912aa03f0252122613f5871ce1d158.png

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

134

Re: Предложение к будущей версии :)

Твой парсер - твой пулл-реквест?

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

135

Re: Предложение к будущей версии :)

hcs, нет smile Вот https://github.com/MioVisman/Parserus

P.S. 6 примеров из предыдущего сообщения это мой пулл-реквест так работает. Те же 6 примеров проверенные тут на форуме дают аналогичный результат.

Добавлено спустя 35 минут 17 секунд:

hcs, нашел у себя ошибку.

[quote="][i]"]dd[/i]dd[/quote]

-->

] пишет

    dddd

Так что пулл реквест не стоит принимать.

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

136

Re: Предложение к будущей версии :)

create_function() предлагают сделать устаревшей с PHP 7.2 https://wiki.php.net/rfc/deprecations_php_7_2

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

137

Re: Предложение к будущей версии :)

hcs пишет:

кстати, расширениям было бы очень неплохо иметь возможность показывать свою картинку, чтобы в списке расширений было легче ориентироваться

Добавлено спустя 1 минуту 16 секунд:

Visman,  я правильно понимаю, что для quote preg_replace_callback не нужен?

я пока добавил issue = сделаю как будет время

Сайт Otto.Zukamoto

Поделиться

138

Re: Предложение к будущей версии :)

hcs, а почему этот реквест https://github.com/punbb/punbb/pull/128 не принимается?

Судя по http://php.net/manual/ru/reserved.variables.server.php

'HTTPS'
    Принимает непустое значение, если запрос был произведен через протокол HTTPS.

логика верная.

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

139

Re: Предложение к будущей версии :)

Непринимаю, потомучто не могу проверить.

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

140

Re: Предложение к будущей версии :)

если переделывать парсер - может на xml или html?

типа заменяем квадратные скобки на угловые фильтруем лишние теги и атрибуты...

Добавлено спустя 1 минуту:

есть либа для фильтрования http://htmlpurifier.org/

Сайт Otto.Zukamoto

Поделиться

141

Re: Предложение к будущей версии :)

Otto.Zukamoto пишет:

если переделывать парсер - может на xml или html?

типа заменяем квадратные скобки на угловые фильтруем лишние теги и атрибуты...

Добавлено спустя 1 минуту:

есть либа для фильтрования http://htmlpurifier.org/

Что то я не уловил смысл, от слова совсем.

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

142

Re: Предложение к будущей версии :)

идея была - bbcode parser делать на базе xml.

Добавлено спустя 7 минут 14 секунд:

нужен механизм для переопределения функций punbb

добавляем в essentials.php

if (is_readable(FORUM_ROOT.'include/user/functions.php')) {
 require FORUM_ROOT.'include/user/functions.php'
}
require FORUM_ROOT.'include/functions.php';

пример для get_hook в include/user/functions.php

function get_hook($hook_id)
{
    global $forum_hooks;

// тут чтото делаем
    return !defined('FORUM_DISABLE_HOOKS') && isset($forum_hooks[$hook_id]) ? implode("\n", $forum_hooks[$hook_id]) : false;
}

конечно для каждой функции в include/functions.php придется добавить проверку
if (!function_exists("get_hook")) {
//...
}

но это можно делать постепенно

hcs,
что думаешь?

Добавлено спустя 8 минут 2 секунды:

примеш такой пулреквест?

Сайт Otto.Zukamoto

Поделиться

143

Re: Предложение к будущей версии :)

Я не понял смысла парсера на базе хмл. Кстати по поводу парсера, Сэм Кларк, автор cs_wysywig, делал новый парсер, у него весьма неплохая реализация, рекомендую посмотреть.

По поводу переопределения функций предложенный вариант мне не кажется продуманным. К примеру как будет развиваться ситуация при наличии 2 расширений желающих переопределить функции? Если речь сугубо о действиях вебмастера, то ему ничто не мешает тупо вписать свой код. Т.е. тут пока не просматривается потребность в такой универсальности. Может быть ты пояснишь живым примером, продиктовавшим тебе это решение?

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

144

Re: Предложение к будущей версии :)

Кстати по поводу парсера, Сэм Кларк, автор cs_wysywig, делал новый парсер, у него весьма неплохая реализация, рекомендую посмотреть.

hcs, разве он его давным давно не забросил? Это же он https://github.com/samclarke/SBBCodeParser ?

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

145

Re: Предложение к будущей версии :)

Он. Неважно что забросил, хорошая работа проделана.

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

146

Re: Предложение к будущей версии :)

hcs, криво работает smile

$parser = new \SBBCodeParser\Node_Container_Document();
echo $parser->parse('[quote="[b]имя[/b]"]цитата[/quote]')
    ->get_html();

Результат html

[quote=&quot;<strong>имя</strong>&quot;]цитата[/quote]

Один из вариантов своего парсера делал по аналогии, то есть теги не в массиве, а как дерево классов. Удобно конечно, но медленнее шевелится.

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

147

Re: Предложение к будущей версии :)

Согласен, скорость отдыхает, что критично.

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

148

Re: Предложение к будущей версии :)

hcs пишет:

Я не понял смысла парсера на базе хмл. Кстати по поводу парсера, Сэм Кларк, автор cs_wysywig, делал новый парсер, у него весьма неплохая реализация, рекомендую посмотреть.

По поводу переопределения функций предложенный вариант мне не кажется продуманным. К примеру как будет развиваться ситуация при наличии 2 расширений желающих переопределить функции? Если речь сугубо о действиях вебмастера, то ему ничто не мешает тупо вписать свой код. Т.е. тут пока не просматривается потребность в такой универсальности. Может быть ты пояснишь живым примером, продиктовавшим тебе это решение?

это не для расширений. нужно по быстрому менять код некоторых функций без изменения кода движка.
т.е. через расширения такие системные функции никак не изменить.
такая возможность реализована в темах Wordpress.
ладно - код вроде не такой сложный. можно и сразу в файле поменять.

Добавлено спустя 2 минуты 51 секунду:

hcs пишет:

Я не понял смысла парсера на базе хмл. Кстати по поводу парсера, Сэм Кларк, автор cs_wysywig, делал новый парсер, у него весьма неплохая реализация, рекомендую посмотреть.

По поводу переопределения функций предложенный вариант мне не кажется продуманным. К примеру как будет развиваться ситуация при наличии 2 расширений желающих переопределить функции? Если речь сугубо о действиях вебмастера, то ему ничто не мешает тупо вписать свой код. Т.е. тут пока не просматривается потребность в такой универсальности. Может быть ты пояснишь живым примером, продиктовавшим тебе это решение?

xml парсер работает быстрее и имеет валидацию структуры кода.
легко применить для внедрения новых html снипетов.
что как мне каждется намного упрощает реализацию bbcode парсера.

Добавлено спустя 21 минуту 13 секунд:

hcs, а тогда как насчет добавления в функцию get_hook

https://github.com/punbb/punbb/blob/mas … s.php#L787

строку

($hook = get_hook('get_hook')) ? eval($hook) : null;

?

хочу запилить в расширении вывод хуков страницы
для дебага полезная фича - но пока не осуществима т.к. в данной функции нельзя применить хуки

https://github.com/rivetweb/punbb-ext-h … v/issues/3

Добавлено спустя 23 минуты 34 секунды:

написал бред - там получится рекурсивный вывод

Добавлено спустя 29 минут 29 секунд:

может флаг тогда сделать и в коде прописать дебаг инструкцию?

https://github.com/punbb/punbb/blob/mas … s.php#L787

if (defined("FORUM_DEBUG")) {
  echo "<script>console.log(HOOK: " . $hook_id . ");</script>"; // выводить отладочную инфу
}

Сайт Otto.Zukamoto

Поделиться

149

Re: Предложение к будущей версии :)

Дебаг сделать пожалуй можно, только не в консоль js, а в общий дебаг

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

150

Re: Предложение к будущей версии :)

https://github.com/punbb/punbb/issues/143

надо?

Сайт Otto.Zukamoto

Поделиться