Добавление поддержки своих сайтов для мода Aeva Media

Автор Bugo, 21 марта 2010, 19:48:24

« предыдущая - следующая »

0 Пользователей и 1 гость просматривают эту тему.

Bugo

21 марта 2010, 19:48:24 Последнее редактирование: 21 июля 2010, 15:19:17 от digger
Желаем многого, но не хотим уметь
Краткая инструкция по добавлению поддержки индивидуальных сайтов для мода Aeva Media
Есть свет и тьма, есть тьма и свет,
Всегда сменять должны друг друга,
А я теперь ищу ответ,
Как холод ищет злая вьюга.

Вопрос звучит в моей душе,
Как жить среди ночного мрака?
Как в этом мире свет найти?
Ведь мне и днем темно однако.
© Ольга Партала, 2001


Итак, желание добавить какой-то сайт, чтоб ролики с него работали, у Вас появилось. А вот как это сделать, Вы не знаете. Тогда читайте.

Создаем файл Aeva-Sites-Custom.php и вставляем в него следующий блок:
Код
<?php

if (!defined('SMF'))
die('Hacking attempt...');

global $sites;

$sites[] = array(
'id' => 'example',
'title' => 'Example Website',
'website' => 'http://www.example.com',
'type' => 'custom',
'added' => '5.2',
'pattern' => 'http://(?:www\.)?example\.com/video/([0-9a-z]{8})',
'movie' => 'http://www.example.com/player.swf?id=$2',
'size' => array(425, 344),
'ui-height' => 20,
'show-link' => true,
'lookup-title' => '<title>(.*?)</title>',
'fix-html-pattern' => '<object [^>]*><param name="movie" value="$1">.*?</object>',
);

?>


А теперь изучаем указанные параметры:





























































'id' => идентификатор, краткое обозначение сайта, состоящее из 3 и более символов латинского алфавита и цифрПараметр обязательный
'title' => заголовок (название) сайта -- на английском языкеПараметр обязательный
'website' => адрес добавляемого сайта (используется для вставки ссылки рядом с названием сайта в админке)Параметр НЕ обязательный
'type' => тип добавляемого сайта (для сортировки в списке сайтов в админке)Параметр обязательный
'added' => номер версии мода, для которой добавляется поддержка этого сайтаПараметр НЕ обязательный
'pattern' => шаблон, по которому будут обрабатываться (и узнаваться) все ссылки на ролики с добавляемого сайтаПараметр обязательный
'movie' => URL-адрес ссылки на конкретный ролик (шаблон)Параметр обязательный
'size' => размер окна видеомодуля (не стоит указывать слишком большие значения, ибо это может выйти Вам боком)Параметр обязательный
'ui-height' => высота окна проигрывателяПараметр НЕ обязательный
'show-link' => указание, показывать или нет ссылку на исходный видеоролик (по умолчанию ссылка не показывается)Параметр НЕ обязательный
'lookup-title' => указание места, в котором мод будет искать заголовок (название) конкретного видеоролика (можно просто указать true)Параметр НЕ обязательный
'fix-html-pattern' => шаблон, в котором задаётся html-содержание блока для вставки роликов (то самое, что Вы обычно пытаетесь вставить в текст сообщения)Параметр НЕ обязательный


А теперь рассмотрим пример. Допустим, нам надо добавить поддержку роликов с сайта vesti.ru. Конечно, это можно реализовать и с помощью включения Flash в настройках форума -- но ведь это не совсем безопасно. Поэтому начинаем изучать то, что нам известно о вставке роликов с этого сайта.

Итак, адрес странички с клипом выглядит примерно так:
Код
http://www.vesti.ru/videos?vid=номер


URL-адрес ролика представляется примерно в таком виде:
Код
http://www.vesti.ru/i/flvplayer.swf?vid=номер


Код (его можно узнать, кликнув по окну ролика) встраиваемого проигрывателя выглядит так:
Код
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,29,0" width="1440" height="724" id="flvplayer" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="movie" value="http://www.vesti.ru/i/flvplayer.swf?vid=256437&autostart=false" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="devicefont" value="true" /><param name="bgcolor" value="#000000" /><param name="vid" value="256437" /><embed src="http://www.vesti.ru/i/flvplayer.swf?vid=256437&autostart=false" quality="high" devicefont="true" bgcolor="#000000" width="1440" height="724" name="flvplayer" align="middle" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>


Да уж, такой большой код, а вот куда и как его вставить? :) Об этом Вы узнаете далее.

Теперь опять заглядываем в созданный нами ранее файл Aeva-Sites-Custom.php и изменяем расположенный там массив следующим образом:
Код
$sites[] = array(
'id' => 'vst',
'title' => 'Vesti.ru',
'website' => 'http://www.vesti.ru',
'type' => 'custom',
'added' => '5.2',
'pattern' => 'http://(?:www\.)?vesti\.ru/i/([0-9a-z]{8})',
'movie' => '$1',
'size' => array(500, 400),
'show-link' => true,
'lookup-title' => '<title>(.*?)</title>',
'fix-html-pattern' => '<object [^>]*><param name=movie value="$1">.*?</object>',

);


Как видите, всё не так уж и сложно. В качестве типа сайта можно использовать любое из следующих значений: local|pop|video|audio|other|custom. Какое выберите, в такой категории (Локальные, Популярные, Видео, Аудио, Остальные и Пользовательские) и будет потом располагаться добавленный Вами сайт.

Обратите внимание на прописанные шаблоны ('pattern' и 'movie'). А значением параметра 'fix-html-pattern' в данном случае является краткая запись упоминаемого ранее блока для вставки проигрывателя.

Отдельно по параметру 'size': можно указать не только один массив с размером окна ролика, а целых два! Делается это так:
Код
'size' => array('normal' => array(442, 370), 'hd1' => array(730, 586)),

Первый массив содержит нормальный размер, а второй -- hd1 -- размер широкоэкранной версии ролика. Например, для роликов Youtube это часто применяется. И в админке мода можно указать, какую версию роликов предпочтительнее загружать.

Строчка
Код
lookup-title' => '<title>(.*?)</title>',
задает поиск названия ролика между тегами заголовка. Вместо этого можно просто указать true, тогда поиск будет производиться в meta тегах (<meta name="title">).

Всё, что осталось сделать далее -- сохранить файл в папке Sources вашего форума и осуществить небольшое путешествие по админке: Aeva Media => Автовставка => Список сайтов (Aeva Media => Auto-Embedding => Sitelist), найти в списке наш добавленный сайт, отметить его и сохранить изменения. После этого информация о сайте будет добавлена в файл Aeva-Sites.php и Aeva Media сможет обрабатывать ссылки на ролики с vesti.ru:


Однако это не всё. Чтобы вставлять ролики по указанному выше алгоритму, нам придётся каждый раз выискивать код ролика. Но ведь это долго! И лень :) Что же делать? А если хочется просто вставлять ссылку на страницу с роликом и чтоб она сразу автоматически преобразовывалась как надо? Что ж, и это тоже выполнимо. Опять открываем файл Aeva-Sites-Custom.php и меняем наш блок следующим образом:
Код
$sites[] = array(
'id' => 'vst',
'title' => 'Vesti.ru',
'website' => 'http://www.vesti.ru',
'type' => 'custom',
'added' => '5.2',
'pattern' => 'http://(?:www\.)?vesti\.ru/(?:videos\?vid=)(\d{4,10})',
'movie' => 'http://www.vesti.ru/i/flvplayer.swf?vid=$2',
'size' => array(500, 400),
'show-link' => true,
'lookup-title' => true,
'fix-html-pattern' => '<object [^>]*><param name=movie value="$1">.*?</object>',
'fix-html-url' => 'http://www.vesti.ru/videos?vid=$2'

);


Вот и всё! Теперь для вставки ролика в сообщение достаточно вставить ссылку на страницу, содержащую этот ролик. Например, чтобы увидеть ролик, который запечатлен на скриншоте выше, вставим в текст строчку:
Код
http://www.vesti.ru/videos?vid=192230


Кроме того, можно сохранить оба варианта вставки роликов с этого сайта. Для этого сохраним первый блок, изменив название сайта на 'Vesti.ru (1)' и добавим ниже второй блок с названием 'Vesti.ru (2)'. Вот как преобразится файл:
Код
<?php

if (!defined('SMF'))
die('Hacking attempt...');

global $sites;

$sites[] = array(
'id' => 'vst',
'title' => 'Vesti.ru (1)',
'website' => 'http://www.vesti.ru',
'type' => 'custom',
'added' => '5.2',
'pattern' => 'http://(?:www\.)?vesti\.ru/i/([0-9a-z]{8})',
'movie' => '$1',
'size' => array(500, 400),
'show-link' => true,
'lookup-title' => '<title>(.*?)</title>',
'fix-html-pattern' => '<object [^>]*><param name=movie value="$1">.*?</object>',

);

