Re: Мультимедиа в IPB
Видимо ищите вот это:
Цитата:
Распознает видео с
video.mail.ru
rutube.ru
www.youtube.com (ru.youtube.com)
smotri.com
|
Код:
//------------------------------------------------//
// ./sources/classes/bbcode/class_bbcode_core.php //
//------------------------------------------------//
Найти:
$show = $url['show'];
Добавить после этого:
if(preg_match("/^http:\/\/video\.mail\.ru\/(.+?)\/(.+?)\/(.+?)\/(\d+)\.html$/i",$show,$m))
{
return '<object width="400" height="300"><param name="flashvars" value="imaginehost=video.mail.ru&perlhost=video.mail.ru&alias='.$m[1].'&username='.$m[2].'&albumid='.$m[3].'&id='.$m[4].'&catalogurl=http://video.mail.ru/catalog/misc/&tagurl=" /><param name="allowscriptaccess" value="never" /><param name="movie" value="http://img.mail.ru/r/video2/player_v2.swf?par=http://content.video.mail.ru/'.$m[1].'/'.$m[2].'/'.$m[3].'/$'.$m[4].'$0$0" /><embed src="http://img.mail.ru/r/video2/player_v2.swf?par=http://content.video.mail.ru/'.$m[1].'/'.$m[2].'/'.$m[3].'/$'.$m[4].'$0$0" type="application/x-shockwave-flash" width="452" height="385" flashvars="imaginehost=video.mail.ru&perlhost=video.mail.ru&alias='.$m[1].'&username='.$m[2].'&albumid='.$m[3].'&id='.$m[4].'&catalogurl=http://video.mail.ru/catalog/misc/" allowscriptaccess="never"></embed></object>';
}
if(preg_match("/^http:\/\/rutube\.ru\/tracks\/(.+?)\.html\?v=(.+?)$/i",$show,$m))
{
return '<object width="400" height="353"><!--'.$m[1].'--><param name="movie" value="http://video.rutube.ru/'.$m[2].'"></param><param name="wmode" value="window"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="never"><embed allowscriptaccess="never" src="http://video.rutube.ru/'.$m[2].'" type="application/x-shockwave-flash" wmode="window" width="400" height="353" allowfullscreen="true" ></embed></object>';
}
if(preg_match("/^http:\/\/(?:www|ru)\.youtube\.com\/watch\?v=(.+?)$/i",$show,$m)
or preg_match("/^http:\/\/(?:www|ru)\.youtube\.com\/v\/(.+?)$/i",$show,$m))
{
return '<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/'.$m[1].'&fs=1"></param><param name="wmode" value="transparent"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="never" /><embed allowscriptaccess="never" src="http://www.youtube.com/v/'.$m[1].'&fs=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355" allowfullscreen="true"></embed></object>';
}
if(preg_match("/^http:\/\/smotri\.com\/video\/view\/\?id=(.+?)$/i",$show,$m))
{
return '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="330"><param name="movie" value="http://pics.smotri.com/scrubber_custom8.swf?file='.$m[1].'&bufferTime=3&autoStart=false&str_lang=eng&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color_lightaqua.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" /><param name="allowScriptAccess" value="never" /><param name="allowFullScreen" value="true" /><param name="bgcolor" value="#ffffff" /><embed src="http://pics.smotri.com/scrubber_custom8.swf?file='.$m[1].'&bufferTime=3&autoStart=false&str_lang=eng&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color_lightaqua.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" quality="high" allowscriptaccess="never" allowfullscreen="true" wmode="window" width="400" height="330" type="application/x-shockwave-flash"></embed></object>';
}
Найти:
/*------------------------------------------------*/
// regex_build_url: Checks, and builds the a href
/*------------------------------------------------*/
Добавить перед этим:
function vkadre($flashvars)
{
$flashvars=str_replace("&amp;","&",stripslashes($flashvars));
return '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="460" height="345" ><param name="movie" value="http://vkadre.ru/swf/VkadrePlayer.swf?1" /><param name="allowfullscreen" value="true" /><param name="flashvars" value="'.$flashvars.'" /><param name="allowscriptaccess" value="never"><embed allowscriptaccess="never" type="application/x-shockwave-flash" src="http://vkadre.ru/swf/VkadrePlayer.swf?1" width="460" height="345" allowfullscreen="true" flashvars="'.$flashvars.'" /></object>';
}
function youtube($vars)
{
$movie=str_replace("&amp;","&",stripslashes($vars[5]));
$nocookie = ($vars[4]=='-nocookie')?'-nocookie':'';
return '<object width="'.$vars[1].'" height="'.$vars[2].'"><param name="movie" value="http://www.youtube'.$nocookie.'.com/v/'.$movie.'"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="never"></param><embed src="http://www.youtube'.$nocookie.'.com/v/'.$movie.'" type="application/x-shockwave-flash" allowscriptaccess="never" allowfullscreen="true" width="'.$vars[1].'" height="'.$vars[2].'"></embed></object>';
}
//-------------------------------------------//
// ./sources/classes/bbcode/class_bbcode.php //
//-------------------------------------------//
Найти:
while( preg_match( "#\[color=([^\]]+)\](.+?)\[/color\]#ies", $txt ) )
{
$txt = preg_replace( "#\[color=([^\]]+)\](.+?)\[/color\]#ies" , "\$this->regex_font_attr(array('s'=>'col' ,'1'=>'\\1','2'=>'\\2'))", $txt );
}
Добавить после этого:
//find vkadre
$txt = preg_replace( "/(?:\&|\&)lt;object (.+?)(?:\&|\&)lt;param name=(?:\&|\&)quot;movie(?:\&|\&)quot; value=(?:\&|\&)quot;http:\/\/vkadre\.ru\/swf\/VkadrePlayer\.swf\?1(?:\&|\&)quot; \/(?:\&|\&)gt;(.+?)(?:\&|\&)lt;param name=(?:\&|\&)quot;flashvars(?:\&|\&)quot; value=(?:\&|\&)quot;(.+?)(?:\&|\&)quot; \/(?:\&|\&)gt;(.+?)(?:\&|\&)lt;\/object(?:\&|\&)gt;/ies", "\$this->vkadre(\"\\3\")", $txt);
//find youtube
$txt = preg_replace_callback( "/(?:\&|\&)lt;object width=(?:\&|\&)quot;(\d+?)(?:\&|\&)quot; height=(?:\&|\&)quot;(\d+?)(?:\&|\&)quot;(.+?)(?:\&|\&)lt;param name=(?:\&|\&)quot;movie(?:\&|\&)quot; value=(?:\&|\&)quot;http:\/\/www\.youtube([\-nocookie]*?)\.com\/v\/(.+?)(?:\&|\&)quot;(?:\&|\&)gt;(.+?)(?:\&|\&)lt;\/object(?:\&|\&)gt;/is", array(&$this,"youtube"), $txt);
Найти:
if ( $this->parse_html )
{
$txt = str_replace( "'", "'", $txt);
}
Добавить после этого:
else
{
$txt = preg_replace("/<object width=\"400\" height=\"353\"(.+?)\-\-(\d+?)\-\-(.+?)<param name=\"movie\" value=\"http:\/\/video\.rutube\.ru\/(.+?)\"><\/param>(.+?)<\/object>/s","\nhttp://rutube.ru/tracks/\\2.html?v=\\4\n",$txt);
$txt = preg_replace("/<object width=\"425\" height=\"355\"(.+?)<param name=\"movie\" value=\"http:\/\/www\.youtube\.com\/v\/(.+?)\"><\/param>(.+?)<\/object>/s","\nhttp://www.youtube.com/watch?v=\\2\n",$txt);
$txt = preg_replace("/<object(.+?)http:\/\/content\.video\.mail\.ru\/(.+?)\/(.+?)\/(.+?)\/(?:\$|\\\$)(.+?)(?:\$|\\\$)0(?:\$|\\\$)0\" \/>(.+?)<\/object>/is","\nhttp://video.mail.ru/\\2/\\3/\\4/\\5.html\n",$txt);
$txt = preg_replace("/<object(.+?)http:\/\/pics\.smotri\.com\/scrubber_custom8.swf\?file=(.+?)(?:\&|\&)(.+?)<\/object>/is","\nhttp://smotri.com/video/view/?id=\\2\n",$txt);
}
Отличная вещь - достаточно вписать ссылки и всё. Не нужны никакие тэги!
|