phpBB [media] — bbcode для вставки аудио, видео, карт и др. (без правок кода)

Board index phpBBex 1.x Мастерская

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

Post #1by VEG » 18.05.2012, 15:39

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

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

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

Для вставки видео пользователь должен вставить его адрес между [media][/media]:
Code: Select all
[media]http://vimeo.com/40558553[/media]
или (с указанием предпочитаемых размеров):
Code: Select all
[media=640,360]http://vimeo.com/40558553[/media]

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


Для вставки аудио пользователь должен вставить его адрес между [media][/media]:
Code: Select all
[media]http://pleer.com/tracks/4796774kBZr[/media]

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


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

Поскольку phpBB [media] — это грамотный симбиоз наших [audio] и [video], он будет поддерживать все сервисы, которые предлагают указанные BBCode. Дополнительно phpBB [media] будет поддерживать сервисы, которые к аудио и видео не имеют прямого отношения, но данные из которых удобно встраивать в сообщения (панорамы, фотогалереи, карты и др.).

На данный момент поддерживаются:
  • все сервисы из phpBB [video] (youtube.com, vimeo.com, rutube.ru, vk.com и др.)
  • все сервисы из phpBB [audio] (soundcloud.com, muzebra.com, pleer.com и др.)
  • docs.google.com (документы, таблицы и формы; берите ссылку из File » Publish to the web)
  • maps.google.com (карты, панорамы)
  • openstreetmap.org (карты)
  • 360cities.net (панорамы)
  • picasaweb.google.com (слайдшоу из галерей)
  • dermandar.com (панорамы)
  • share.mapbbcode.org (карты с вашими метками на ней)
  • connect.garmin.com (GPS-треки)
  • endomondo.com (маршруты и тренировки)
  • gpsies.com (GPS-треки)
  • bikemap.net (GPS-треки)
  • livegpstracks.com (GPS-треки, поддерживаются только ссылки из кода встраивания)

Установка [media] (с автоматическими размерами)

1. Админка, вкладка «Сообщения», страничка «BBCodes», добавить BBCode (если уже есть [media] — редактировать).
2. В поле «Использование BBCode» введите:
Code: Select all
[media]{URL}[/media]
3. В поле «Замена HTML» введите (вводить без изменений!):
Code: Select all
<div class='bbmedia' data-url='{URL}' style='margin: 1px; display: inline-block; vertical-align: bottom;'><div style='width: 200px; height: 40px; border: 1px solid #999; display: table-cell; text-align: center; vertical-align: middle; font: 10px/10px Verdana; color: #555; opacity: 0.5;'><a style='color: #105289; text-decoration: none;' href='http://phpbbex.com/' target='_blank'>phpBB</a> &#91;media&#93;</div><script>if (typeof bbmedia == 'undefined') { bbmedia = true; var e = document.createElement('script'); e.async = true; e.src = 'http://phpbbex.com/api/bbmedia.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s); }</script></div>
4. В поле «Подсказка» введите:
Code: Select all
Вставить аудио, видео, карту, панораму или другое мультимедиа: [media]http://youtube.com/url[/media]
5. Установите галочку «Показывать на странице ответа» и сохраните форму. Готово!

Установка [media=ширина,высота] (с предпочитаемой шириной и высотой плеера)

1. Админка, вкладка «Сообщения», страничка «BBCodes», добавить BBCode (если уже есть [media=] — редактировать).
2. В поле «Использование BBCode» введите:
Code: Select all
[media={INTTEXT}]{URL}[/media]
3. В поле «Замена HTML» введите (вводить без изменений!):
Code: Select all
<div class='bbmedia' data-url='{URL}' data-args='{INTTEXT}' style='margin: 1px; display: inline-block; vertical-align: bottom;'><div style='width: 200px; height: 40px; border: 1px solid #999; display: table-cell; text-align: center; vertical-align: middle; font: 10px/10px Verdana; color: #555; opacity: 0.5;'><a style='color: #105289; text-decoration: none;' href='http://phpbbex.com/' target='_blank'>phpBB</a> &#91;media&#93;</div><script>if (typeof bbmedia == 'undefined') { bbmedia = true; var e = document.createElement('script'); e.async = true; e.src = 'http://phpbbex.com/api/bbmedia.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s); }</script></div>
4. В поле «Подсказка» введите:
Code: Select all
Вставить аудио, видео, карту, панораму или другое мультимедиа: [media=ширина,высота]http://youtube.com/url[/media]
5. Сохраните форму. Готово!

Независимый js-скрипт на вашем сервере

