phpBB [video] — универсальный видео-bbcode для phpBB и phpBBex

Список разделов phpBBex 1.x (поддерживается) Мастерская 1.x

Описание: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 1.x и phpBB 3.0.x.
Модератор: Поддержка

Сообщение #1 VEG » 01.05.2012, 16:53

BBCode: phpBB [audio] | phpBB [video] | phpBB [media] | phpBB [youtube]

Представляем вам новый универсальный BBCode «phpBB [video]», который подходит как для phpBB, так и для phpBBex. Для установки нет необходимости править какие-либо файлы, его можно добавить через раздел администратора.

Пример использования

Пользователь копирует адрес страницы интересующего ролика и вставляет его между [video][/video]:
Код: Выделить всё
[video]http://vimeo.com/40558553[/video]
или (с указанием размеров):
Код: Выделить всё
[video=640,360]http://vimeo.com/40558553[/video]

В сообщении это отобразится следующим образом:
phpBB [video]


Поддерживаемые видеосервисы

На данный момент поддерживаются видеосервисы:
  • youtube.com (youtu.be) — плейлисты также поддерживаются
  • vimeo.com
  • rutube.ru — только адрес из кода встраивания
  • vk.com (vkontakte.ru)
  • ok.ru
  • facebook.com
  • video.mail.ru
  • dailymotion.com
  • video.sibnet.ru
  • yapfiles.ru — только адрес из кода встраивания BBCode (для видео и музыки)
  • ign.com
  • ted.com
  • vine.co
  • coub.com
  • pinkbike.com
  • archive.org
  • файлы WebM, OGV и MP4 через HTML5 <video>

Адреса не нужно чистить от мусорных параметров — наш [video] разберётся что к чему. Можно использовать как адрес страницы видео, так и адрес из кода встраивания (если не указано иное).

В ближайшем будущем будут поддерживаться:
  • webm, mp4 и flv видеофайлы через плеер на flash при отсутствии HTML5

Что интересно, наш bbcode сам обновится, и новые сервисы будут поддерживаться у вас автоматически. Если вам не хватает поддержки какого-то видеосервиса, мы будем рады добавить её. В этой теме приведите ссылку на видео с интересующего вас видеосервиса и код встраивания — это нам поможет. Если новый видеосервис востребован, мы вскоре добавим его поддержку в наш видео-bbcode.

Установка [video] (с фиксированным размером)

