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: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months


Post #41by VEG » 05.09.2012, 21:17

lepag, постойте, заменять ничего не надо. В phpBBex подключается jQuery по умолчанию. Если в моде есть строки, подключающие другие jQuery — их просто не нужно вставлять в шаблон. Иначе у вас вхолостую будет загружаться сразу две копии. Я однажды на своей работе видел сразу 3 копии разных версий jQuery (одна девушка постаралась) — и оно даже работало :) Но это ведь не порядок.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #42by lepag » 05.09.2012, 21:22

Получается такие строки не нужно вставлять?
<!-- IF S_MCHAT_ENABLE and (S_MCHAT_ON_INDEX or U_MCHAT) -->
<script type="text/javascript" src="{ROOT_PATH}mchat/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="{ROOT_PATH}mchat/jquery_cookie_mini.js"></script>
<!-- ENDIF -->

Добавлено спустя 20 минут 47 секунд:
все разобрался, не вставлять только <script type="text/javascript" src="{ROOT_PATH}mchat/jquery-1.7.2.min.js"></script>
lepag
Новичок
Reputation: 16
With us: 5 years 3 months

Post #43by Predator » 12.09.2012, 22:37

Плеер не воспроизвел вот это видео:

http://rutube.ru/video/ac5c3685b4705067adaeef7629668a36/#

код тоже не принял

http://rutube.ru/embed/5438967

где рыть ?


рутубовский вариант тэга тоже не воспроизвел

Code: Select all

[rutube]http://rutube.ru/tracks/{SIMPLETEXT1}.html?v={SIMPLETEXT2}[/rutube]

<OBJECT width="600" height="450"><PARAM name="movie" value="http://video.rutube.ru/{SIMPLETEXT2}"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/{SIMPLETEXT2}" type="application/x-shockwave-flash" wmode="window" width="600" height="450" allowFullScreen="true" ></EMBED></OBJECT>


Predator
Новичок
Reputation: 0
With us: 5 years 3 months

Post #44by VEG » 13.09.2012, 13:07

Predator, формат ссылок на rutube.ru изменился. Поддержку нового формата только что добавил. Но, к сожалению, они убрали возможность использовать адрес страницы — теперь поддерижвается только адрес из кода встраивания.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #45by Predator » 13.09.2012, 23:49

и где тег ?
Predator
Новичок
Reputation: 0
With us: 5 years 3 months

Post #46by VEG » 14.09.2012, 01:01

Predator, в первом сообщении :) Если у вас всё ещё не работает, очистите кэш.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #47by JoteRuso » 15.09.2012, 21:25

Правильно ли я понимаю, что в связи с какими-то изменениями на рутубе и последующим добавлением поддержки нового формата нам всем тоже теперь надо что-то у себя заменить? :spy:
Или у нас всё должно продолжать нормально воспроизводиться?
JoteRuso M
Гуру
Avatar
Location: Москва, Россия
Reputation: 535
With us: 5 years 7 months

Post #48by VEG » 15.09.2012, 22:57

JoteRuso, старые ссылки из кода встраивания будут работать, старые ссылки на страницу видео скорее всего не будут рабоать (ранее я не рекомендовал использовать адрес страницы для rutube из-за подобных опасений). На данный момент адрес страницы видео на rutube ещё не выдаёт ошибку, а отображает пустой плеер (есть вероятность, что они вернут старую возможность). Если не вернут — выведу ошибку в таком случае.
Вообще не понимаю, почему некоторые сервисы избегают однозначного преобразования адреса страницы в код встраивания. У vk.com это можно объяснить настройками приватности и возможностью добавления видео с разных сервисов (там вполне может оказаться youtube), но почему rutube вставляет палки в колёса — я не понимаю.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #49by JoteRuso » 15.09.2012, 23:25

VEG, спасибо за пояснения. Подождём "развития сюжета" )))
Может всё и устаканится :smile:
JoteRuso M
Гуру
Avatar
Location: Москва, Россия
Reputation: 535
With us: 5 years 7 months

Post #50by VEG » 24.09.2012, 19:59

Добавил в первое сообщение небольшой обзор наиболее популярных проблем и пути их решения.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #51by Vadzik » 04.10.2012, 23:35

VEG wrote:JoteRuso, вы делали всё правильно. Это я забыл, что у Google доменов куча, и нужно поддерживать домены, отличные от .com :) Исправлено.
А можно попросить еще и .ua добавить, а то ошибку выдает...
Vadzik M
Новичок
Age: 36
Location: Киев
Reputation: 3
With us: 5 years 2 months

Post #52by VEG » 05.10.2012, 00:04

Vadzik, должно ua работать. Видимо, у вас какой-то неподдерживаемый формат ссылки.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #53by Vadzik » 05.10.2012, 00:49

VEG wrote:Vadzik, должно ua работать. Видимо, у вас какой-то неподдерживаемый формат ссылки.

если убрать .ua карту нормально выводит
Vadzik M
Новичок
Age: 36
Location: Киев
Reputation: 3
With us: 5 years 2 months

Post #54by VEG » 05.10.2012, 01:03

Vadzik, ааа, так у вас адрес google.com.ua? Так бы сразу и сказали. Третьего уровня домены google действительно не поддерживаются. Подумаю, как это можно решить общим и безопасным способом.

Добавлено спустя 53 минуты 35 секунд:
Vadzik, всё, проблема решена. Должны поддерживаться и google.com.ua.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #55by Vadzik » 05.10.2012, 08:56

VEG wrote:Vadzik, всё, проблема решена. Должны поддерживаться и google.com.ua.
Спасибо, карту стало выводить. Но есть маленькие проблемки, может кто нибуть стыкался: показывает на карте здания из соседнего квартала и нет, красного указателя. Попробую еще поэкспериментировать.....
Vadzik M
Новичок
Age: 36
Location: Киев
Reputation: 3
With us: 5 years 2 months

Post #56by VEG » 05.10.2012, 09:24

Vadzik, то что вы хотите вставить во вложении должно быть посередине экрана (берутся координаты центра). Затем нажимайте кнопку «Получить ссылку» а не копируйте адрес из адресной строки.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #57by Vadzik » 05.10.2012, 23:00

VEG wrote:Vadzik, то что вы хотите вставить во вложении должно быть посередине экрана (берутся координаты центра). Затем нажимайте кнопку «Получить ссылку» а не копируйте адрес из адресной строки.
Я так и делал, брал ссылку не из адресной строки, дело оказалось банальней, просто буква в адресе почему то не отображается в картах гугл, поставил другую для пробы все четенько, и по центру и маркер указывает....
Vadzik M
Новичок
Age: 36
Location: Киев
Reputation: 3
With us: 5 years 2 months

Post #58by VEG » 14.10.2012, 20:39

Прямые трансляции Youtube также поддерживаются:
phpBB [media]
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #59by angst66 » 20.10.2012, 16:18

А если на форуме долгое время пользовались кодами видео и аудио, как изменить в сообщениях эти коды на медиа? Руками долго.
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Post #60by VEG » 20.10.2012, 16:26

angst66, просто оставьте audio и video, но скройте их в админке. Ну и соответственно [media] должен отображаться.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

PreviousNext

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