По умолчанию js-скрипт с базой поддерживаемых сервисов загружается напрямую с phpbbex.com. У этого подхода есть преимущество — для всех форумов используется общая копия js-скрипта в кэше браузера пользователей. Однако, это делает вас в какой-то мере зависимыми от нашего сервера. Если вы хотите, чтобы js-скрипт bbmedia загружался с вашего сервера, воспользуйтесь bbmedia.php. Данный PHP-скрипт автоматически возьмёт самую свежую версию bbmedia.js с сервера phpbbex.com, сохранит копию в каталоге вашего форума, после чего будет отдавать её браузеру ваших пользователей, проверяя не чаще раза в сутки наличие обновлений, что не создаст какой-либо ощутимой нагрузки на ваш сервер. Даже при недоступности phpbbex.com этот скрипт будет просто отдавать сохранённую на вашем сервере копию.

Для установки bbmedia.php просто скачайте bbmedia.php.zip и извлеките содержимое архива в кореневую директорию вашего форума. Далее для всех BBCode из серии bbmedia ([audio], [video], [media]) зайдите в редактирование (Админка, вкладка «Сообщения», страничка «BBCodes») и в поле «Замена HTML» замените подстроку «http://phpbbex.com/api/bbmedia.js» на путь к вашему файлу bbmedia.php. Лучше всего указывать путь от слэша! Например, если у вас форум имеет адрес вида «http://example.com/forum/», указывайте такой адрес: «/forum/bbmedia.php». Больше ничего в поле «Замена HTML» менять не нужно.

Для принудительного обновления вашей копии js-скрипта необходимо просто запустить «bbmedia.php?update» (с параметром update). Если вы увидите OK — обновление успешно. Иначе вы увидите сообщение о типе ошибки.

Использование на сайтах с поддержкой HTTPS

При работе сайта с использованием безопасного протокола HTTPS скрипт не работает, так как по умолчанию браузеры блокируют смешанное содержимое.
Вам необходимо произвести локальную установку скрипта по инструкции выше, либо использовать адрес «https://sumanai.ru/api/bbmedia.php» взамен стандартного «http://phpbbex.com/api/bbmedia.js».

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

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

Не работает?

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

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

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

При использовании ссылки на файл с моего сервера ничего не проигрывается
Причины может быть две: либо ваш сервер отдаёт некорректный Content-Type, либо данный формат не поддерживается вашим браузером.
Для того, чтобы ваш сервер Apache отдавал корректный Content-Type, добавьте в .htaccess файл в корне вашего сайта (этот код уже есть в phpBBex):
Code: Select all
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
Учтите, что Firefox и Opera не поддерживают форматы MP3, MP4 и AAC. Зато Firefox, Opera и Chrome поддерживают форматы Ogg Vorbis и WebM. IE также поддерживает WebM при установке соответствующего кодека.

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

Обсуждение phpBB [media] на phpbbguru.net
Обсуждение phpBB [media] на bb3x.ru
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1607
With us: 4 yaers 10 months


Post #381by angst66 » 06.04.2015, 15:43

Можно ли код замены html впихнуть в регулярные выражения,типа
Code: Select all
$text = preg_replace('/\[media]/', '<тут код замены html>', $text);
?
Хочу к чату подключить эту возможность.
angst66
Бывалый
Reputation: 13
With us: 4 yaers 5 months

Post #382by angst66 » 11.04.2015, 23:05

Разобрался с кодом, заменил внутри html кода кавычки с одинарных на двойные.
Общий вид
Code: Select all
$text = preg_replace('/\[media\](.*?)\[\/media\]/', '<div class="bbmedia" data-url="$1" style="margin: 1px; display: inline-block; vertical-align: bottom;"><div style="width: 200px; height: 40px; border: 1px solid #999; display: table-cell; text-align: center; vertical-align: middle; font: 10px/10px Verdana; color: #555; opacity: 0.5;"><a style="color: #105289; text-decoration: none;" href="http://phpbbex.com/" target="_blank">phpBB</a> &#91;media&#93;</div><script>if (typeof bbmedia == "undefined") { bbmedia = true; var e = document.createElement("script"); e.async = true; e.src = "http://phpbbex.com/api/bbmedia.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(e, s); }</script></div>', $text);
angst66
Бывалый
Reputation: 13
With us: 4 yaers 5 months

Post #383by VEG » 07.05.2015, 12:37

Dr.Death wrote:Еще подскажи, переделал скрипт, чтобы ютуб был картинкой и играл при нажатии http://kiaoptimaclub.ru/viewtopic.php?t=47, замена картинки на bbmedia (через изменение блока addClass('bbmedia')) не инициализирует плеер, как оно устроено и как его заставить навесить? :smoke:
По крайней мере если динамически создавать блок bbmedia целиком — он должен обрабатываться корректно. Добавление атрибутов, на сколько я помню, не отслеживается. В общем попробуйте скриптом создавать целиком всю разметку тега bbmedia, а скрипт уже её подхватит и отобразит там плеер.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1607
With us: 4 yaers 10 months