1. Админка, вкладка «Сообщения», страничка «BBCodes», добавить BBCode (если уже есть [video] — редактировать).
2. В поле «Использование BBCode» введите:
Код: Выделить всё
[video]{URL}[/video]
3. В поле «Замена HTML» введите (вторая версия кода, изменять можно только высоту и ширину блока!):
Код: Выделить всё
<div class='bbvideo' data-url='{URL}' style='width: 640px; height: 390px; margin: 2px 0; display: inline-block; background: #000; color: #fff; overflow: hidden; vertical-align: bottom;'><div style='height: 100%;'><script>if (typeof bbmedia == 'undefined') { bbmedia = true; var e = document.createElement('script'); e.async = true; e.src = '//phpbbex.com/api/bbmedia.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s); }</script></div><div style='text-align: right; height: 14px; margin-top: -14px; padding-right: 2px; font: 10px/10px Verdana; color: #555;'><a style='color: #105289; text-decoration: none;' href='//phpbbex.com/' target='_blank'>phpBB</a> &#91;video&#93;</div></div>
4. В поле «Подсказка» введите:
Код: Выделить всё
Вставить видео: [video]http://youtube.com/url[/video]
5. Установите галочку «Показывать на странице ответа» и сохраните форму. Готово!

Установка [video=ширина,высота] (в дополнение к предыдущему)

1. Админка, вкладка «Сообщения», страничка «BBCodes», добавить BBCode (если уже есть [video=] — редактировать).
2. В поле «Использование BBCode» введите:
Код: Выделить всё
[video={NUMBER1},{NUMBER2}]{URL}[/video]
3. В поле «Замена HTML» введите (вторая версия кода, вводить без изменений!):
Код: Выделить всё
<div class='bbvideo' data-url='{URL}' style='width: {NUMBER1}px; height: {NUMBER2}px; margin: 2px 0; display: inline-block; background: #000; color: #fff; overflow: hidden; vertical-align: bottom;'><div style='height: 100%;'><script>if (typeof bbmedia == 'undefined') { bbmedia = true; var e = document.createElement('script'); e.async = true; e.src = '//phpbbex.com/api/bbmedia.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s); }</script></div><div style='text-align: right; height: 14px; margin-top: -14px; padding-right: 2px; font: 10px/10px Verdana; color: #555;'><a style='color: #105289; text-decoration: none;' href='//phpbbex.com/' target='_blank'>phpBB</a> &#91;video&#93;</div></div>
4. В поле «Подсказка» введите:
Код: Выделить всё
Вставить видео: [video=ширина,высота]http://youtube.com/url[/video]
5. Сохраните форму. Готово!

Удаление ссылки из кода

На разработку данного bbcode потрачено много времени, поэтому в наличие ссылки на phpbbex.com в коде обязательно. Эта ссылка видна только в момент загрузки и не мешает пользователям. Если по каким-то причинам вам всё-таки необходимо её убрать, свяжитесь с автором любым удобным для вас способом. Возможность убрать ссылку из кода стоит 20$ для одного форума. Это неплохая возможность материально поддержать дальнейшую разработку данного bbcode.

Не работает?

Отображается стандартная заглушка с надписью phpBB [media] и ничего не происходит
Скорее всего на странице есть какая-то ошибка JavaScript, что прекращает выполнение всех скриптов. Включите консоль разработчика и посмотрите что за ошибка. Если у вас на странице используется jQuery, попробуйте обновить версию на более свежую (1.7 и более новую).

Выдаёт ошибку «Неправильный BBCode»
Проблема в том, что вы изменили предлагаемый код либо это сделала за вас какая-то модификация. Попробуйте по очереди убирать модификации, которые влияют на вывод сообщений и обработку BBCode.

Независимо от предлагаемого URL сообщает, что он не поддерживается
Проблема в том, что ваш форум (например, автоцензор) либо какая-то модификация вмешивается в передаваемые URL. Проверьте настройки автоцензора (чтобы в нём не было частей вставляемого URL) либо установленные модификации для обработки ссылок в сообщениях.

При использовании ссылки на файл с моего сервера ничего не проигрывается
Причины может быть две: либо ваш сервер отдаёт некорректный Content-Type, либо данный формат не поддерживается вашим браузером.
Для того, чтобы ваш сервер Apache отдавал корректный Content-Type, добавьте в .htaccess файл в корне вашего сайта (этот код уже есть в phpBBex):
Код: Выделить всё
AddType audio/ogg   ogg oga
AddType video/ogg   ogv
AddType audio/webm  webma
AddType video/webm  webm webmv
AddType audio/mp4   m4a
AddType video/mp4   mp4 m4v
AddType audio/opus  opus
AddType audio/flac  flac
AddType audio/aac   aac
AddType audio/mpeg  mp1 mp2 mp3 mpg mpeg
AddType audio/wav   wav
Рекомендуем использовать формат WebM. IE также поддерживает WebM при установке соответствующего кодека.

phpBB [video] на других ресурсах

Обсуждение phpBB [video] на phpbbguru.net
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев


Сообщение #201 Sumanai » 10.01.2017, 19:27

Спасибо за информацию.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #202 brazhko » 23.01.2017, 12:00

Подскажите, пожалуйста, как решить проблему с адаптивностью видео?
brazhko
Аватара
Репутация: 0
С нами: 7 лет 9 месяцев

Сообщение #203 Sumanai » 23.01.2017, 15:47

Пока никак, автор забил, а лицензия не позволяет мне распространять модифицированные копии.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #204 Cashish » 14.03.2018, 21:00

The page at 'https://mmcpajero.ru/fishing-hunting-f19/topic11846.html' was loaded over HTTPS, but requested an insecure script 'http://phpbbex.com/api/bbmedia.js'. This request has been blocked; the content must be served over HTTPS.

У меня сайт на hhtps, ругается на то, что скрипт работает через http. Сталкивался кто-то?
Cashish
Гость

Сообщение #205 HD321kbps » 15.03.2018, 21:18

Cashish:У меня сайт на hhtps, ругается на то, что скрипт работает через http. Сталкивался кто-то?
Читайте раздел Независимый js-скрипт на вашем сервере и Использование на сайтах с поддержкой HTTPS
HD321kbps M
Аватара
Откуда: Армянск
Репутация: 376
С нами: 11 лет 8 месяцев

Можно ли применить для phpBB2 ?

Сообщение #206 lensmen » 02.03.2022, 14:20

Хотелось бы поставить этот код на phpBB2, ибо менять форум которому более 15 лет и напичкан всеми модами нет смысла.
Вопрос такой, возможно, и если да, то как применить для версии phpBB2 ?
lensmen
Гость

Сообщение #207 VEG » 02.03.2022, 14:41

В теории как-то адаптировать его возможно, но как - я не подскажу, так как не видел phpBB 2 уже 14 лет.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев

665413

Сообщение #208 lensmen » 02.03.2022, 19:42

ЧТо для этого нужно ?
Есть подобный мод, но он только для ютюба, прилагаю этот мод в приложеннии

Код: Выделить всё
Добавление видео с Youtube
-------------------------------

#
#---[ OPEN ]---
#
templates/subSilver/subSilver.css


#
#---[ FIND ]---
#
/* Import the fancy styles for IE only (NS4.x doesn't use the @import function) */
@import url("formIE.css");


#
#---[ AFTER, ADD ]---
#
/* YouTube.com */
.youtube   {
   border: 1px solid #666;
   width: 425px;
}
.youtube .youtubeContainer   {
   position: relative;
}
.youtube .youtubeContainer   {
   color: #666;
   cursor: pointer;
   cursor: hand;
   font-size: 10px;
   font-weight: bold;
   position: absolute;
   right: 0;
   top: 0;
}


#
#---[ OPEN ]---
#
templates/subSilver/bbcode.tpl


#
#---[ FIND ]---
#
<!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img -->


#
#---[ AFTER, ADD ]---
#
<!-- BEGIN youtube -->
<div class="youtube">
<div class="youtubeContainer">
<span class="postlink"><a href="{URL}" target="_blank">{DESCRIPTION}</a></span>
<br>
<object width="425" height="350">
<param name="movie" value="{MOVIE}"></param>
<param name="wmode" value="transparent"></param>
<embed src="{MOVIE}" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed>
</object>

</div>
</div>
<!-- END youtube -->


#
#---[ OPEN ]---
#
includes/bbcode.php


#
#---[ FIND ]---
#
   $bbcode_tpl['img'] = str_replace('{URL}', '\\1', $bbcode_tpl['img']);


#
#---[ AFTER, ADD ]---
#
//+YouTube.com
$bbcode_tpl['youtube1'] = $bbcode_tpl['youtube'];
$bbcode_tpl['youtube1'] = str_replace('{URL}', 'http://www.youtube.com/watch?v=\\1', $bbcode_tpl['youtube1']);
$bbcode_tpl['youtube1'] = str_replace('{DESCRIPTION}', 'http://www.youtube.com/watch?v=\\1', $bbcode_tpl['youtube1']);
$bbcode_tpl['youtube1'] = str_replace('{MOVIE}', 'http://www.youtube.com/v/\\1', $bbcode_tpl['youtube1']);

$bbcode_tpl['youtube2'] = $bbcode_tpl['youtube'];
$bbcode_tpl['youtube2'] = str_replace('{URL}', 'http://www.youtube.com/watch?v=\\1', $bbcode_tpl['youtube2']);
$bbcode_tpl['youtube2'] = str_replace('{DESCRIPTION}', '\\2', $bbcode_tpl['youtube2']);
$bbcode_tpl['youtube2'] = str_replace('{MOVIE}', 'http://www.youtube.com/v/\\1', $bbcode_tpl['youtube2']);
//-YouTube.com


#
#---[ FIND ]---
#
        $replacements[] = $bbcode_tpl['img'];


#
#---[ AFTER, ADD ]---
#
//+YouTube.com
// [youtube]YOUTUBE[/youtube]
$patterns[] = "#\[youtube\](?:(?:http://(?:www\.)?)?youtube\.com(?:/watch\?v=|/v/))?([0-9a-z\-\_\+]+)\[/youtube\]#i";
$replacements[] = $bbcode_tpl['youtube1'];

// [youtube=YOUTUBE]description[/youtube]
$patterns[] =

"#\[youtube=(?:(?:http://(?:www\.)?)?youtube\.com(?:/watch\?v=|/v/))?([0-9a-z\-\_\+]+)\]([^?\n\r\t].*?)\[/youtube\]#i";
$replacements[] = $bbcode_tpl['youtube2'];
//-YouTube.com

#
#-----[ OPEN ]------------------------------------------
#

posting.php

#
#-----[ FIND ]------------------------------------------
#

   'L_BBCODE_O_HELP' => $lang['bbcode_o_help'],

#
#-----[ AFTER, ADD ]------------------------------------------
#

   // [start] [youtube] BB-Code
   'L_BBCODE_Y_HELP' => $lang['bbcode_y_help'],
   // [end] [youtube] BB-Code


#
#-----[ OPEN ]------------------------------------------
#

templates/subSilver/posting_body.tpl

#
#-----[ FIND ]------------------------------------------
#

o_help = "{L_BBCODE_O_HELP}";

#
#-----[ AFTER, ADD ]------------------------------------------
#

y_help = "{L_BBCODE_Y_HELP}";

#
#-----[ FIND ]------------------------------------------
#

bbtags = new

Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/li

st]','[img]','[/img]','[url]','[/url]');

#
#-----[ IN-LINE FIND ]------------------------------------------
#

);

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#