$sites[] = array(
'id' => 'vsi',
'title' => 'Vesti.ru (2)',
'website' => 'http://www.vesti.ru',
'type' => 'custom',
'added' => '5.2',
'pattern' => 'http://(?:www\.)?vesti\.ru/(?:videos\?vid=)(\d{4,10})',
'movie' => 'http://www.vesti.ru/i/flvplayer.swf?vid=$2',
'size' => array(500, 400),
'show-link' => true,
'lookup-title' => true,
'fix-html-pattern' => '<object [^>]*><param name=movie value="$1">.*?</object>',
'fix-html-url' => 'http://www.vesti.ru/videos?vid=$2'

);

?>


Тех, кто осилил так много букв, благодарю за внимание.

Дополнительную информацию ищите в файле Aeva-Sites-Custom-Example.php (обитает в папке Sources вашего форума либо в дистрибутиве мода). Примеры других добавленных сайтов можно найти в файле Aeva-Sites.php. Информацию по регулярным выражениям ищите в сети. Google и Википедия Вам в помощь :)

Pika4y

Не хватает у меня мозгов чтобы сделать это самому... wallbash
Вот попробовал сделать вставку с Ведомостей
пример http://www.vedomosti.ru/politics/video/94_694
У меня получилось вот так

Код
$sites[] = array(
'id' => 'Ved',
'title' => 'Vedomosti.ru',
'website' => 'http://www.vedomosti.ru',
'type' => 'custom',
'added' => '5.2',
'pattern' => 'http://(?:www\.)?vedomosti\.ru/(?:video)/(\d{1,10})_(\d{1,10})',
'movie' => 'http://www.vedomosti.ru/video/nf$2.smf',
'size' => array(500, 400),
'show-link' => true,
'lookup-title' => true,
);

Но не работает.
PS: Предлагаю выкладывать тут готовые решения своих кастомных вставок ^-^

Bugo

Если решение не работает, зачем Вы его выложили?

Pika4y


ganni

Пробовал интегрировать подкасты с rpod.ru - не получилось. Может у кого есть готовое решение? Готов отблагодарить не только словом!  :) Исходный код который выдает rpod выглядит вот так:
Код
<object width="500" height="110" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie"  name="allowfullscreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="110"></embed></object>

kak2z

Уважаемый Буго) Не будете ли Вы так любезны помочь с добавлением новых видео хостингов в Аеву. Ваша инструкция ( http://www.simplemachines.ru/index.php?topic=10112.msg69387#msg69387 ) просто великолепная но моих знаний явно не хватило.
Нужно внедрить видео с ВКонтакта:

Код
<iframe src="http://vkontakte.ru/video_ext.php?oid=82348914&id=147283474&hash=69eeee3953fa2c68" width="607" height="360" frameborder="0"></iframe>


Явно понимаю что нужно использовать эту ссылку http://vkontakte.ru/video_ext.php?oid=82348914&id=147283474&hash=69eeee3953fa2c68 но как использовать не могу разобраться. Спасибо
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

BIOHAZARD

а на... его внедрять? далеко не у всех есть регистрация на вконтакте
далеко за примерами ходить не надо - digger зарегался там с месяц назад, да и то только под давлением общественности, чтоб мод сделать

+ вконтакте любит сюрпризы устраивать - менять шаблон ссылки на видео/аудио
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ


Bugo

Вообще-то целью создания этой темы являлось не накопление вопросов и просьб, а предложение поделиться с другими своими готовыми (!) решениями :)

Если данной инструкции недостаточно, есть более полная, в русификации => http://dragomano.ru/page/aeva-media

pinkfloyd

11 сентября 2010, 16:14:53 #9 Последнее редактирование: 11 сентября 2010, 17:51:06 от pinkfloyd
digger у вас получилось сделать видео по указанной в первом сообщении схеме?

Plazik

Готового кода для вконтакте ни у кого нет? Чтобы одно и тоже снова делать.

pinkfloyd он через код html вставлял в этой теме.

pinkfloyd

А как на своем форуме это сделать, что за теги? В общем как сделать, что вставлять, что бы пользователь свог сделать так же)

Plazik

Нажми кнопку цитирования сообщения digger'а и увидишь.

Но включать поддержку html кодов не рекомендуется из за соображений безопасности.


pinkfloyd

Просто смысл выкладывать тогда было видео?

Drakonsa

Цитата: pinkfloyd от 12 сентября 2010, 13:09:42
Просто смысл выкладывать тогда было видео?

Показывать реализацию как можно выкладывать.

a_l

ЦитироватьГотового кода для вконтакте ни у кого нет? Чтобы одно и тоже снова делать.

