View Single Post
  #6  
Old 12-06-2001, 04:06 AM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok, I looked at the code and it won't work, or will work erraticly.

GraAfix, you are essentially checking only the image size of the first img posted. If there are two or more images, the 2nd image on will not be checked.

This is because you are running explode and then a second explode only on the first object.

So for example, let say this is the text:

Code:
blah blah blah 
[img ]http://url.to/pic.1[ /img] 
blah blah blah 
[img ]http://url.to/pic.2[ /img] 
blah blah blah 
[img ]http://url.to/pic.3[ /img]
When we pass it through your code, this is what happens:

$thispic=explode('[img ]',$bbcode);, we get the following array values:

$thispic[0] = blah blah blah
$thispic[1] = http://url.to/pic.1[ /img] blah blah blah
$thispic[2] = http://url.to/pic.2[ /img] blah blah blah
$thispic[3] = http://url.to/pic.3[ /img]

What your code then does, is run explode ONLY on $thispic[1] -- ie, on the first image only:

$thispic1=explode('[/img]',$thispic[1]);, we get the following array values:

$thispic1[0] = http://url.to/pic.1
$thispic1[1] = blah blah blah

At that point you are checking the image size for $thispic1 -- meaning, for image #1.

Now, not only are you not check the size for the REST of the pictures, but also the size of the FIRST image will dictate how the REST of the images will be displayed:

$size = GetImageSize("$thispic1[0]");
if ($size[0] > 400)

If the first image is smaller than 400, then ALL pictures in the post will be displayed in their FULL size.

If the first image is bigger than 400, then ALL pictures in the post will be displayed with width=400, even if they are smaller than 400!

And, if the script cannot get the size for the first image (broken link, php version smaller than 4.0.5) then ALL images in the post will be displayed in full size.


Hence, this hack is now production. I suggest FireFly moves it to the Beta forum, where we can continue developing it and overcoming all the limitations.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01248 seconds
  • Memory Usage 1,766KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete