Перейти к контенту

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


Рекомендуемые сообщения

Что надо:

 

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. Добавляем в skin_topics новый шаблон с именем 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>

 

BTW тут есть говно строчка - <script type="text/javascript" src="jscripts/swfobject.js"></script> ее бы по хорошему стоило убрать из шаблона и запихнуть куда то в районе topic_page_top из skin_topics, однако, предоставим это действие потомкам =)

 

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

flvplayer.swf - в корень

swfobject.js - в jscripts

 

6. Добавить новый тип файлов в АЦ.

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

 

Расширение прикрепляемого файла - flv

MIME-тип файла - unknown/unknown

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

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 105
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

А есть где на это дело посмотреть в работе? Или скриншот?
Ссылка на комментарий
Поделиться на других сайтах

GiV, как с безопасностью?

 

Я правильно догадываюсь, что в IP.Board 3.х можно будет подобное делать из админки, как в IP.Gallery?

 

+1.

Ссылка на комментарий
Поделиться на других сайтах

GiV, как с безопасностью?

Безопаснее чем дать возможность вставлять ссылки на внешние источники. Если flv файлы не обрабатываются как PHP, то самое страшное что можно сделать - заставить плеер показывать черный экран... Это с точки зрения изменений в доске, а что там за дырки несет сам плеер (и есть ли они там вообще) я увы не знаю.

Ссылка на комментарий
Поделиться на других сайтах

Как я понял загружать нужно именно файлы в .flv формате. А если как-то сделать чтобы была возможность загружать и другие видео форматы.
Ссылка на комментарий
Поделиться на других сайтах

Как я понял загружать нужно именно файлы в .flv формате. А если как-то сделать чтобы была возможность загружать и другие видео форматы.

 

сконвертируй другие форматы в .flv например с помощью проги Ultra WMV MPEG AVI to FLV Converter.

Ссылка на комментарий
Поделиться на других сайтах

Для остальных форматов нужен конвертер на сервере. А так только flv.

 

А как же здесь?

http://forum.quyvn.net/@@/showthread.php?t=403

проигрываются почти все форматы

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

В Настройках форума разрешил ФЛЕШ в сообщениях. Всё проверил, не могу найти ошибку.

Может после прикрепления файла надо вставлять код какой-то?

Ребята, подскажите. Версия форума 2.3.1

 

p.s Оченб хочу себе такое сделать на форуме. Уже 100 раз всё перепробывал различными путями даже, ничего не получилось. Не видно окошко плеера

Ссылка на комментарий
Поделиться на других сайтах

В Настройках форума разрешил ФЛЕШ в сообщениях.

это не имеет к моду никакого отношения

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

flvplayer.swf - в корень

swfobject.js - в jscripts

это делал?

Ссылка на комментарий
Поделиться на других сайтах

Вы вставили аттач в текст сообщения, [attachment=...]?
Ссылка на комментарий
Поделиться на других сайтах

Тоже самое делаю я, ничего не выводит. Хотя всё как написано сделал

 

Мне кажеться тот кто писал тут код не вывел его правельным :D Что очень меня огорчает

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.