Post #384by ЖЪРЧИК » 07.05.2015, 22:40

VEG wrote:Еще подскажи, переделал скрипт, чтобы ютуб был картинкой и играл при нажатии
Кто-нибудь может объяснить, как это мое давнее предложение с ютубом к ббмедиа, как это сделать из стандартного bbmedia.js? :think: Доктор Деф задался тем же вопросом, но по понятным причинам я его не пойму.
плешивый кот
ЖЪРЧИК
Гуру
Avatar
Reputation: 175
With us: 2 yaers 6 months

Post #385by Dr.Death » 08.05.2015, 08:47

VEG wrote:По крайней мере если динамически создавать блок bbmedia целиком — он должен обрабатываться корректно. Добавление атрибутов, на сколько я помню, не отслеживается. В общем попробуйте скриптом создавать целиком всю разметку тега bbmedia, а скрипт уже её подхватит и отобразит там плеер.
Если я правильно помню чего я тогда налепил, то щас работает через добавление класса, а не работает если не прописать блоку сразу style="display:inline-block" вот и вопрос как и почему это происходит :smoke:
Моды не пишу, программированию не обучаю. Ваше незнание и нежелание знать, ваши проблемы, а не повод меня оскорблять. Минусите на здоровье, вдруг поможет.
Dr.Death M
Гуру
Avatar
Reputation: 69
With us: 2 yaers 7 months

Post #386by ЖЪРЧИК » 10.05.2015, 06:25

Dr.Death, видел ведь? /viewtopic.php?p=17090#p17090 :think:
плешивый кот
ЖЪРЧИК
Гуру
Avatar
Reputation: 175
With us: 2 yaers 6 months

Post #387by Dr.Death » 10.05.2015, 11:17

ЖЪРЧИК, и?
Моды не пишу, программированию не обучаю. Ваше незнание и нежелание знать, ваши проблемы, а не повод меня оскорблять. Минусите на здоровье, вдруг поможет.
Dr.Death M
Гуру
Avatar
Reputation: 69
With us: 2 yaers 7 months

Post #388by ЖЪРЧИК » 14.05.2015, 07:26

Dr.Death, подмену параметров в ссылке ютуба autoplay=1&showinfo=0&controls=2 как приделать к bbmedia.js? :think: между чем и чем подставить и что добавить? Или так просто нельзя сделать? Коли взялся за решение проблемы неподгрузки плеера ютуба.
плешивый кот
ЖЪРЧИК
Гуру
Avatar
Reputation: 175
With us: 2 yaers 6 months

Post #389by Dr.Death » 14.05.2015, 08:43

Открой сжатый bbmedia.js и ищи аля "youtube.com/embed", для меня не актуально.
Моды не пишу, программированию не обучаю. Ваше незнание и нежелание знать, ваши проблемы, а не повод меня оскорблять. Минусите на здоровье, вдруг поможет.
Dr.Death M
Гуру
Avatar
Reputation: 69
With us: 2 yaers 7 months

Post #390by ЖЪРЧИК » 14.05.2015, 14:35

