1. Важное и срочное обновление IPB 3.4.5 - https://nulled.cc/threads/243375/

проигрыватель flv на форуме

Тема в разделе "IPB", создана пользователем ledsky, 26 июн 2008.

Статус темы:
Закрыта.
Модераторы: Maybe
  1. ledsky

    ledsky Постоялец

    Регистр.:
    21 мар 2008
    Сообщения:
    56
    Симпатии:
    5
    FLV проигрыватель на форуме IPB.



    Что надо:

    flv player - 1 шт.
    Файлы IP.Board - 2 шт
    Новый шаблон в стилях - 1 шт.



    Инструкция к действию:
    1. Качаем flv player (http://www.jeroenwijering.com/upload/jw_flv_player.zip)
    2. Изменяем класс загрузки для того, что бы он не переименовывал flv файлы
    ./ips_kernel/class_upload.php
    Добавляем новую логику в условие на проверку расширения. Меняя

    Код:
    if ( $this->force_data_ext and ! $this->is_image )
    
    {
    
    $this->file_extension = str_replace( ".", "", $this->force_data_ext ); 
    
    }
    на

    Код:
    if ( $this->force_data_ext and ! $this->is_image and $this->file_extension != 'flv' )
    
    {
    
    $this->file_extension = str_replace( ".", "", $this->force_data_ext ); 
    
    }

    3. Изменяем класс работы с прикрепленными файлами. Наша цель при обнаружении flv файлов вставленных в текст сообщения подменять их flv player ом.

    Для этого находим в /sources/classes/attach/class_attach.php

    Код:
    //-----------------------------------------
    
    // Is it an image, and are we viewing the image in the post?
    
    //-----------------------------------------
    
                    
    
    if ( $this->ipsclass->vars['show_img_upload'] and $row['attach_is_image'] )
    
    {
    добаляем перед данным текстом следующее :

    Код:
    //-----------------------------------------
    
    // Is it flash video file, and are we viewing the video in the post?
    
    //-----------------------------------------
    
                    if ( $row['attach_ext'] == 'flv' )
    
                    {
    
                        //-----------------------------------------
    
                        // Make sure we've not seen this ID
    
                        //-----------------------------------------
    
                            
    
                        $row['_attach_id'] = $row['attach_id'] . '-' . preg_replace( "#[\.\s]#", "-", microtime() );
    
    
                        $tmp = $this->ipsclass->compiled_templates[ $skin_name ]->show_attachments_flv( 
    
                        array( 'location'  => $this->ipsclass->vars['upload_url'] . '/' . $row['attach_location'],
    
                                  'attach_id'  => $row['_attach_id'],
    
                                                                                )    );
    
                            
    
                            //-----------------------------------------
    
                            // Convert HTML
    
                            //-----------------------------------------
    
                            
    
                            $_count = substr_count( $html, '[attachment='.$row['attach_id'].':' );
    
    
                            if ( $_count )
    
                            {
    
                                # Just the one, then?
    
                                $html = preg_replace( "#\[attachment=".$row['attach_id']."\:(?:[^\]]+?)[\n|\]]#is", $tmp, $html );
    
                            }
    
                       
    
                    }
    4.Далее идём в админку форума (внешний вид – список стилей ), справа от стиля выбираем «изменить HTML шаблоны», выбираем skin_topic
    Добавляем в skin_topic новый шаблон с именем show_attachments_flv, входными данными $data=array()
    содержимое шаблона такое:


    Код:
    <div id='$data[attach_id]'>Для просмотра ролика необходимо скачать <a href="http://www.macromedia.com/go/getflashplayer">Flash Player</a></div>
    
    <script type="text/javascript" src="jscripts/swfobject.js"></script>
    <script type="text/javascript">
    var so = new SWFObject('flvplayer.swf','mpl','320','240','7');
    so.addParam('allowfullscreen','true');
    so.addParam('allowscriptaccess','always');
    so.addVariable('displayheight','240');
    so.addVariable('file','$data[location]');
    so.addVariable('height','240');
    so.addVariable('width','320');
    so.write("$data[attach_id]");
    </script>

    5. Закинуть файлы из архива flv player:

    flvplayer.swf - в корень (я закинул 2 файла swf в корень своего форума поскольку там была какаято муть с названиями и я заморачиваться не стал, в скачанов вами архиве оригинал называется mediaplayer.swf)

    swfobject.js - в jscripts

    6. Добавить новый тип файлов в АЦ.
    УПРАВЛЕНИЕ -> Прикрепляемые файлы -> Типы файлов -> Добавить новый тип

    Расширение прикрепляемого файла - flv
    MIME-тип файла - unknown/unknown
    Разрешить прикреплять этот тип файла к сообщениям? – Да


    КАК ПОСТИТЬ ПРАВИЛЬНО :
    вставляем в сообщение тег [attachmentid=xxx]
    обязательно
    без возражений
    для этого есть кнопка во всех версиях ипб
    в старших она в выпадающем меню справа вверху в форме загрузки (там где файл загружаете. Сначала грузим файл потом крепим тег)



    Данное творение не моё, я просто облегчил мануал и постарался исправить непонятные моменты______________________ledsky.
     
    kamkoder31 и UltraZz нравится это.
  2. Pokemon

    Pokemon Создатель

    Регистр.:
    4 апр 2006
    Сообщения:
    46
    Симпатии:
    21
    Я это использую:

    //auto swf/flv
    //video.mail
    //rutube
    //youtube
    //vkadre




    sources/classes/bbcode/class_bbcode_core.php


    Find

    PHP:
    $show $url['show'];
    Add after

    PHP:
    //mega swf/flv recognizer
            
    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"><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].'"></param><param name="wmode" value="transparent"></param><param name="allowscriptaccess" value="never"><embed allowscriptaccess="never" src="http://www.youtube.com/v/'.$m[1].'" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>';
            }
    Find

    PHP:
    /*-------------------------------------------------------------------------*/
        // regex_build_url: Checks, and builds the a href
        /*-------------------------------------------------------------------------*/
    Add before

    PHP:
    function vkadre($flashvars)
        {
            
    $flashvars=str_replace("&amp;amp;","&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>';
        }

    /sources/classes/bbcode/class_bbcode.php

    Find

    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 );
                }
    Add after

    PHP:
    //find vkadre
                
    $txt preg_replace"/(?:\&amp;|\&)lt;object (.+?)(?:\&amp;|\&)lt;param name=(?:\&amp;|\&)quot;movie(?:\&amp;|\&)quot; value=(?:\&amp;|\&)quot;http:\/\/vkadre\.ru\/swf\/VkadrePlayer\.swf\?1(?:\&amp;|\&)quot; \/(?:\&amp;|\&)gt;(.+?)(?:\&amp;|\&)lt;param name=(?:\&amp;|\&)quot;flashvars(?:\&amp;|\&)quot; value=(?:\&amp;|\&)quot;(.+?)(?:\&amp;|\&)quot; \/(?:\&amp;|\&)gt;(.+?)(?:\&amp;|\&)lt;\/object(?:\&amp;|\&)gt;/ies""\$this->vkadre(\"\\3\")",    $txt);    

    Find

    PHP:
    if ( $this->parse_html )
            {
                
    $txt str_replace"'""'"$txt);
            }
    Add after

    PHP:
    else
            {
                
    $txt preg_replace("/<object width=\"400\" height=\"353\"(.+?)<param name=\"movie\" value=\"http:\/\/video\.rutube\.ru\/(.+?)\"><\/param>(.+?)<\/object>/s","\nhttp://rutube.ru/tracks/0.html?v=\\2\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);
            }
    Сразу можно вставлять прямые ссылки без всяких тегов

    Проверено на 2.3.5
     
    dragonstyle, wasterel, Pallas и 2 другим нравится это.
  3. UltrbI4

    UltrbI4

    Регистр.:
    15 мар 2009
    Сообщения:
    449
    Симпатии:
    53
    Ребят интересует воспросик,а этот Flash проигрователь надежный в плане безопасности?
     
  4. SweetBlood

    SweetBlood Писатель

    Регистр.:
    25 мар 2009
    Сообщения:
    8
    Симпатии:
    1
    а у его открытый код (для изменения) ?
     
  5. OnArs

    OnArs

    Регистр.:
    30 авг 2008
    Сообщения:
    259
    Симпатии:
    74
    2Pokemon,
    Я правильно понял - в твоей реализации видео только с хостингов
    youtube
    rutube
    video.mail.ru
    Посмотрев по коду - "vkadre" Я не нашёл. :(

    Используется видеовставка со сторонних серверов и надёжность, Я думаю, будет зависить от них напрямую.
     
  6. Mimas

    Mimas Создатель

    Регистр.:
    7 апр 2009
    Сообщения:
    33
    Симпатии:
    0
    Тоже поставил себе на м2.3.6, только немного подправил код - коды проигрыватей заключил в тег <center> и теперь они показываются сразу по центру поста.
     
  7. boomer_shift

    boomer_shift Писатель

    Регистр.:
    8 окт 2008
    Сообщения:
    6
    Симпатии:
    1
    поскольку файл на том сервере отсутствует. Кидаю альтернативную ссылку
    http://ftp.playground.ru/DB1/2/9/jw_flv_player.zip
    PS: Переделав чуток статью, сделал себе такое же чудо на плеере из ДЛЕ + проигрователь mp3-файлов. Если кому-то надо - могу написать как.
     
    Pallas нравится это.
  8. webiss

    webiss Создатель

    Регистр.:
    20 апр 2006
    Сообщения:
    15
    Симпатии:
    0
    Поставил на 2.3.6 Работает только в файлаз bbcode и bbcode_core.php tcnm некоторые отличия от инструкций второго поста...Некоторые строчки пришлось отдельно искать...
     
  9. tarpedo

    tarpedo Писатель

    Регистр.:
    25 фев 2009
    Сообщения:
    5
    Симпатии:
    2
    я в версии 2.3.6. установил flowplayer

    добавил новый BB-код

    [flash]{content}[/flash]

    Название - Флеш плеер

    Полное описание - Данный тег позволяет проигрывать flv видео

    Пример использования - [flash]http://www.forum.com.ua/video.flv[/flash]

    Тег - flash

    Шаблон замены BB-кода -

    <a href="{content}" style="display:block;width:320px;height:240px;" id="player"></a><script language="JavaScript">flowplayer("player", "http://www.forum.com.ua/style_images/flashplayer/flowplayer-3.0.7.swf",{clip:{autoPlay:false,autoBuffering:true}});</script>

    Добавить в меню «Теги» редактора? - да

    Подсказка для 'content' - Введите url до flv файла

    скачать плеер можно здесь - http://flowplayer.org/
     
    wasterel и UltraZz нравится это.
  10. Pallas

    Pallas Создатель

    Регистр.:
    3 май 2009
    Сообщения:
    23
    Симпатии:
    0
    Поставил на 2.3.3, все работает, только Вкадре не идет, может подправить чего надо?

    о мр3 плеере если можно подробнее
     
Статус темы:
Закрыта.