,'[youtube]','[/youtube]'

#
#-----[ FIND ]------------------------------------------
#

         <td><span class="genmed">
           <input type="button" class="button" accesskey="w" name="addbbcode16" value="URL"
style="text-decoration: underline; width: 40px" onClick="bbstyle(16)" onMouseOver="helpline('w')" />
           </span></td>

#
#-----[ AFTER, ADD ]------------------------------------------
#

         <td><span class="genmed">
           <input type="button" class="button" accesskey="h" name="addbbcode18" value="YouTube"
style="text-decoration: underline; width: 60px" onClick="bbstyle(18)" onMouseOver="helpline('y')" />
           </span></td>

#
#-----[ FIND ]------------------------------------------
#

               <select name="addbbcode18" onChange="bbfontstyle('[color=' +
this.form.addbbcode18.options[this.form.addbbcode18.selectedIndex].value + ']', '[/color]');this.selectedIndex=0;"
onMouseOver="helpline('s')">

#
#-----[ REPLACE WITH ]------------------------------------------
#

               <select name="addbbcode20" onChange="bbfontstyle('[color=' +
this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/color]');this.selectedIndex=0;"
onMouseOver="helpline('s')">

#
#-----[ FIND ]------------------------------------------
#

               </select> &nbsp;{L_FONT_SIZE}:<select name="addbbcode20"
onChange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']',

'[/size]')" onMouseOver="helpline('f')">

#
#-----[ REPLACE WITH ]------------------------------------------
#

               </select> &nbsp;{L_FONT_SIZE}:<select name="addbbcode22"
onChange="bbfontstyle('[size=' + this.form.addbbcode22.options[this.form.addbbcode22.selectedIndex].value + ']',
'[/size]')" onMouseOver="helpline('f')">

#
#-----[ OPEN ]------------------------------------------
#

language/lang_english/lang_main.php



#
#-----[ FIND ]------------------------------------------
#

?>

#
#-----[ BEFORE, ADD ]------------------------------------------
#

// [start] [youtube] BB-Code
$lang['bbcode_y_help'] = 'YouTube video: [youtube]link[/youtube]  (alt+y)';
// [end] [youtube] BB-Code

#
#-----[ OPEN ]------------------------------------------
#

language/lang_russian/lang_main.php



#
#-----[ FIND ]------------------------------------------
#

?>

#
#-----[ BEFORE, ADD ]------------------------------------------
#

// [start] [youtube] BB-Code
$lang['bbcode_y_help'] = 'YouTube видео: [youtube]ссылка[/youtube]  (alt+y)';
// [end] [youtube] BB-Code

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM



==============================================================================


Добавить кнопку в форму быстрого ответа

#
#-----[ OPEN ]------------------------------------------------------------------
#

templates/quick_reply.js

#
#-----[ FIND ]------------------------------------------------------------------
#

// Define the bbCode tags
bbcode = new Array();
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[youtube]','[/youtube]');
imageTag = false;

#
#-----[IN-LINE FIND ]------------------------------------------------------------------
#

,'[url]','[/url]'

#
#-----[IN-LINE AFTER, ADD ]-----------------------------------------------------------
#

,'[youtube]','[/youtube]'

#
#-----[ OPEN ]------------------------------------------------------------------
#

templates/subsilver/quick_reply.tpl

#
#-----[ FIND ]------------------------------------------------------------------
#

               <td><input type="button" class="button" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width:40px" onClick="bbstyle(16)" /></td>

#
#-----[AFTER, ADD ]-----------------------------------------------------------
#

               <td><input type="button" class="button" accesskey="t" name="addbbcode18" value="Off" style="width:40px" onClick="bbstyle(18)" /></td>

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM



quick_reply.js - выглядит так

bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]',
'[img]','[/img]','[pic]','[/pic]','[url]','[/url]','[youtube]','[/youtube]');

в quick_reply.tpl - нужно добавить кнопку.

<td><input type="button" class="button" accesskey="t" name="addbbcode№ббкода" value="ИмяБбКода" style="width:60px" onClick="bbstyle(№ббкода)" /></td>


где №ббкода - это порядковый номер ббкода в указанной строке из quick_reply.js умноженный на два (например, номер ббкода
[ b ] [ /b ] - 1*2=2, ббкода [ code ] [ /code ] - 5*2=10) и ИмяБбКода - это собственно имя кнопки.

lensmen
Гость

Сообщение #209 vbnm » 03.03.2022, 03:03

:smile:

Добавлено спустя 4 минуты 4 секунды:
VEG, ghbdf!
что нужно сделать, чтобы скрипт поддерживал ссылки такого вида?
https://vk.com/video67505975_456239054?list=cf13f7febec35b48bc
или, хотя бы такого:
https://vk.com/video67505975_456239054

на вк сейчас все идет в таком формате
vbnm
Репутация: 108
С нами: 11 лет 8 месяцев

Сообщение #210 VEG » 04.03.2022, 13:45

Такие видео нельзя встраивать.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев

Сообщение #211 vbnm » 04.03.2022, 14:07

а нельзя их как-нибудь на автомае приводить к надлежащему виду, что поддерживаются скриптом?
Код: Выделить всё
[media]https://vk.com/video_ext.php?oid=67505975&amp;id=456239054&amp;hash=49760bfc1bbe4474[/media]

[media]https://vk.com/video_ext.php?oid=67505975&id=456239054&hash=49760bfc1bbe4474[/media]
vbnm
Репутация: 108
С нами: 11 лет 8 месяцев

Сообщение #212 VEG » 04.03.2022, 14:11

Нет, нельзя.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев

Не приходит код на емейл

Сообщение #213 lensmen. » 04.03.2022, 14:19

Не приходит код на емейл подтверждения регистрации,ник lensmen и ответа на свой вопрос я так и не увидел
lensmen.
Гость

Сообщение #214 VEG » 04.03.2022, 14:59

lensmen, проверьте папку со спамом.

Вы можете самостоятельно адаптировать код для phpBB 2. В моде, что вы привели выше, уже показаны все места, где нужно делать правки. Для адаптированного BB [media] нужно будет даже немного меньше изменений. Немного понимания HTML и PHP, и у вас получится. Прямо сейчас у меня нет времени заниматься адаптацией для вас. Может быть, когда-нибудь потом.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев

В спаме пусто

Сообщение #215 lensmen. » 04.03.2022, 15:07

В спаме пусто,повторно пробовал высылать,тоже пусто, че то у вас глючит регистрация, но если мой вопрос нерешаем, то смысл регится вообще здесь.
lensmen.
Гость

Сообщение #216 lensmen » 04.03.2022, 20:08

Вижу что активировали вручную, тогда такой вопрос, есть форум XenForo там просто вставляешь ссылку без всяких тегов и оно автоматом все работает, нельзя с него вытащить этот код для работы с видеохостингами ?
lensmen
Репутация: 0
С нами: 2 года 8 месяцев

Сообщение #217 vbnm » 05.03.2022, 20:26

VEG, а можешь адаптировать под телеграмм?
Код: Выделить всё
<script async src="https://telegram.org/js/telegram-widget.js?16" data-telegram-post="peadovkanews/27458" data-tme-mode data-width="100%"></script>
vbnm
Репутация: 108
С нами: 11 лет 8 месяцев

Пред.

Вернуться в Мастерская 1.x