Code: Select all
/^https?:\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(?:playlist\?(?:.*&)?list=|embed\/videoseries\?(?:.*&)?list=|p\/|view_play_list\?(?:.*&)?p=)([-_\w\d]+)/i))){if(H){u+=30}else{if(v){e+=53}}return n(y+"://www.youtube.com/embed/videoseries?list="+ac[1],e,u)}if(N&&(ac=x.match(/^https?:\/\/(?:www\.)?(?:youtu\.be\/|(?:m\.)?youtube(?:-nocookie)?\.com\/(?:(?:watch|movie)\?(?:.*&)?v=|embed\/|v\/|attribution_link.*watch%3Fv%3D))([-_\w\d]+)(?:.*(?:[&?]start|[?&#]t)=(?:(\d+)h)?(?:(\d+)m)?(\d+)?)?/i))){if(H){u+=30}else{if(v){e+=53}}var U=[];var J=parseInt(ac[2]?ac[2]:0)*3600+parseInt(ac[3]?ac[3]:0)*60+parseInt(ac[4]?ac[4]:0);if(J){U.push("start="+J)}if(l(x,"rel")==="0"){U.push("rel=0")}U=U.join("&");return n(y+"://www.youtube.com/embed/"+ac[1]+(U?"?"+U:""),e,u)}
Между чем? Вроде песледняя строчка, где ?? и кавычки.

Думаю, кроме меня еще кто то поинтересуется.
плешивый кот
ЖЪРЧИК
Гуру
Avatar
Reputation: 175
With us: 2 yaers 6 months

Post #391by Dr.Death » 14.05.2015, 15:28

Code: Select all
U=U.join
на
Code: Select all
U.push("controls=2");U=U.join
наверное
Моды не пишу, программированию не обучаю. Ваше незнание и нежелание знать, ваши проблемы, а не повод меня оскорблять. Минусите на здоровье, вдруг поможет.
Dr.Death M
Гуру
Avatar
Reputation: 69
With us: 2 yaers 7 months

Post #392by ЖЪРЧИК » 15.05.2015, 03:49

Dr.Death, Спасибо помогло, жаль титл ролика вывести нельзя. :clap:
Очень удобно если 5-30 роликов на странице. Спойлера не нужно использовать, можно по картинкам ориентироваться. Рекомендую оптимизаторам. :smoke:
плешивый кот
ЖЪРЧИК
Гуру
Avatar
Reputation: 175
With us: 2 yaers 6 months

Post #393by yakashey » 17.05.2015, 14:36

Здравствуйте!
Поставил, почти все играет,
но
1. Не получается вставить видео из Вконтакте
2. Не получается вставить гугл-панораму
и там и там пишет "извините, этот url не поддерживается"
Как быть?
:smoke:
yakashey
Новичок
Reputation: 0
With us: 1 year 9 months

Post #394by Sumanai » 17.05.2015, 14:50

Приведите вид ссылок, которые не работают.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M Online
Гуру
Avatar
Reputation: 1502
With us: 4 yaers

Post #395by yakashey » 17.05.2015, 15:16

Привожу:
Code: Select all
[media]http://vk.com/video7834806_161931118?hash=9506b4758e3dfa38[/media]
и вторая:
Code: Select all
[media]https://www.google.ru/maps/@43.567023,39.772696,3a,75y,199.73h,118.91t/data=!3m4!1e1!3m2!1st5Z_OlK34ni85ows8CjIcg!2e0?hl=ru[/media]
ссылки, находящиеся между тегов [media] взяты мной прямо из адресной строки браузера
yakashey
Новичок
Reputation: 0
With us: 1 year 9 months

Post #396by Sumanai » 17.05.2015, 15:17

yakashey wrote:ссылки, находящиеся между тегов [media] взяты мной прямо из адресной строки браузера
yakashey wrote:[media]http://vk.com/video7834806_161931118?hash=9506b4758e3dfa38[/media]
А прочитать инструкцию не пробовали?
vk.com (vkontakte.ru) — только адрес из кода встраивания

Про второе ждите, может что исправят.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M Online
Гуру
Avatar
Reputation: 1502
With us: 4 yaers

Post #397by yakashey » 17.05.2015, 15:26

Sumanai wrote:А прочитать инструкцию не пробовали?
Я знаю только что такое "адрес из адресной строки браузера"
А вот что такое "адрес из кода встраивания" я не знаю и спросить мне не у кого
Приведите пример с моим роликом и я сразу все пойму (скорее всего)
Дайте мне готовую ссылку на мой ролик в том виде в каком он будет воспроизводится, плиз
:smile:
Благодарствую!
yakashey
Новичок
Reputation: 0
With us: 1 year 9 months

Post #398by Sumanai » 17.05.2015, 16:00

Кнопок типа "Поделиться" или "Код встраивания" на странице просмотра видео нет?
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M Online
Гуру
Avatar
Reputation: 1502
With us: 4 yaers

Post #399by yakashey » 17.05.2015, 16:25

неа
открываем http://vk.com/video7834806_161931118?hash=9506b4758e3dfa38
в правом верхнем углу есть три иконки сердечко, мегафон и плюсик-галочка
при нажатии на любую выскакивает окно "вы уверены что хотите закрыть видеозапись?"
У меня повреждена правая рука, мне трудно левой писать и делать эти скриншоты
Что у меня не так, посоветуйте, коротко и ясно, дайте готовую ссылку вставив которую я получу видео в своем собщении
спасибо
Attachments
Снимокvk.jpg
yakashey
Новичок
Reputation: 0
With us: 1 year 9 months

Post #400by HD321kbps » 17.05.2015, 18:00

Для этого вы должны залогинится Вконтакте!
Еще -> Экспортировать -> Прямая ссылка
http://vk.com/video7834806_161931118
HD321kbps M
Гуру
Avatar
Age: 26
Location: Армянск
Reputation: 313
With us: 3 yaers 11 months

PreviousNext

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

Quick reply


Enter the code exactly as it appears. All letters are case insensitive.
Confirmation code
:hi: :smile: :wink: :twisted: :sad: :evil: :smoke: :eh: :eek: :fie: :silenced: :razz: :oops: :help: :spy: :insane: :biggrin: :toothless: :ill: :nervious: :weirdface: :pray: :clap: :think: :boxing: :cyclop: :rambo: :zombie: :cry: View more smilies

   

Return to Мастерская



Who is online (over the past 10 minutes)

Users browsing this forum: 1 guest