Вbcode видео с smotri.com

Alice

Пользователь
#1
Название: ВВ-code smotri.com
Автор: Alice
Описание: добавляет возможность вставки видеороликов со Smotri.com на вашем трекере.
Время установки: ~ 2 минуты
Сложность: легко

includes/bbcode.php


Найти:
Код:
$bbcode_tpl['spoiler_close'] = <<<HTML
        </div>
    </div>
HTML;
Добавить после:
Код:
// Smotri
$bbcode_tpl['smotri'] = <<<HTML
<object width="640" height="360" type="application/x-shockwave-flash" data="http://pics.smotri.com/player.swf&quest;file=v\\1&amp;bufferTime=3&amp;autoStart=false&amp;str_lang=rus&amp;xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&amp;xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml">
<param name="movie" value="http://pics.smotri.com/player.swf&quest;file=v\\1&amp;bufferTime=3&amp;autoStart=false&amp;str_lang=rus&amp;xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&amp;xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" />
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" />
<param name="bgcolor" value="#ffffff" />
</object>
HTML;
Найти:
Код:
var $block_tags = array(
Добавить после:
Код:
'smotri',
Найти
Код:
$this->preg = array(
Добавить после:
Код:
'#\[smotri\]http://?smotri.com/video/view/\?id=v([a-zA-Z0-9_]+)\[/smotri\]#is' => $tpl['smotri'],
Найти
Код:
$this->str = array(
Добавить после:
Код:
'[smotri]'        => $tpl['smotri'],             '[/smotri]'        => '',
Для вставки видео используется ссылка на него.
Если ошиблась, прошу старожилов ткнуть в ошибки. :)
 

RomM1

Пользователь
#3
Лишний код. Не легче так?
Найти:
PHP:
// Code
Перед добавить:
PHP:
// smotri
$bbcode_tpl['smotri'] = <<<HTML
<object width="640" height="360">
<param name="movie" value="http://pics.smotri.com/player.swf?file=v\\1&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" />
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" />
<param name="bgcolor" value="#ffffff" /><embed src="http://pics.smotri.com/player.swf?file=v\\1&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" quality="high" allowscriptaccess="always" allowfullscreen="true" wmode="opaque"  width="640" height="360" type="application/x-shockwave-flash"></embed>
</object>
HTML;
Найти:
PHP:
$this->preg = array(
После добавить:
PHP:
'#\[smotri\]http://?smotri.com/video/view/\?id=v([a-zA-Z0-9_]+)\[/smotri\]#is' => $tpl['smotri'],
 

Alice

Пользователь
#4
Лишний код. Не легче так?
Что-то я не уверена, что так легче.:)
Объясните мне четыре вещи.
1. Зачем в предложенном Вами ВВ-коде id="smotriComVideoPlayerv19444084917_1324536990.9776_562"? Что будет с валидностью страницы, если пользователь вставит на страницу несколько таких ВВ-кодов?
2. Зачем в теге object атрибут classid?
3. Какие современные браузеры не поддерживают object? Кто проверял переписываемую из года в год байку о том, что Netscape на PC и в Mac, Internet Explorer и Safari в Mac не поддерживают ActiveX, поэтому они используют данные, предоставляемые элементом embed?
4. embed, насколько я в курсе, используется на всякий случай для того, чтобы видео могли показать даже очень старые браузеры. В разметке TorrentPierII есть теги, допускаемые только в спецификации HTML-5. Например, тот же wbr.
В чем тогда смысл поощрять пользователя юзать старый браузер и писать код для вставки флешки, который могут понять и старые браузеры?
 

RomM1

Пользователь
#5
Alice, делал на скорую руку, не заметил ошибок. Ради эксперимента заменил свой код на ваш и как писал Varius ничего не работает.
 

Alice

Пользователь
#6
Alice, делал на скорую руку, не заметил ошибок. Ради эксперимента заменил свой код на ваш и как писал Varius ничего не работает.
А где Varius писал, что ничего не работает?
И может, Вы опять делали на скорую руку и где-нибудь ошиблись, когда меняли коды? :rolleyes:
У меня все работает, и ВВ-код для смотри.ком, и для ютуб.ком.:) Например:

Please Login or Register to view hidden text.


Причем, я аналогичные Вв-коды когда-то писала для phpbb3. В смысле, тоже без embed. Жалоб "а мне не видно видео" от пользователей не было...
 

RomM1

Пользователь
#7
Alice, видимо уже потерли пост. У меня без embed в smotri.com не работает, остальные без него. Вот моё:

Please Login or Register to view hidden text.

 

Alice

Пользователь
#8
перешла по ссылке.
первое видео вижу, второе нет, третье - вижу, четвертое - нет.
смотрю в исходнике, при вставке с rutub-a убран embed и не добавлена data для object. тоже самое для youtube.
Если убирать из кода, предложенного видеохостингом, embed, то как же браузер без добавления атрибута data в object поймет, что показывать в object?
Вы добавляли data в свой ВВ-код smotri.com или просто убрали embed?
 

Alice

Пользователь
#10
RomM1, мы оба новички на ТП2. Вы, наверно, больше программер, чем верстальщик. А я наоборот... php-cкрипты "читаю и перевожу со словарем".
В принципе, мы о какой-то ерунде диспут устроили, потому что как по-правильному вкорячить флеш на страницу все тырнеты исписаны уже давно.
Вот смотрите. У Вас на страничках в доктайпе объявлен строгий НТМЛ 4.01.
embed в спецификации НТМЛ 4.01 не допускается, он допустим только в НТМЛ-5. Конечно, ничего такого смертельного от того, что в НМТЛ 4.01 засунут тег embed не произойдет.
Но если уж совсем по-правильному, то при таком доктайпе embed в разметку совать не кашерно.
Ну, и смысла особого, наверно, нет, раз все современные браузеры понимают object.