vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Member Archives (https://vborg.vbsupport.ru/forumdisplay.php?f=202)
-   -   Signature Parsing Issues (https://vborg.vbsupport.ru/showthread.php?t=44016)

LightBringer 09-27-2002 09:49 PM

Signature Parsing Issues
 
I'm having an issue where my flash vb code that I've created isn't parsing properly when used the following way:

vB Code Tag: swf
vB Code replacement:
Quote:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" {param}>
<PARAM NAME=movie VALUE="{option}"> <EMBED src="{option}" quality=high {param} TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>
</OBJECT>
vB Code example:
Quote:

[swf="http://www.brainphreeze.com/Logo.swf"]width=400 height=100[/swf]
The problem is, if a user attempts to put quotes around the option for height and width such as this:
Quote:

[swf="http://www.brainphreeze.com/Logo.swf"]width="400" height="100"[/swf]
the signature never shows up and when that user goes back to modify his or her profile it has been altered and reflects the following:
Quote:

[swf="http://www.brainphreeze.com/Logo.swf"]width=\"400\" height=\"100\"[/swf]
Notice the newly created \ marks in the sig line?

Any ideas?

I'm running vb 2.2.8 and I can't really nail down when this has begun since I hadn't tested out flash sigs since well before 2.2.6. :/

I could really use some help on this.

Sidenote: As long as the vbcode doesn't have the quotes around the height and width parameters, everything is fine.

Edited to include swf limit check code.
Below is the code I've installed into member.php to check the file size and dimensions of the flash movie.

Quote:

$signature = preg_replace("/(\[)(swf)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/swf\])/seiU", "\swf_size_check('\\5','\\7')", $signature);
Quote:

function swf_size_check($image, $h_w) {


global $maxsigheight, $maxsigwidth;

//parse_all img tags

$image_xy=@getimagesize($image);

if ($image_xy==NULL)
{
return "Image not found";
}
else {
//ok, here we need to see if the user specified a size(i believe the swf will
//default to default size if no height width is specified, so lets get the
//dimensions of the swf..

$im_width=$image_xy[0];
$im_height=$image_xy[1];


//ok, did the user specify a height? lets see...

unset($params);
$params=explode(" ", $h_w);

foreach($params AS $param)
{
if (preg_match("/(height)(=)(['\"]?)([^\"']*)(\\3)/siU", $param))
{
$im_height=preg_replace("/(height)(=)(['\"]?)([^\"']*)(\\3)/seiU", "\intval('\\4')", $param);
}
if (preg_match("/(width)(=)(['\"]?)([^\"']*)(\\3)/siU", $param))
{
$im_width=preg_replace("/(width)(=)(['\"]?)([^\"']*)(\\3)/seiU", "\intval('\\4')", $param);
}
}


if ($im_width > $maxsigwidth)
{
return "Sorry, swf size exceeds maximum width of ".$maxsigwidth.".";
}

if ($im_height > $maxsigheight)
{
return "Sorry, swf size exceeds maximum height of ".$maxsigheight.".";
}

}


return "[swf=".$image."]" . $h_w . "[/swf]";
}

Xenon 09-28-2002 09:30 AM

just tell your users not to use " ;)

it has to do with addslashes function used for parsing signature.

LightBringer 09-28-2002 12:26 PM

Quote:

Originally posted by Xenon
just tell your users not to use " ;)

it has to do with addslashes function used for parsing signature.


Thanks Xenon. An even simpler solution: I removed the swf signature code all together. ;)


All times are GMT. The time now is 11:19 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.00931 seconds
  • Memory Usage 1,723KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (7)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete