1 (edited by satsana 2022.10.23 05:41)

Topic: Sat BBcode - панель BB-кодов в форме ответа

Расширение Sat BBcode создаёт панель BB-кодов в форме ответа.

Это далеко не первая такая панель в истории punbb, так что прежде чем рассказывать про неё - я вам её покажу.

https://i.gyazo.com/eca9d0501623102bfa15d03abf4974d4.png
https://i.gyazo.com/14e6ad0546cb364d17d77a629b8fed29.png
https://i.gyazo.com/5c9c11eec51c6d5cc688b5fedcd75df9.png

Про стандартные кнопки рассказывать не буду, их назначение и так очевидно. Расскажу про дополнения.

Шрифты. Все приведённые в списке шрифты в коде страницы будут выводиться в соответствии со стандартами css, т.е. с синонимами для поддержки разных операционных систем.
Цвета. Помимо окрашивания текста в определённый цвет предусмотрен вывод маркированного текста с заданным цветом фона.
Отступы. Сначала я хотела оформить их стилевым отступом в начале абзаца, но потом решила вместо этого сделать невидимый блок заданного размера. Его и в середину текста вставить можно.
Разделитель. Изначально он планировался тегом <hr>, позже был изменён на span с классом hr, чтобы не разрывать абзац.
Смайлики. В расширение входит набор смайлов, позаимствованных в сообществе Колобок (kolobok.us), автор большинства из них - Манцуров Иван, он же Aiwan. При установке этого расширения вам придётся отказаться от других отвечающих за смайлы расширений. Код, отвечающий за набор смайлов, можно найти в папке include в файле smile.php. С одной картинкой можно соотнести несколько ассоциаций, что позволяет подхватить использовавшиеся ранее команды для обозначения эмоций. Смайлы можно разделить на несколько групп (там в коде есть закомментированный кусок, отвечающий за добавление второй группы. Результатом этого станет появление нескольких переключаемых вкладок внутри основного блока смайлов. (Если будете добавлять свои смайлы, обратите внимание, что использовать в обозначениях смайлов апостроф и обратную косую черту нельзя.)
Спойлер. В панели обозначен немного непривычно - книжечкой. И да, отдельное расширение, ответственное за спойлер, тоже можете смело сносить.
Скрытие текста. Тег hide позволяет скрыть текст от гостей и пользователей с количеством сообщений меньше заданного. Администраторы и модераторы текущего раздела будут видеть его содержимое независимо от счётчика сообщений.
Обращение к пользователю. Будьте осторожны, пользователи с непривычки пугаются, когда к ним обращаются с использованием тега you! :р Он обращается к каждому читателю по его логину.
Комментарий. Это тег abbr. Добавляет к тексту комментарий, появляющийся при наведении.

Скрытие лишних кнопок. Если какие-то из этих функций кажутся вам лишними, вы можете легко спрятать соответствующую кнопку на панели. Для этого нужно открыть файл options.php, найти в массиве $sat_bbcodes нужную кнопку и закомментировать параметр title. Вот так:
https://i.gyazo.com/92ca2da4990432bce5bdfda1717958ea.png
Кстати, кнопка "email" действительно скрыта. Можете раскомментировать её title, если она вам нужна - и кнопка появится. Помимо неё там есть ещё две скрытые кнопки, они отвечают за добавление списков (сам список и его пункты). Их я спрятала потому, что у меня в парсере вылезла ошибка, со списками связанная (насколько я поняла, она вылезает при использовании седьмой версии php). Если ваша версия парсера и/или php позволяет использовать списки - можете эти кнопки раскомментировать и использовать.

Расширение фиксит warning, связанный с парсом подписей.
Функция PUNBB.pun_bbcode.insert_text из расширения pun_bbcode сохранена для совместимости с другими расширениями. Разметка самой панели тоже частично сохранена, опять же для совместимости.

This content is available only to registered users.

This content is available only to registered users.

P.S. Изначально оформление панели выглядело так:
https://i.gyazo.com/1f1cc8127f3bcaa5c5cc469a2dd44c10.png
Деление кнопок на группы сохранено, при желании можно поковыряться в стиле, найти там хвост этого оформления, убрать display: contents у #pun_bbcode_buttons .butgroup и display: flex у #pun_bbcode_buttons - и оно станет таким.
Кнопки оформлены не картинками, а шрифтом, так что им без проблем можно поменять цвет под дизайн.

На сегодняшний день существует несколько дополнений к этому расширению:
Sat YouTube - добавляет кнопку "Видео".
Sat HTML - добавляет кнопки "HTML" и "Frame".
Sat Image - расширяет возможности работы с изображениями.

2 (edited by Maara 2021.03.09 02:10)

Re: Sat BBcode - панель BB-кодов в форме ответа

Лайк, подписка (записалась в группу "добровольцы-тестеры")

Первый полет - все работает на отлично.

Замеченные моменты:
~ Если ввести в хайд вместо цифр что-то другое, то хайд все же вставится, но толку от него по сути не будет. Не знаю, критично ли это, на мой взгляд - вообще нет, если человек прочитать текст примечания к текстовому полю не сумеет - это к другому доктору.) Упомянула на всякий случай, может, задумка была иной)

Возможное улучшение:
~ Опциональное выделение адресного обращения к пользователю цветом или форматированием. Поможет отделить момент с конфузом, ибо без форматирования не совсем ясно, обратились ли только к тебе или вообще ко всем. Выделение же поможет снизить степень сомнений для пользователя, уже привыкшего к этой фишке. Конечно, человеку новому, все еще будет сложно, но это уже из области неизбежного) Опять же - необязательно, ведь выделить вручную другим тегом всегда можно)

P.S. смайл с колобком, бьющимся об стену... только из-за него одного стоило переходить на пунбб))

2

3 (edited by satsana 2021.03.09 07:02)

Re: Sat BBcode - панель BB-кодов в форме ответа

Maara wrote:

~ Если ввести в хайд вместо цифр что-то другое, то хайд все же вставится, но толку от него по сути не будет.

По задумке при вводе чего-то помимо цифр должен всталсяться тег без значения. Он от гостей инфу прячет.
https://i.gyazo.com/a34702cf53ef5d591796589c5b69986b.png
https://i.gyazo.com/024d893749df0a858bae4c86d0293e0d.png
https://i.gyazo.com/854dec61b175a9145bdac38c74e777eb.png
У вас не так?

$matches[2]

Maara wrote:

~ Опциональное выделение адресного обращения к пользователю цветом или форматированием.

На самом деле те, кто впервые столкнулся с адресным обращением, всё равно подумают, что обращались именно к ним. : )
Но воткнуть туда селектор для возможности настройки стилем таких обращений - мысль здравая. Включу это в следующую версию. А пока можете у себя заменить в файле options.php 81-ю строчку на:

   return '<span class="you">'.$forum_user['username'].'</span>';

Это даст нам необходимый селектор. В файлик стиля, обитающий в папке style, дописываем стиль, какой нам хочется видеть у этих обращений. Например, я вписала вот такой:

.you {
    font-weight: bold;
    color: mediumblue;
}

И вот вам результат:
https://i.gyazo.com/7764d60207cb21f4e93346f7c21cf0da.png
P.S. Если стиль не обновился - ctrl+F5.


$matches[2]

Maara wrote:

только из-за него одного стоило переходить на пунбб))

А откуда перешли, если не секрет? (А колобки и впрямь хороши... Но их автор и владелец - отнюдь не панбб. Его зовут Манцуров Иван, он же Aiwan. Забыла написать об этом в описании - а надо было. Написала.)

4 (edited by Maara 2021.03.09 07:08)

Re: Sat BBcode - панель BB-кодов в форме ответа

О, гостем не додумалась проверить, только зарегистрированным юзверем... Да, так же)

Дописала код селектора, пасибо! Благодаря этой панельке отпала необходимость во многих нужных плагинах)

Изначально я сидела на майбе, как вы, потом как-то отошла от ролевых дел, сильно болела... сейчас у меня, что называется, второе дыхание, возрождаю материалы по своему миру и хочу нечто красивое сделать) В былые времена еще и диз попробовала бы сама сделать, но сейчас, думаю, закажу у вас на форумд)

Кстати вопросик) вы, случайно, кубики в панельке реализовывать не будете?

P.S. выяснилось, что мой знакомец тоже с вами разговаривал не так давно, как раз на форумд) у него ник такой... наркоманский х)))

P.P.S. либо что-то не работает на этом форуме, либо цитирование новичкам недоступно... что очень удручает(

P.P.P.S. Хороший он человек, этот Иван)) Этот набор мне всегда казался самым... теплым, что ли. Одушевленным)

1

5

Re: Sat BBcode - панель BB-кодов в форме ответа

Maara wrote:

Кстати вопросик) вы, случайно, кубики в панельке реализовывать не будете?

Случайно буду. PunBB_INFO_ICQ/smile Они пойдут отдельным расширением, но наличия этой панели - будут требовать. Я пока не придумала, как они должны выглядеть в рамках punbb. Вероятно, это будет несколько отличаться от того, к чему мы привыкли... У меня же тоже ролевой проект, и там аж две дайсометалки: одна более-менее стандартная, вторая - под ролевую систему Fate Accelerated, и мне они нужны обе!

Maara wrote:

либо цитирование новичкам недоступно...

Вроде, должно быть доступно... Там кнопочка такая всплывает. Но нестабильно как-то... Пожалуй, цитирование я тоже напишу своё.

6

Re: Sat BBcode - панель BB-кодов в форме ответа

satsana wrote:

Случайно буду.  Они пойдут отдельным расширением, но наличия этой панели - будут требовать. Я пока не придумала, как они должны выглядеть в рамках punbb. Вероятно, это будет несколько отличаться от того, к чему мы привыкли... У меня же тоже ролевой проект, и там аж две дайсометалки: одна более-менее стандартная, вторая - под ролевую систему Fate Accelerated, и мне они нужны обе!

Просто шикарно >< обожаю решения все-в-одном и совместимые плагины)) меньше конфликтов и странных багов)

satsana wrote:

Вроде, должно быть доступно... Там кнопочка такая всплывает. Но нестабильно как-то...

Аа, заметила. Там надо осторожно мышкой наводить, если уберешь с нее курсор - сразу уносится за горизонт со скоростью шокированного зайца...

satsana wrote:

Пожалуй, цитирование я тоже напишу своё.

Сразу видно профи))

P.S. А если не секрет, ваш ролевой проект с чем связан? И как его найти? Может, загляну на огонек)

7

Re: Sat BBcode - панель BB-кодов в форме ответа

@Maara, не секрет. Магопанк у нас. Найти можно тут: http://enirin.ru - после переезда, когда я наконец раскачаюсь на него, адрес будет такой же.

8

Re: Sat BBcode - панель BB-кодов в форме ответа

Привет! Пока лучший редактор для этого форума   PunBB_INFO_ICQ/smile
Как бы добавить поддержку тега youtube и было бы все ладушки.
Все моды для ютуба не работают у меня. Редактор Pan SCEditor поддерживает, но там нет таких возможностей как здесь.

1

9

Re: Sat BBcode - панель BB-кодов в форме ответа

wylek wrote:

Как бы добавить поддержку тега youtube и было бы все ладушки.

Добро! Добавлю. Только он наверное будет всё же "видео".

10

Re: Sat BBcode - панель BB-кодов в форме ответа

Что-то долго меня не было... Совсем реал съел. Но я вернулась!
@wylek, я вам обещала ютуб в панельку добавить. Вот он: Sat YouTube - добавление видео-тега в панель Sat BBcode

11

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsana, может как-то совместить с расширением от Visman? Я про медиа, там более расширенные возможности.

12

Re: Sat BBcode - панель BB-кодов в форме ответа

@kirpich, кинь ссылочку на него, если не сложно.

13

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsanahttps://punbb.softplaza.net/t-880.html

14

Re: Sat BBcode - панель BB-кодов в форме ответа

@kirpich, хмм... На первый взгляд - нормально подключается и ни с чем не конфликтует. Однако же действительно не работает... : (( Там скрипт на js, к тому же сокращённый, без комментариев и с названиями переменных вида a, b, c. Это проще наверное у Висмана спросить, почему он может не срабатывать, чем мне пытаться его расковырять. У него по крайней мере есть исходники... А так вроде бы ссылки-то с панелью и без неё ничем друг от друга не отличаются, должен подхватывать...

15

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsana, y него обновления какие-то были на новый год, лучше тут брать свежую версию https://github.com/MioVisman/punbb_exte … va_mediajs

16 (edited by satsana 2021.09.30 10:00)

Re: Sat BBcode - панель BB-кодов в форме ответа

@kirpich, да в любом случае там нет исходника, к тому же у нас с ним слишком разный почерк в скриптах на js. : ( Попробую ему написать, может, поможет разобраться.

Тем временем я пофиксила несколько мелких багов в разметке панели (ссылка в старотовом посте обновлена).

Дополнение sat_youtube также обновлено. На текущий момент в разработке безопасный html в постах и подключение фреймов.

$matches[2]

Исправлено:
Подключение скриптов и смайлов в url-темах, отличающихся от дефолтной.
Отловлен баг, вылезавший на версиях php 7.4 и выше.
Удалены лишние пробелы, вылезавшие в разметке постов.
Скорректирована чистка от пустых абзацев с учётом наличия абзацев с выравниванием и т.п.
Скрипт sva_media.js теперь успешно срабатывает.

Ссылка на скачивание в первопосте обновлена.
Visman, огромное спасибо за помощь с отловом багов!!!

$matches[2]

Ну разумеется, не могла я не накосячить... : ( Подключение русского языка отвалилось. Поправила, ссылка обновлена.
Тем временем - безопасный html в постах реализован! Sat HTML, прошу любить и жаловать. : ))

17

Re: Sat BBcode - панель BB-кодов в форме ответа

Добрый день! А почему скачать нельзя? 404 ошибка

18

Re: Sat BBcode - панель BB-кодов в форме ответа

@Grand91, хороший вопрос! спасибо!

19

Re: Sat BBcode - панель BB-кодов в форме ответа

@Grand91, добрый. Видимо, потому, что там ссылка была на punbb.info. Я её заменила на swiftmanage, теперь должно скачиваться.

20

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsana, @PunBB, скачал, установил  PunBB_INFO_ICQ/thumbsup Шикарная панель, огромное за нее спасибо PunBB_INFO_ICQ/yes

21

Re: Sat BBcode - панель BB-кодов в форме ответа

@Grand91, если найдёте баги - обязательно приносите их сюда. : )

22 (edited by Grand91 2022.07.11 02:05)

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsana, спустя месяцы пользования багов не замечено  PunBB_INFO_ICQ/thumbsup
Только перестало работать расширение от Visman (sva_mediajs) для преобразования ссылок (a-ля ютуб, коуб) в миниатюру. Нет 100% уверенности, что из-за вашего расширения, но за последний год больше ничего не ставил и не менял PunBB_INFO_ICQ/smile Есть возможность как-то сынтегрироваться? Или искать проблему в другом месте и спросить автора расширения sva_mediajs?

$matches[2]

Отбой тревоги, все работает. Либо был какой-то системный глюк, либо человеческий (мой)  PunBB_INFO_ICQ/jokingly

23 (edited by satsana 2022.10.08 07:24)

Re: Sat BBcode - панель BB-кодов в форме ответа

Наверное, лучше поздно, чем никогда...
@Grand91, в изначальной версии такой баг действительно был, но он ещё в прошлом году отловлен. Возможно, у вас была старая версия расширения.

24

Re: Sat BBcode - панель BB-кодов в форме ответа

файл на немецком языке
Deutsche Sprachdatei
German language file
This content is available only to registered users.


Vielen Dank für diese Erweiterung
Спасибо за это расширение

Ich hoffe, dieser Text wurde auch richtig übersetzt von Deutsch auf Russisch

Я надеюсь, что этот текст был правильно переведен с немецкого на русский язык PunBB_INFO_ICQ/smile

1

25

Re: Sat BBcode - панель BB-кодов в форме ответа

@Gerdix, danke für die Lokalisierung. Freut mich, dass dir die Erweiterung gefallen hat. Es wird noch verbessert. (Ich hoffe auch, dass die Übersetzung stimmt.)

Спасибо за локализацию. Я рада, что вам понравилось расширение. Оно ещё будет дорабатываться. (Я тоже надеюсь на правильность перевода.)

26

Re: Sat BBcode - панель BB-кодов в форме ответа

В версии 0.1.5:
- исправлено цитирование скрытого текста - содержимое тега hide вырезается из цитаты;
- ссылки в сообщениях теперь не индексируются, добавлено предупреждение о ссылках, ведущих на сторонние сайты;
- добавлен просмотр поясняющего текста во всплывающем окне;
- добавлена немецкая локализация (автор - Gerdix).

https://i.gyazo.com/9be3b6a9cb970a417d5d656c9fd480ba.png
https://i.gyazo.com/43b96af78ee6b2c5b0639b34d5605468.png

27 (edited by Art 2022.11.18 11:10)

Re: Sat BBcode - панель BB-кодов в форме ответа

Здравствуйте!
Почитал тут про расширения sat_, но поставил пока только sat_bbcode.
Но что-то дружба не сложилась.

Вот, что писал в редакторе (без пробелов слева):
[ code]<?php echo 5?>[ /code]
[ spoiler=Показать]Скрытый текст[ /spoiler]
[ img]Ссылка картинки[ /img]
[ mark=red]Это красный[ /mark]
[ you]


и вот что получил (начало):

Скопировать код
1 <?php echo 5?>

".handle_spoiler_tag($matches[1], $matches[2])."
[img]Ссылка картинки[/img]
$matches[2]
".handle_you_tag().
(конец полученного).


И ещё с php 7.4 пишет:
Deprecated: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in G:\domains\forumDLY\extensions\sat_bbcode\options.php on line 40

28

Re: Sat BBcode - панель BB-кодов в форме ответа

Art wrote:

и вот что получил

Добрый день.
Я так поняла, это всё под седьмой php вылезает? Я до сих пор живу в прошлом веке, под пятой. PunBB_INFO_ICQ/crasy Попробую переключиться на седьмую и поправить всё это дело. Благодарю за баг-репорт!

$matches[2]

Переключилась. Выяснила. что там и в самой платформе на 7ой версии вылезают ворнинги...
40-я сторока в файле options.php будет выглядеть так:

$arg = $arg < 8 ? '8px' : ($arg > 72 ? '72px' : $arg.'px');

Я там ещё кое-что ковыряю сейчас в этом расширении, потом выложу последнюю версию.
В остальном - у меня парсер штатно работает.
https://i.gyazo.com/fd9134cfed42e4e5fa7418a327c71bf9.png
@Art, а у вас стоят ещё какие-нибудь расширения, взаимодействующие с парсером? Может, конфликтует с чем-то?

29

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsana, здравствуйте!
Ещё раз попробовал на 5.4 и 7.4 - одинаково.
Не сработали: abbr, you, hide, spoiler, indent, align=center, hr.
Нормально: code, quote, img, url и смайлик  PunBB_INFO_ICQ/smile
Другие кнопки не пробовал.
Заранее удалил Pan Smiles Bar, BBCode buttons, Spoiler BBcode и, на всякий случай, Pan External Links.
Да, чуть не забыл, база на SQLite3.
Успехов вам, @satsana!

30

Re: Sat BBcode - панель BB-кодов в форме ответа

Art wrote:

Да, чуть не забыл, база на SQLite3.

С базой конфликтовать не должно, оно с ней вообще не взаимодействует...
Загадочно.
А какие вообще расширения стоят? А URL-схема?
У себя я как на 5.4, так и на 7.4 ничего странного кроме того ворнинга в 40ой строке options не вижу.
М, кстати. А версия платформы у вас какая, если она на 7.4 нормально работает? От Висмана? Я её не пробовала...

31 (edited by Art 2022.11.25 13:35)

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsana, у меня пропал домашний сервер вместе с сайтами.
Разберусь с этим и тогда продолжу тестировать ваши дополнения.

Не по теме.
Как на этом форуме ставить лайки? Хочу отметить некоторые сообщения, а кнопки нет.

$matches[2]

Дистрибутивы, на котором тестировал расширение, тоже пропал и выяснить почему не работало останется тайной.
Поставил заново на Windows 7.
- Open Server 5.3.1
- Apache 2.4
- PHP 7.4
- punBB 1.4.6 с оф. сайта (вылезли бяки - поубирал)
- локаль рус (не помню где взял)
- Pun jQuery 1.1.7
- Sat BBcode 0.1.5 (строку 40 исправил)
Больше ничего нет, настройки движка по умолчанию.
Работает нормально и на PHP 7.4 и на PHP 5.4, но если вставить список (li) ручками, то получаем "Fatal error: ... include\parser.php on line 58" на любой версии php.


$matches[2]

И ещё.
На странице admin/settings.php?section=setup было "URL-схема (SEF URLs) для страниц",
а стало "URL-схема (SEF* URLs) для страниц"
Т. е. расширение повлияло и на страницы админки.

1

32 (edited by satsana 2022.11.30 12:03)

Re: Sat BBcode - панель BB-кодов в форме ответа

Art wrote:

URL-схема (SEF URLs) для страниц

Эта надпись прописана в локализации в файле admin_settings.php, и ни к каким расширениям отношения не имеет.

Art wrote:

получаем "Fatal error: ... include\parser.php on line 58" на любой версии php

А вот это в родном парсере платформы ошибка. У меня потому и нет кнопки списков (точнее, она есть, но скрыта), что они не работают. Думала зашить в расширение фикс этого дела, но пока руки не дошли.

Art wrote:

Как на этом форуме ставить лайки?

Под постом внизу-слева зелёная мордочка.

33

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsana, спасибо за "зелёная мордочка"
На моём экране её еле видно.
Но всё равно не получается ставить лайки.
Пишет, что не вхожу в нужную группу.
Интересно, что нужно для перевода?

34

Re: Sat BBcode - панель BB-кодов в форме ответа

Art wrote:

Интересно, что нужно для перевода?

Спасибо, что обратили на это внимание, включил лайки.

1

35 (edited by Art 2022.12.16 09:46)

Re: Sat BBcode - панель BB-кодов в форме ответа

@satsana, мне подправили файл движка и теперь Sat BBcode работает на любой версии php, проверял от 5.4 до 7.4.
Спасибо за хороший модуль!

36

Re: Sat BBcode - панель BB-кодов в форме ответа

satsana wrote:

А вот это в родном парсере платформы ошибка. У меня потому и нет кнопки списков (точнее, она есть, но скрыта), что они не работают. Думала зашить в расширение фикс этого дела, но пока руки не дошли.

Вы разобрались с этой ошибкой?

Я исправил заменой нескольких строк в function preparse_list_tag


Найти (со строки 522 в parser.php из punBB-1.4.6):

function preparse_list_tag($content, $type = '*', &$errors)
{
        global $lang_common;

        if (strlen($type) != 1)
                $type = '*';

        if (strpos($content,'[list') !== false)
        {
                $pattern_callback = '%\[list(?:=([1a*]))?+\]((?:(?>.*?(?=\[list(?:=[1a*])?+\]|\[/list\]))|(?R))*)\[/list\]%is';
                $content = preg_replace_callback($pattern_callback, $callback = function($matches, $errors) {
                    return preparse_list_tag($matches[2], $matches[1], $errors);
        }, $content);

Заменить на:

function preparse_list_tag($content, $type, &$errors)
{
        global $lang_common;

        if (null === $type || strlen($type) != 1)
                $type = '*';

        if (strpos($content,'[list') !== false)
        {
                $pattern_callback = '%\[list(?:=([1a*]))?+\]((?:(?>.*?(?=\[list(?:=[1a*])?+\]|\[/list\]))|(?R))*)\[/list\]%is';
                $content = preg_replace_callback($pattern_callback, function ($matches) use (&$errors) {
                        return preparse_list_tag($matches[2], $matches[1], $errors);
                }, $content);

Взято в парсере из сборки от Visman PunBB 1.4.4

1