Для вставки видео из вконтакте необходимо знать хэш, из обычной ссылки (вида http://vkontakte.ru/video51622978_152917366 ) его без извращений не получить. Такие вот пироги :-\
Остаётся пропускать пользовательский айфрейм из "Получить код видео". Хотя большинство пользователей используют обычную ссылку...

romans13

28 марта 2011, 14:34:43 #17 Последнее редактирование: 28 марта 2011, 15:07:17 от romans13
1. Здравствуйте, пробую добавлять mp3 файл с сервиса dropbox.com  - говорит "вставка не поддерживается".

хотя в списке конфига галочка dropbox выставлена.

пробоавл по разному писать URL. все равно не хочет вставлять.

2. и еще не подскажете в какой таблице храняться данные по видео\аудио файлам?

3. незарегистрированным пользователям НЕ видна сслыка на галерею. и когда переходишь по ссылке говорит ошибка! надо зарегистрироваться. Но ведь в галерее есть альбомы не приватные. Почему они не открываются?


Спасибо.

romans13

про незарегистрированых пользователей разобрался. переустановил и все заработало

danilaxxl

Цитата: BIOHAZARD от 15 июля 2010, 17:54:26
а на... его внедрять? далеко не у всех есть регистрация на вконтакте
далеко за примерами ходить не надо - digger зарегался там с месяц назад, да и то только под давлением общественности, чтоб мод сделать

+ вконтакте любит сюрпризы устраивать - менять шаблон ссылки на видео/аудио
Но всёже может у кого нибудь есть поддержка контакта? Сейчас он очень популярен. И мне бы очень хотелось бы реализовать ьакую возможность. P. S. как поставить кнопочку посоветовать друзьям в контакте, твиттере и тд. и тп.

karavan

Цитата: danilaxxl от 20 июля 2011, 10:29:54P. S. как поставить кнопочку посоветовать друзьям в контакте, твиттере и тд. и тп.

http://dragomano.ru/page/social-media-icons  (кстати имеется в архиве у меня версия для РС-4, если что обращайтесь ;) )

kortin

У меня не вставляется видео из myvi.ru, хотя этот ресурс имеется в файле Aeva-Sites.php
вот такой там код
Код
array(
'id' => 'myi',
'pattern' => '(http://(?:www\.)?myvi\.ru/ru/flash/player/[\w-]{45})',
'movie' => '$2',
'size' => array(450, 418),
'fix-html-pattern' => '<object [^>]*><param name="movie" value="$1" /><param name="wmode" value="window" /><param name="allowFullScreen" value="true" /><embed[^<>]*?></embed></object>',
'fix-html-url' => '$2',
'lookup-url' => 'http://(?:www\.)?myvi\.ru/ru/videodetail\.aspx\?video=[\w-]{32}&(?:amp;)?ap=(?:\d{1})',
'lookup-pattern' => '&lt;param name=&quot;movie&quot; value=&quot;(http://(?:www\.)?myvi\.ru/ru/flash/player/[\w-]{45})&quot; />',
),


В чем проблема?

Bugo


День

06 ноября 2011, 06:50:27 #23 Последнее редактирование: 06 ноября 2011, 09:57:29 от День
Работает ли данный способ при использовании Aeva-Lite 7.2?

вставил код из примера
в созданный мной Aeva-Sites-Custom.php, скопировал в папку Sources, но в админке в списке сайтов не появляется новый добавленный


Разобрался, в лайт версии файл должен называться Subs-Aeva-Custom.php


Подскажите, имеется код к видео, со ссылки http://www.pinkbike.com/video/225690
Код
<object width='500' height='281'><param name='allowFullScreen' value='true' /><param name='AllowScriptAccess' value='always' /><param name='movie' value='http://www.pinkbike.com/v/225690' /><embed src='http://www.pinkbike.com/v/225690' type='application/x-shockwave-flash' width='500' height='281' allowFullScreen='true' AllowScriptAccess='always' /></embed></object>


Я редактирую файл Subs-Aeva-Custom.php (т.к. я использую лайтовую версию этого мода), пишу
Код
$sites[] = array(
    'id' => 'pnkbk',
    'title' => 'Pinkbike.com',
    'website' => 'http://www.pinkbike.com',
    'type' => 'custom',
    'added' => '5.2',
    'pattern' => 'http://(?:www\.)?pinkbike\.com/video/([0-9a-z]{8})',
    'movie' => 'http://www.pinkbike.com/v/225690',
'size' => array(500, 400),
'ui-height' => 20,
'show-link' => true,
'lookup-title' => '<title>(.*?)</title>',
'fix-html-pattern' => '<object [^>]*><param name="movie" value="$1">.*?</object>',
);


Что я сделал не так?


halleh

Цитата: digger от 14 июня 2012, 05:54:29
Я запилил автовставку видео из ВКонтакта  :P


отлично, и? ... это просто похвалиться или как?

Stobard

01 сентября 2013, 11:43:58 #26 Последнее редактирование: 01 сентября 2013, 15:28:10 от Stobard
Всем привет!
Нужно настроить вставку видео по этому примеру с сайтов для взрослых.
За один сайт 100 руб.
Оплата на яндекс деньги.
Кто сможет?Пишите в ЛС

remingtone

прикрутил coub, но он зараза ж запускается автоматом. если более 1 ролика на странице - представляете себе... как бы его одолеть, чтобы автоматом не запускалось воспроизведение?

Rik

Цитата: okk от 14 декабря 2013, 21:54:39
прикрутил coub, но он зараза ж запускается автоматом. если более 1 ролика на странице - представляете себе... как бы его одолеть, чтобы автоматом не запускалось воспроизведение?


хотелось бы поинтересоваться получилось ли запилить поддержку  или всетакие не стоит связываться ?  что  то  у меня не как не выходит с этими кубами :(

Шева

Подскажите кто знает.
На своем сайте кроме папок форума есть папка, в ней лежат видеофайлы flv и MP4.
Как можно прикрутить показ видео на форуме из этой папки средствами Aeva Media? Не заливая файлы через галерею.
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Rik

Цитата: Шева от 22 мая 2014, 11:46:59
Подскажите кто знает.
На своем сайте кроме папок форума есть папка, в ней лежат видеофайлы flv и MP4.
Как можно прикрутить показ видео на форуме из этой папки средствами Aeva Media? Не заливая файлы через галерею.




Советую поискать player mod, я как то экспериментировал  все работало отлично вот только не помню какой player использовал

Шева

Дело в том, что я как бы закинул туда (в папку) свой плеер и на форуме просто вставлял через тег flash.
На форуме 1.1.19 все работало. А на новой версии движка 2.0.7 с установленным Aeva Media - плеер проигрывает видео, но не открывает на весь экран (по кнопке на весь экран).

А встроенный плеер Aeva Media открывает (видеофайлы из галереи), но вот как замудрить так, чтобы он открывал видео из "левой" папки на сайте?
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Шева


Цитата: Rik от 22 мая 2014, 12:05:51

Советую поискать player mod, я как то экспериментировал  все работало отлично вот только не помню какой player использовал


Поставил мод JW Player
http://custom.simplemachines.org/mods/index.php?mod=2529

Все начало нормально работать. В целом - спасибо за подсказку.  ;)
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Rik

блин,  может быть множество причин,  надо копать :(   может конфликт какой ХЗ. не очень знаком с  Aeva  сорри :( удачи

Beer

Гугль переходит на новые карты - все старые карты будут переведены автоматом в течение неск. месяцев.
Для показа новых карт:
Код
//mapsengine.google
$sites[] = array(
'id' => 'gmaps',
'title' => 'Mapsengine Google',
'type' => 'custom',
'plugin' => 'html',
'website' => 'https://mapsengine.google.com',
'pattern' => '(https://mapsengine\.google\.[^">]+/\w*?\?[^">]+)',
'movie' => '<iframe class="aext" width="{int:width}" height="{int:height}" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="$1&amp;output=embed"></iframe>',
'size' => array(500, 400),
'ui-height' => 0,
'fix-html-pattern' => '<iframe [^>]+src="$1"></iframe>(?:<br /><small>000000000.*?</small>)?',
'fix-html-url' => '$1',
);


Все работает. Код от карт вставляется так:
Код
[html]<iframe src="https://mapsengine.google.com/map/embed?mid=tru-la-la" width="640" height="480"></iframe>[/html]


Но вот в одном сообщении почему-то у меня код отображается только если вставить так:
Код
https://mapsengine.google.com/map/embed?mid=tru-la-la


Если же вставить как положено (см. выше), то получаю такое:
Код
<iframe src="\&quot;https://mapsengine.google.com/map/embed?mid=tru-la-la\&quot;" width="\&quot;640\&quot;" height="\&quot;480\&quot;"></iframe>


В этом сообщении (первом) правда картинки приаттачены - может они влияют - хз.
Во всех других сообщениях пробовал - работает. Думается - можно пользоваться.

Дя поправят меня гуру....