Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Поддержка расширений, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с расширениями для phpBB, кроме относящихся к форуму Для авторов.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.2.x | FAQ | Внимание! Прежде чем создать тему - прочти! | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Gubkin
phpBB 2.0.16
Сообщения: 1086
Стаж: 9 лет 4 месяца
Благодарил (а): 225 раз
Поблагодарили: 107 раз

[3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение Gubkin »

Страница https://www.phpbb.com/customise/db/exte ... ediaembed/
гитхаб https://github.com/phpbb-extensions/mediaembed/

перевод [Русский перевод расширения] phpBB Media Embed PlugIn

Странно, ставил версию 1.0.1 ещё в августе Re: [3.1/3.2] videobbredy - адаптивный bb код видео
теперь эта же самая версия уже не работат

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

смотрю там правка была какая-то недавно
может в этом причина
у меня 3.2.1 и php 7.0
какие требования не выполнены ?
ЗЫ. Как не релиз оф.расширения, так сразу проблемы :)

FAQ

Вопрос: как добавить собственный сайт?
Устаревшее: 
Ответ: на примере одноклассников

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

OPEN
\ext\phpbb\mediaembed\event\main_listener.php

FIND
		/** @var \s9e\TextFormatter\Configurator $configurator */
		$configurator = $event['configurator'];

AFTER, ADD
		$configurator->MediaEmbed->add(
			'ok',
			[
				'host'    => 'ok.ru',
				'extract' => [
					'!ok.ru/video/(?<id>\\d+)!',
					'!ok.ru/live/(?<id>\\d+)!',
				],
				'iframe'  => ['src' => 'https://ok.ru/videoembed/{@id}']
			]
		);
Очистить кэш конференции. Пользоваться.
Начиная с версии 1.1.0:
Определения дополнительных сайтов расположены в файлах YAML с расширением yml в директории ext/phpbb/mediaembed/collection/sites/. Создавать собственные определения сайтов можно по примеру тех, что находятся в данной директории (скопировать, переименовать, отредактировать в соответствии с инструкциями ниже).
Структура файла на примере YouTube:

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

name: YouTube
host: youtube.com
example: https://youtube.com/watch?v=123456789
extract: "!youtube\\.com/watch\\?v=(?'id'[-0-9A-Z_a-z]+)!"
iframe:
    width: 560
    height: 315
    src: http://www.youtube.com/embed/{@id}
  • Создайте файл с расширением yml и именем латинскими буквами в нижнем регистре, например youtube.yml
  • Заполните необходимые поля:
    • name: имя сайта, отображаемое в администраторском разделе в разделе "Управление сайтами" в закладке "Сообщения".
    • host: основной домен сайта.
    • example: необязательное но полезное поле - пример ссылки на встраиваемый контент сайта.
    • extract: регулярное выражение для экстракции идентификатора встраиваемого контента из ссылки.
    • iframe: параметры элемента iframe, в котором будет размещен встраиваемый контент сайта:
      • src: исходная ссылка, используемая сайтом для встраивания контента в другие ресурсы. Обратите внимание, что идентификатор {@id} должен находиться в правильном месте ссылки.
      • ширина и высота элемента - необязательные поля.
Полезные инструменты для проверки правильности синтаксиса YAML:
YAML Validator
The YAML Format
Complete idiot's intro to yaml

Как использовать новый сайт:
  • скопируйте новый файл .yml в папку ext/phpbb/mediaembed/collection/sites/
  • имя сайта должно отобразиться в администраторском разделе в разделе "Управление сайтами" в закладке "Сообщения".
  • поставьте "галочку" напротив имени нового сайта и сохраните изменения.
Если файл .yml содержит ошибки синтаксиса, вы получите ошибку в работе конференции. Если регулярное выражение неверное и идентификатор контента не определяется, вставка не произойдет.
Ещё один тупой вопрос и будете забанены. К гуру надо приходить подготовленными, а не как Вы. Вчера создали форум с парой постов, а сегодня уже 20 вопросов )))
Аватара пользователя
ReXtor
phpBB 2.0.0
Сообщения: 232
Стаж: 2 года 3 месяца
Откуда: Сибирь
Благодарил (а): 65 раз
Поблагодарили: 75 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение ReXtor »

После добавления обработчика ссылок для треков Яндекс.Музыки, попытался таким же образом добавить обработчик и на альбомы, сделав новый. Но возникло много проблем.

> Сначала второй обработчик начал мешать первому. Показалось что это происходит потому что ссылки на альбомы начинаются также как и ссылки на треки: https://music.yandex.ru/album/5307396
В итоге, если делаем второй - он начинает обрабатывать в том числе и ссылки на треки вида https://music.yandex.ru/album/5307396/track/38633706

> Пытался победить это при помощи регулярки, дошел до относительно рабочего варианта вида extract: "!//music.yandex.ru/album/(?'aid'\\d+[^/])+$!", но он по прежнему мешает аддону для ссылок на треки.

> Но, вероятно конфликт возникает из-за одинаковых host: music.yandex.ru в YML-файле и видимо нужно делать один такой аддон. Но тут встает проблема с разными адресами и размерами фреймов. Для треков у нас адрес фрейма //music.yandex.ru/iframe/#track/{@tid}/{@aid},
а для альбомов //music.yandex.ru/iframe/#album/{@aid}. Также имеет место разница в размерах фрейма - для треков удобнее использовать по высоте минимальные 100px, а для альбомов стандартные 450px.

Я не знаю возможно ли через один аддон реализовать разные адреса фреймов в src: , может быть там тоже поддерживаются регэкспы, но даже если и да, то такую сложную конструкцию я пока не могу осилить.

Отправлено спустя 33 минуты 47 секунд:
Опытным путем было выяснено, что несколько аддонов с одним и тем же host: music.yandex.ru мешают работе друг друга.
Я добавил к себе также аддон, который заточен под третий вид - плейлисты, но уже с совсем другой с регуляркой вида extract: "!//music.yandex.ru/users/(?'uid'\\w+)/playlists/(?'pid'\\d+)!" и там используется фрейм src: //music.yandex.ru/iframe/#playlist/{@uid}/{@pid}, но он ломает работу Yandex Music (track).

Значит нужно искать вариант с добавлением всех типов через один аддон (yml-файл). В документации на Media Embed Plugin, к сожалению ничего похожего не наблюдаю. Кто на англицком шпрехает - можете спросить в официальной теме по этому вопросу? Интересует, возможно ли определять формат src: на основании того, что мы можем получить через регексп в extract:?

Отправлено спустя 53 минуты 2 секунды:
По-сути мы имеем вот что:

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

https://music.yandex.ru/album/5307396/track/38633706 - раз вариант.
https://music.yandex.ru/album/5307396 - два вариант
https://music.yandex.ru/users/ReXtor/playlists/1000 - три вариант

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

то, что после album - @aid
то, что после track - @tid
то, что после users - @uid
то, что после playlists - @pid
Нужно чтобы это в том же порядке оно впихивалось в вот такое:

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

//music.yandex.ru/iframe/#track/{@tid}/{@aid}
//music.yandex.ru/iframe/#album/{@aid}
//music.yandex.ru/iframe/#playlist/{@uid}/{@pid}
Если видим в исходной наличие track, то для @frametype делаем значение #track, если не видим track, но видим наличие album, то @frametype=#album. Если видим users и playlist, то @frametype=#playlist
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
Аватара пользователя
ReXtor
phpBB 2.0.0
Сообщения: 232
Стаж: 2 года 3 месяца
Откуда: Сибирь
Благодарил (а): 65 раз
Поблагодарили: 75 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение ReXtor »

Добавление обработки ссылок на треки, альбомы и плейлисты Яндекс.Музыки в phpBB Media Embed Plugin

В ext\phpbb\mediaembed\collection\sites создаем (или загружаем) файл yamusic.yml со следующим содержимым:

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

name: "Yandex Music"
host: music.yandex.ru
example: https://music.yandex.ru/album/5307396/track/38633706
extract: "!music\\.yandex\\.ru(\\/album\\/(?'aid'\\d+)(\\/track\\/(?'tid'\\d+))?|\\/users\\/(?'uid'\\w+)\\/playlists\\/(?'pid'\\d+))!"
choose:
    when:
        test: "@uid"
        iframe:
            height: "450"
            width: "100%"
            src: //music.yandex.ru/iframe/#playlist/{@uid}/{@pid}
    otherwise:
        choose:
            when:
                test: "@tid"
                iframe:
                    height: "100"
                    width: "100%"
                    src: //music.yandex.ru/iframe/#track/{@tid}/{@aid}
            otherwise:
                iframe:
                    height: "450"
                    width: "100%"
                    src: //music.yandex.ru/iframe/#album/{@aid}

Если ранее был установлен аддон для одиночных треков - заменяем.

Идем в Админка > Сообщения > Media Embed > Управление сайтами находим там Yandex Music и активируем. После чистим кэш и пользуемся.

Использовать путем вставки ссылок в сообщение https://music.yandex.ru/album/5307396 или,
если отключено преобразование ссылок в настройках расширения, обрамлять ссылку в BBcode [media]https://music.yandex.ru/album/5307396[/media].

Ссылка на трек, альбом или плейлист берется из стандартного "Поделиться" в интерфейсе Яндекс.Музыка. Они выглядят следующим образом:
https://music.yandex.ru/album/5307396/track/38633706 - трек
https://music.yandex.ru/album/5307396 - альбом
https://music.yandex.ru/users/ReXtor/playlists/1000 - плейлист

В мобильной версии (приложении) в конце присутствует также хвост наподобие ?utm_medium=copy_link, но распознавание сработает и без его удаления.

От предыдущего отличается тем, что там обработка ссылок на отдельные треки, а в этом уже и на треки, и на альбомы, и на плейлисты и подбор фрейма в зависимости от типа ссылки.

Кому необходимы одиночные аддоны либо для альбомов, либо для плейлистов - прикладываю во вложения. Устанавливать нужно только один из - или общий, или на треки, или на альбомы, или на плейлисты.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16720
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 561 раз
Поблагодарили: 1853 раза

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение rxu »

ReXtor, практически одновременно подумали насчет условных переходов, у меня получилась такая конструкция.

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

name: "Yandex Music (track)"
host: music.yandex.ru
example: https://music.yandex.ru/album/5307396/track/38633706
extract:
    - "!//music.yandex.ru/album/(?'aid'\\d+)/track/(?'tid'\\d+)!"
    - "!//music.yandex.ru/album/(?'aid'\\d+)!"
    - "!//music.yandex.ru/users/(?'uid'\\w+)/playlists/(?'pid'\\d+)!"
choose:
    when:
        test: '@tid'
        iframe:
            width: "100%"
            height: "180"
            src: //music.yandex.ru/iframe/#track/{@tid}/{@aid}
    otherwise:
        choose:
            when:
                test: '@aid'
                iframe:
                    width: "100%"
                    height: "450"
                    src: //music.yandex.ru/iframe/#album/{@aid}
            otherwise:
                iframe:
                    width: "100%"
                    height: "450"
                    src: //music.yandex.ru/iframe/#playlist/{@uid}/{@pid}

Изображение
Аватара пользователя
ReXtor
phpBB 2.0.0
Сообщения: 232
Стаж: 2 года 3 месяца
Откуда: Сибирь
Благодарил (а): 65 раз
Поблагодарили: 75 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение ReXtor »

rxu писал(а): 29.01.2023 8:55 - "!//music.yandex.ru/album/(?'aid'\\d+)/track/(?'tid'\\d+)!"
- "!//music.yandex.ru/album/(?'aid'\\d+)!"
Вот с этими строками проблема - та что должна срабатывать на альбом будет срабатывать и на трек. В итоге в переменную @tid ничего не попадает и ссылка на фрейм выходит не полной.
rxu писал(а): 29.01.2023 8:55 насчет условных переходов
Еще бы в документации они это все описали бы. Я вчера полдня возился но так ничего и не придумал. В итоге сегодня начал уже просто перебирать варианты "методом тыка". Было не понятно что они хотят видеть в test, пришлось ковырять код форматтера и смотреть там примеры.

з.ы. пуллреквест я отправил.
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16720
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 561 раз
Поблагодарили: 1853 раза

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение rxu »

ReXtor писал(а): 29.01.2023 9:20 та что должна срабатывать на альбом будет срабатывать и на трек
В общем случае да, но порядок перебора такой, что если нет трека, уходим на альбом, а если не альбом, то плейлист. Добавлял в один пост все 3 вида ссылок сразу, все срабатывают корректно.
ReXtor писал(а): 29.01.2023 9:20 Еще бы в документации они это все описали бы.
Опенсорс никто не отменял, можно самому через пулл реквест предложить добавку. Автор библиотеки описывает только то, что сам считает нужным или востребованным.
Изображение
Аватара пользователя
ReXtor
phpBB 2.0.0
Сообщения: 232
Стаж: 2 года 3 месяца
Откуда: Сибирь
Благодарил (а): 65 раз
Поблагодарили: 75 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение ReXtor »

rxu писал(а): 29.01.2023 9:24 если нет трека, уходим на альбом, а если не альбом, то плейлист
А ну да, если с перебором по условиям то норм. Я с тремя регулярками пытался без условий сделать (тк еще и не знал что их можно туда вообще), с одним фреймом в src и дополнительной переменной @frametype. Вероятно и так можно было, но вместо трех регулярок, где каждая бы срабатывала только на одну нужную входящую ссылку не затрагивая два других типа, оказалось проще слепить монстра который возьмет все три типа ссылок...
rxu писал(а): 29.01.2023 9:24 Автор библиотеки описывает только то
Ну я потому этот YML закинул к ним. Если примут, то хотя бы у phpBB будет наглядный пример про возможность использования choose-when-otherwise

На офф. форуме видел схожий запрос двух-трехлетней давности по поводу нескольких iframe, но толи тогда еще не было поддержки этой конструкции, толи забыли упомянуть про нее.
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16720
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 561 раз
Поблагодарили: 1853 раза

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение rxu »

ReXtor писал(а): 29.01.2023 9:35 Ну я потому этот YML закинул к ним.
На самом деле не совсем. Это репо самого расширения для phpBB. А сама сторонняя библиотека, на которой это основано, тут: https://github.com/s9e/TextFormatter

Доки по добавлению сайтов тут https://s9etextformatter.readthedocs.io ... dd_custom/ и в них толком ничего не сказано по этой части.
Изображение
Аватара пользователя
ReXtor
phpBB 2.0.0
Сообщения: 232
Стаж: 2 года 3 месяца
Откуда: Сибирь
Благодарил (а): 65 раз
Поблагодарили: 75 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение ReXtor »

rxu писал(а): 29.01.2023 9:42 Это репо самого расширения для phpBB
Ну я потому и говорю "хотя бы у phpBB будет". А то все в первую очередь смотрят примеры из collection\sites, а там все слишком просто. Даже со scrape всего один вариант. Да еще и точки в регулярках не экранированы нигде кроме одного варианта. Хотя я и сам также сделал в singe-версиях, хех.

И вот про те самые доки я выше и говорил - информации минимум. Пришлось угадывать.

Хотя да, думаю попозже запилю пример с конструкцией choose-when-otherwise и к ним. И да пребудет со мной яндекс-транслейт.
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
romeo_piter
phpBB 2.0.22
Сообщения: 1368
Стаж: 15 лет 8 месяцев
Благодарил (а): 171 раз
Поблагодарили: 21 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение romeo_piter »

Когда включено данное расширение, страницы, где несколько штук видео грузятся крайне уныло. Судя по тому, что похожая ерунда происходит на нескольких других просмотренных конференциях, это норма?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16720
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 561 раз
Поблагодарили: 1853 раза

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение rxu »

Смотря что за видео. С какого сайта?
Кроме того, множество видео на одной странице в любом случае будут грузиться небыстро, вне зависимости от наличия данного расширения.
Изображение
romeo_piter
phpBB 2.0.22
Сообщения: 1368
Стаж: 15 лет 8 месяцев
Благодарил (а): 171 раз
Поблагодарили: 21 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение romeo_piter »

rxu писал(а): 24.09.2023 6:42 Смотря что за видео. С какого сайта?
ВК+Ютьюб
rxu писал(а): 24.09.2023 6:42 Кроме того, множество видео на одной странице в любом случае будут грузиться небыстро, вне зависимости от наличия данного расширения.
Если видео в виде линков, то проблемы нет :D :D
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12613
Стаж: 13 лет 4 месяца
Благодарил (а): 170 раз
Поблагодарили: 2535 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение Татьяна5 »

Это не расширение виновато, а сами видео
romeo_piter
phpBB 2.0.22
Сообщения: 1368
Стаж: 15 лет 8 месяцев
Благодарил (а): 171 раз
Поблагодарили: 21 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение romeo_piter »

Да, это понятно. Моя цель не состоит в том, чтобы сказать, что плохо работает расширение. А в том, чтобы осознать исходя из ответов, что это нерешаемо. И далее принять решение, что лучше: ссылка (быстро, но неудобно) или встройка видео (долго, но красиво).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16720
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 561 раз
Поблагодарили: 1853 раза

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение rxu »

Скорее всего, дело в ВК. Попробуйте в Админразделе - Сообщения - MEDIA EMBED - Настройки включить кэширование.
Изображение
romeo_piter
phpBB 2.0.22
Сообщения: 1368
Стаж: 15 лет 8 месяцев
Благодарил (а): 171 раз
Поблагодарили: 21 раз

Re: [3.2][3.3] Official Extensions: phpBB Media Embed PlugIn

Сообщение romeo_piter »

Да, ютьюб почти ровно работает. Вк независимо от кэша тупит. Наверное, оставлю расширение чисто под ютьюб

Вернуться в «Поддержка расширений для phpBB»