- Автор темы
- #1
FLV проигрыватель на форуме IPB.
Что надо:
flv player - 1 шт.
Файлы IP.Board - 2 шт
Новый шаблон в стилях - 1 шт.
Инструкция к действию:
1. Качаем flv player
2. Изменяем класс загрузки для того, что бы он не переименовывал flv файлы
./ips_kernel/class_upload.php
Добавляем новую логику в условие на проверку расширения. Меняя
на
3. Изменяем класс работы с прикрепленными файлами. Наша цель при обнаружении flv файлов вставленных в текст сообщения подменять их flv player ом.
Для этого находим в /sources/classes/attach/class_attach.php
добаляем перед данным текстом следующее :
4.Далее идём в админку форума (внешний вид – список стилей ), справа от стиля выбираем «изменить HTML шаблоны», выбираем skin_topic
Добавляем в skin_topic новый шаблон с именем show_attachments_flv, входными данными $data=array()
содержимое шаблона такое:
5. Закинуть файлы из архива flv player:
flvplayer.swf - в корень (я закинул 2 файла swf в корень своего форума поскольку там была какаято муть с названиями и я заморачиваться не стал, в скачанов вами архиве оригинал называется mediaplayer.swf)
swfobject.js - в jscripts
6. Добавить новый тип файлов в АЦ.
УПРАВЛЕНИЕ -> Прикрепляемые файлы -> Типы файлов -> Добавить новый тип
Расширение прикрепляемого файла - flv
MIME-тип файла - unknown/unknown
Разрешить прикреплять этот тип файла к сообщениям? – Да
КАК ПОСТИТЬ ПРАВИЛЬНО :
вставляем в сообщение тег [attachmentid=xxx]
обязательно
без возражений
для этого есть кнопка во всех версиях ипб
в старших она в выпадающем меню справа вверху в форме загрузки (там где файл загружаете. Сначала грузим файл потом крепим тег)
Данное творение не моё, я просто облегчил мануал и постарался исправить непонятные моменты______________________ledsky.
Что надо:
flv player - 1 шт.
Файлы IP.Board - 2 шт
Новый шаблон в стилях - 1 шт.
Инструкция к действию:
1. Качаем flv player
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
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.