Youtube BBCode - установка вручную.

Автор kagorec, 08 января 2009, 18:43:25

« назад - далее »

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

kagorec

YouTube BBCode - Просто вставка видео с Youtube.com
http://custom.simplemachines.org/mods/index.php?mod=936
-
1.
<file name="$languagedir/Modifications.english.php">
<operation>
<search position="end" />
<add><![CDATA[
$txt['youtube'] = 'YouTube';
$txt['youtube_invalid'] = '#Invalid YouTube Link#';
]]></add>
</operation>
</file>


2.
./Sources/Subs.php
после
array(
'tag' => 'white',
'before' => '<span style="color: white;">',
'after' => '</span>',
),


добвить

array(
'tag' => 'youtube',
'type' => 'unparsed_content',
'validate' => create_function('&$tag, &$data, $disabled', '
// Access globals
global $txt, $context;
// Determine which variable is the link
$link = !is_array($data) ? $data : $data[0] ;
// Remove linebreaks & trim
$link = trim(strtr($link, array(\'<br />\' => \'\')));
// Parse the ID of video or playlist safely
if  (preg_match(\'~^(?:http://((?:www|au|br|ca|es|fr|de|hk|ie|in|il|it|jp|kr|mx|nl|nz|pl|ru|tw|uk)\.)?youtube\.com/(?:[^"]*?)(?:(?:video_)?id=|(?:v|p)(?:/|=)))?([0-9a-f]{16}|[0-9a-z-_]{11})~i\'.($context[\'utf8\'] ? \'u\' : \'\'), $link, $matches))
{
// Localised youtube site?  If not use www.
$site = !empty($matches[1]) ? strtolower($matches[1]) : \'www.\' ;
// Video or Playlist ID?
$type = strlen($matches[2]) == 11 ? 1 : 0 ;
// Set sizes Or Normalise sizes (If sizes are <100 or > 780)
if(!is_array($data) || ($data[1] > 780 || $data[1] < 100 || $data[2] > 780 || $data[2] < 100))
$data = array(0, 425, ($type ? 350 : 355));
// Set ID in the array
$data[0] = $matches[2];
// Tidy up
unset($matches, $link);

// Set the Content (With conditions on disabled types of BBCode)
if (isset($disabled[\'url\']) && isset($disabled[\'youtube\']))
// Youtube & Url bbc disabled? (eg Printer friendly pages)
$tag[\'content\'] = "http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0];
elseif(isset($disabled[\'youtube\']))
// Only Youtube is disabled, So make an active link
$tag[\'content\'] = "<a href=\"http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."\" target=\"_blank\">http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."</a>";
else
{
// Empty content
$tag[\'content\'] = \'\';

// Build the <object> (Non-Mac IE Only)
if($context[\'browser\'][\'is_ie\'] && !$context[\'browser\'][\'is_mac_ie\'])
$tag[\'content\'] = \'<object width="\'.$data[1].\'px" height="\'.$data[2].\'px">\'
.\'<param name="movie" value="http://www.youtube.com/\'.($type ? "v" : "p").\'/\'.$data[0].\'&amp;rel=1&amp;fs=1" />\'
.\'<param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" />\'
.\'<param name="allowScriptAccess" value="never" />\';
// Build the <embed>
$tag[\'content\'] .= \'<embed src="http://www.youtube.com/\'.($type ? "v" : "p").\'/\'.$data[0].\'&amp;rel=1&amp;fs=1" \'
.\'type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="never" \'
.\'wmode="transparent" width="\'.$data[1].\'px" height="\'.$data[2].\'px">\';
// Build the <noembed>
$tag[\'content\'] .= "<noembed><a href=\"http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p" ) ."=". $data[0]."\" target=\"_blank\">http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."</a></noembed>";
// Closing <embed>
$tag[\'content\'] .= \'</embed>\';
// Close the <object> (Non-Mac IE Only)
if($context[\'browser\'][\'is_ie\'] && !$context[\'browser\'][\'is_mac_ie\'])
$tag[\'content\'] .= \'</object>\';
}
}
else
// Invalid link
$tag[\'content\'] = $txt[\'youtube_invalid\'];
'),
'disabled_content' => '$1',
            ),
array(
'tag' => 'youtube',
'type' => 'unparsed_commas_content',
'test' => '\d+,\d+\]',
'validate' => create_function('&$tag, &$data, $disabled', '
// Access globals
global $txt, $context;
// Determine which variable is the link
$link = !is_array($data) ? $data : $data[0] ;
// Remove linebreaks & trim
$link = trim(strtr($link, array(\'<br />\' => \'\')));
// Parse the ID of video or playlist safely
if  (preg_match(\'~^(?:http://((?:www|au|br|ca|es|fr|de|hk|ie|in|il|it|jp|kr|mx|nl|nz|pl|ru|tw|uk)\.)?youtube\.com/(?:[^"]*?)(?:(?:video_)?id=|(?:v|p)(?:/|=)))?([0-9a-f]{16}|[0-9a-z-_]{11})~i\'.($context[\'utf8\'] ? \'u\' : \'\'), $link, $matches))
{
// Localised youtube site?  If not use www.
$site = !empty($matches[1]) ? strtolower($matches[1]) : \'www.\' ;
// Video or Playlist ID?
$type = strlen($matches[2]) == 11 ? 1 : 0 ;
// Set sizes Or Normalise sizes (If sizes are <100 or > 780)
if(!is_array($data) || ($data[1] > 780 || $data[1] < 100 || $data[2] > 780 || $data[2] < 100))
$data = array(0, 425, ($type ? 350 : 355));
// Set ID in the array
$data[0] = $matches[2];
// Tidy up
unset($matches, $link);

// Set the Content (With conditions on disabled types of BBCode)
if (isset($disabled[\'url\']) && isset($disabled[\'youtube\']))
// Youtube & Url bbc disabled? (eg Printer friendly pages)
$tag[\'content\'] = "http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0];
elseif(isset($disabled[\'youtube\']))
// Only Youtube is disabled, So make an active link
$tag[\'content\'] = "<a href=\"http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."\" target=\"_blank\">http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."</a>";
else
{
// Empty content
$tag[\'content\'] = \'\';

// Build the <object> (Non-Mac IE Only)
if($context[\'browser\'][\'is_ie\'] && !$context[\'browser\'][\'is_mac_ie\'])
$tag[\'content\'] = \'<object width="\'.$data[1].\'px" height="\'.$data[2].\'px">\'
.\'<param name="movie" value="http://www.youtube.com/\'.($type ? "v" : "p").\'/\'.$data[0].\'&amp;rel=1&amp;fs=1" />\'
.\'<param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" />\'
.\'<param name="allowScriptAccess" value="never" />\';
// Build the <embed>
$tag[\'content\'] .= \'<embed src="http://www.youtube.com/\'.($type ? "v" : "p").\'/\'.$data[0].\'&amp;rel=1&amp;fs=1" \'
.\'type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="never" \'
.\'wmode="transparent" width="\'.$data[1].\'px" height="\'.$data[2].\'px">\';
// Build the <noembed>
$tag[\'content\'] .= "<noembed><a href=\"http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p" ) ."=". $data[0]."\" target=\"_blank\">http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."</a></noembed>";
// Closing <embed>
$tag[\'content\'] .= \'</embed>\';
// Close the <object> (Non-Mac IE Only)
if($context[\'browser\'][\'is_ie\'] && !$context[\'browser\'][\'is_mac_ie\'])
$tag[\'content\'] .= \'</object>\';
}
}
else
// Invalid link
$tag[\'content\'] = $txt[\'youtube_invalid\'];
'),
'disabled_content' => '$1',
),


и еще
$disabled['email'] = true;
$disabled['flash'] = true;

Добавить
// Disable youtube if on 'printer friendly page'
$disabled['youtube'] = true;



Открыл архив и поставил вручную, но кнопка на ббкодах не появилась, сам код [youtube] не парсится, подскажите в чем дело может быть?
п.с. ставил вручную т.к. в автоматическом режиме пишет ошибки с сессиями.
SMF - отличная альтернатива платному  vBulletin форуму. Разница в 250$ ощутима =)))
Интеграция DLE + SMF любой версии, 100% гарантии нет но основные функции работать будут независимо от версий.

Trstikus

Еще надо поправить файл: $themedir/Post.template.php
Найди строку, что начинается на:
'flash' => array('code' => 'flash',
и после неё добавь строку:
'youtube' => array('code' => 'youtube', 'before' => '[youtube]', 'after' => '[/youtube]', 'description' => $txt['youtube']),


Также из архива скопируй файл youtube.gif в папку ..forum/Themes/[themename]/images/bbc/

Drakonsa

Из личного опыта, стоял на форуме этот тег, потом я узнал про прекрасную штуку АЕВА и забыл про этот навсегда.

OstLand

Цитата: Drakonsa от 21 мая 2009, 23:31:30
Из личного опыта, стоял на форуме этот тег, потом я узнал про прекрасную штуку АЕВА и забыл про этот навсегда.
Можно поподробнее, что за АЕВА такая?


DarkTemplar

Собственно как раз решил поставить аева, никто не прикручивал возможность просмотра видио с рутуб? или так-же пашет как и с ютуба?

BIOHAZARD

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

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

DarkTemplar

#7
Хм, поставил аево, а она в свою очередь оставила большой копирайт в самом низу страницы, что-то не могу найти его в коде чтобы убрать, не подскажите в каком он файлике?

UPD  нашел, в Subs-Aeva щас буду пробовать убрать :)

UPD2 убрал просто поставив размер шрифта 0 и стерев текст, но скрипт поидеи выполняется, если кто подскажет как его убить полностью буду благодарен :)

вот такой там код
$scr .= '
var oldLoad = window.onload;
window.onload = function() { if (typeof(oldLoad) == "function") oldLoad(); aevacopy(); }
function aevacopy()
{
var copy = document.getElementById("footerarea");
if (typeof(copy) == "undefined" || copy == null)
copy = document.body;
var copyfoot = document.createElement("div");
setInnerHTML(copyfoot, \'<div align="center" style="padding: 0px; font-weight: bold">Video embedding by Aeva, &copy; <a href="http://noisen.com" target="_blank">Noisen</a></div>\');
copy.appendChild(copyfoot);
}';

BIOHAZARD

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

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

panglos

Цитата: Drakonsa от 21 мая 2009, 23:31:30
Из личного опыта, стоял на форуме этот тег, потом я узнал про прекрасную штуку АЕВА и забыл про этот навсегда.
я обновил форум до версии 1.1.10 и она перестала работать,в пред едущей 1.1.9 работала.а сейчас нет,подскажи что делать?

BIOHAZARD

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

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

panglos

Цитата: BIOHAZARD от 16 июля 2009, 09:35:20
переустановить мод
Я переустановил его  по новой в версии 1.1.10,все равно не пашет,а вернулся в предыдущею версию-запахал.
в инструкции к моду,написаны все совместимые версии.а 1.1.10 в списке нет.

Drakonsa

Цитата: panglos от 16 июля 2009, 11:40:55
Я переустановил его  по новой в версии 1.1.10,все равно не пашет,а вернулся в предыдущею версию-запахал.
в инструкции к моду,написаны все совместимые версии.а 1.1.10 в списке нет.
После обновления мод то хоть включил?

panglos

Цитата: Drakonsa от 16 июля 2009, 14:34:58
После обновления мод то хоть включил?
конечно,когда десятая легла,я его удалил,и по новой поставил и включил,а в ответ только белые квадраты.если у тебя есть возможность найди мне форум с десятой версией и видео по моду(АЕВА)
я искал и пока не нашел,заранее спасибо.


Predator

Мод для Youtube появился, или таки все в ручную надо.......  ?
иливсе через флеш ?

Beer

 Он размер плеера малеха изменяет, чтобы плеер был таким же как на ютубе в Subs.php
Ищем:
$data = array(0, 425, ($type ? 350 : 355));
Меняем на:
$data = array(0, 640, ($type ? 390 : 355));

Овсянка

Подскажите пожалуйста.
Мод You Tube bbcode 2.6

Вылазят вот такие вот предупреждения

Цитировать8: Undefined index: youtube
Файл: html/Themes/default/languages/Post.russian.php (main sub template - eval?)
Строка: 778

йа так понимаю это из-за того, что нету перевода в этом файле для данного тега?
Окей, но там всего 185 строчек. Почему оно глаголит на 778ю
Я думал на тестовом форуме переключить на английский, установить мод и выдрать от туда строчку, но ее там нету тоже.
Подскажите как вылечить.

И еще иногда бывает выскакивает
Применить фильтр: Показать ошибки только с теми сообщениями
Цитировать8: Undefined index: youtube_invalid
Файл: /Sources/Subs.php(1691) : runtime-created function
Строка: 56
- это йа так понимаю кривая или неправильная ссылка , да?
Ватсон, овсянка [censure] Оо

Bugo

Обе ошибки говорят об отсутствии перевода. Скопируйте его из Modifications.english.php (или Post.english.php — точно не помню).