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

ВВ-тэг [flash]


assterix

Вопрос

Хочу дать возможность постить флэш в темах, но столкнулся с проблемой тэг .. не работает. в настройках безопасности форума добавление флэша рарешено, разрешенные размеры флэша установлены.

 

при попытке добвить флэш таким образом:

[flash=150,150]http://101.12.23.53/forums/downloads/soft/Clock.swf

 

отображает:

\[flash=150,150\]http://101.12.23.53/forums/downloads/soft/Clock.swf\[/flash\]

 

 

Будьте так любезны, выложите BB CODE или подскажите что я не так делаю.

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

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

  • 0

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

if (!preg_match( "/^http:\/\/(\S+)\.swf$/i", $url) )

 

 

PS: поспешил со словом "намудрили". :D

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

  • 0

Думаю, что так:

Convert:
$txt = preg_replace( "#(\[flash=)(\S+?)(\,)(\S+?)(\])(\S+?)(\[\/flash\])#ie", "\$this->regex_check_flash('\\2','\\4','\\6')", $txt );

Unconvert:
$txt = preg_replace( "#<!--Flash (.+?)-->.+?<!--End Flash-->#e"  , "\$this->unconvert_flash('\\1')", $txt );

function unconvert_flash($flash="") {

	$f_arr = explode( "+", $flash );

	return '[FLASH='.$f_arr[0].','.$f_arr[1].']'.$f_arr[2].'[/FLASH]';

}

	function regex_check_flash($width="", $height="", $url="") {
	global $ibforums;

	$default = "\[flash=$width,$height\]$url\[/flash\]";

	if (!$ibforums->vars['allow_flash']) {
		return $default;
	}

	if ($width > $ibforums->vars['max_w_flash']) {
		$this->error = 'flash_too_big';
		return $default;
	}

	if ($height > $ibforums->vars['max_h_flash']) {
		$this->error = 'flash_too_big';
		return $default;
	}

	if (!preg_match( "/^http:\/\/(\S+)\.swf$/i", $url) ) {
		$this->error = 'flash_url';
		return $default;
	}

	return "<!--Flash $width+$height+$url--><OBJECT CLASSID='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' WIDTH=$width HEIGHT=$height><PARAM NAME=MOVIE VALUE=$url><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=$url WIDTH=$width HEIGHT=$height PLAY=TRUE LOOP=TRUE QUALITY=HIGH></EMBED></OBJECT><!--End Flash-->";
}

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

  • 0

FatCat, Jax

 

 

спасибо за ответы, post_parser.php отредактировал, не помогло таже петрушка.

следует предположить, что грабли не там.

 

как правильно должен выглядеть ВВ-тэг ?

 

выложите пожалуста,

можно даже экспортированный .xml :D

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

  • 0
Не нашел как это делать через админку, но простым редактированием conf_global.php изменил значение $INFO['allow_flash'] с нуля на единичку, и флеши пошли.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Не нашел как это делать через админку, но простым редактированием conf_global.php изменил значение $INFO['allow_flash'] с нуля на единичку, и флеши пошли.

 

 

FatCat

 

ОГРОМЕННЫЙ РЕСПЕКТ! все завертелось :D

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

  • 0
ОГРОМЕННЫЙ РЕСПЕКТ! все завертелось :D

Ты это... Того... Поосторожней. Открываешь широкие ворота хакерам...

Сейчас ради интереса попробовал, сделал флешку, положил для желающих изучить: http://thefatcat.jino-net.ru/uploads/scr.swf

На клик сделал алерт с тремя восклицательными знаками. А можно и документ-кукис сделать, и не на клик, а по таймеру.

Думаю, не надо объяснять, чем это грозит?

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

Зарузка...
×
×
  • Создать...

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

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