Re: Предложение к будущей версии :)
понятно
я сделал пул реквест с комментами - до сих пор висит вроде.
просто как мне тогда по следующей фиче делать?
если я закомичу новые изменения - они появятся в том же пул реквесте?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
PunBB по-русски → Новости и релизы → Предложение к будущей версии :)
понятно
я сделал пул реквест с комментами - до сих пор висит вроде.
просто как мне тогда по следующей фиче делать?
если я закомичу новые изменения - они появятся в том же пул реквесте?
Otto.Zukamoto, делать нужно так, если не ошибаюсь:
1. Делаете себе Fork с текущего master PunBB/
2. Делаете у себя после этого Branch и в него вносите все нужные изменения.
3. Делаете с этого Branch Pull request в master PunBB.
4. Повторяете пункты 2-3 для каждого Pull requests.
Если вы добавите новый commit в уже от'Pull request'еный Branch, то он там отобразится.
понятно
я сделал пул реквест с комментами - до сих пор висит вроде.
Я не часто просматриваю, другие товарищи давно болт положили. Как будет время, просмотрю.
hcs, (Please log in or register to see this URL)
Добавлены модификаторы D для однозначного определения конца текста (Please log in or register to see this URL) ;
Убраны модификаторы m в парсере, так как они не имеют смысла в этих регулярных выражениях;
Изменена регулярка обрабытывающая бб-код quote с параметром. Более строго проверяется параметр.
В юзерах (админка) убран недочет регулярки.
кстати, расширениям было бы очень неплохо иметь возможность показывать свою картинку, чтобы в списке расширений было легче ориентироваться
Добавлено спустя 1 минуту 16 секунд:
Visman, я правильно понимаю, что для quote preg_replace_callback не нужен?
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, надо на мой парсер переходить
Пример
[quote="[quote]dddd[/quote]"]dddddddddddddddd[/quote]
[quote="[i]dddd[/i]"]dddddddddddddddd[/quote]
-->
Твой парсер - твой пулл-реквест?
hcs, нет Вот (Please log in or register to see this URL)
P.S. 6 примеров из предыдущего сообщения это мой пулл-реквест так работает. Те же 6 примеров проверенные тут на форуме дают аналогичный результат.
Добавлено спустя 35 минут 17 секунд:
hcs, нашел у себя ошибку.
[quote="][i]"]dd[/i]dd[/quote]
-->
] пишет
dddd
Так что пулл реквест не стоит принимать.
кстати, расширениям было бы очень неплохо иметь возможность показывать свою картинку, чтобы в списке расширений было легче ориентироваться
Добавлено спустя 1 минуту 16 секунд:
Visman, я правильно понимаю, что для quote preg_replace_callback не нужен?
я пока добавил issue = сделаю как будет время
hcs, а почему этот реквест (Please log in or register to see this URL) не принимается?
Судя по (Please log in or register to see this URL)
'HTTPS'
Принимает непустое значение, если запрос был произведен через протокол HTTPS.
логика верная.
Непринимаю, потомучто не могу проверить.
если переделывать парсер - может на xml или html?
типа заменяем квадратные скобки на угловые фильтруем лишние теги и атрибуты...
Добавлено спустя 1 минуту:
есть либа для фильтрования (Please log in or register to see this URL)
Что то я не уловил смысл, от слова совсем.
идея была - 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 секунды:
примеш такой пулреквест?
Я не понял смысла парсера на базе хмл. Кстати по поводу парсера, Сэм Кларк, автор cs_wysywig, делал новый парсер, у него весьма неплохая реализация, рекомендую посмотреть.
По поводу переопределения функций предложенный вариант мне не кажется продуманным. К примеру как будет развиваться ситуация при наличии 2 расширений желающих переопределить функции? Если речь сугубо о действиях вебмастера, то ему ничто не мешает тупо вписать свой код. Т.е. тут пока не просматривается потребность в такой универсальности. Может быть ты пояснишь живым примером, продиктовавшим тебе это решение?
Кстати по поводу парсера, Сэм Кларк, автор cs_wysywig, делал новый парсер, у него весьма неплохая реализация, рекомендую посмотреть.
hcs, разве он его давным давно не забросил? Это же он (Please log in or register to see this URL) ?
Он. Неважно что забросил, хорошая работа проделана.
hcs, криво работает
$parser = new \SBBCodeParser\Node_Container_Document();
echo $parser->parse('[quote="[b]имя[/b]"]цитата[/quote]')
->get_html();
Результат html
[quote="<strong>имя</strong>"]цитата[/quote]
Один из вариантов своего парсера делал по аналогии, то есть теги не в массиве, а как дерево классов. Удобно конечно, но медленнее шевелится.
Согласен, скорость отдыхает, что критично.
Я не понял смысла парсера на базе хмл. Кстати по поводу парсера, Сэм Кларк, автор cs_wysywig, делал новый парсер, у него весьма неплохая реализация, рекомендую посмотреть.
По поводу переопределения функций предложенный вариант мне не кажется продуманным. К примеру как будет развиваться ситуация при наличии 2 расширений желающих переопределить функции? Если речь сугубо о действиях вебмастера, то ему ничто не мешает тупо вписать свой код. Т.е. тут пока не просматривается потребность в такой универсальности. Может быть ты пояснишь живым примером, продиктовавшим тебе это решение?
это не для расширений. нужно по быстрому менять код некоторых функций без изменения кода движка.
т.е. через расширения такие системные функции никак не изменить.
такая возможность реализована в темах Wordpress.
ладно - код вроде не такой сложный. можно и сразу в файле поменять.
Добавлено спустя 2 минуты 51 секунду:
Я не понял смысла парсера на базе хмл. Кстати по поводу парсера, Сэм Кларк, автор cs_wysywig, делал новый парсер, у него весьма неплохая реализация, рекомендую посмотреть.
По поводу переопределения функций предложенный вариант мне не кажется продуманным. К примеру как будет развиваться ситуация при наличии 2 расширений желающих переопределить функции? Если речь сугубо о действиях вебмастера, то ему ничто не мешает тупо вписать свой код. Т.е. тут пока не просматривается потребность в такой универсальности. Может быть ты пояснишь живым примером, продиктовавшим тебе это решение?
xml парсер работает быстрее и имеет валидацию структуры кода.
легко применить для внедрения новых html снипетов.
что как мне каждется намного упрощает реализацию bbcode парсера.
Добавлено спустя 21 минуту 13 секунд:
hcs, а тогда как насчет добавления в функцию get_hook
(Please log in or register to see this URL)
строку
($hook = get_hook('get_hook')) ? eval($hook) : null;
?
хочу запилить в расширении вывод хуков страницы
для дебага полезная фича - но пока не осуществима т.к. в данной функции нельзя применить хуки
(Please log in or register to see this URL)
Добавлено спустя 23 минуты 34 секунды:
написал бред - там получится рекурсивный вывод
Добавлено спустя 29 минут 29 секунд:
может флаг тогда сделать и в коде прописать дебаг инструкцию?
(Please log in or register to see this URL)
if (defined("FORUM_DEBUG")) {
echo "<script>console.log(HOOK: " . $hook_id . ");</script>"; // выводить отладочную инфу
}
Дебаг сделать пожалуй можно, только не в консоль js, а в общий дебаг
PunBB по-русски → Новости и релизы → Предложение к будущей версии :)
Форум работает на PunBB, при поддержке Informer Technologies, Inc