Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: , by GrAfiX GrAfiX is offline
Developer Last Online: May 2010 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 12-04-2001 Last Update: Never Installs: 2
 
No support by the author.

This hack is to set Images to a fixed width in your forums... You can set the width to what ever you want...

Works very well on static boards...

File to edit: /forums/admin/function.php

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 12-05-2001, 09:27 PM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Noteworthy that, if the image is a remote URL (eg http://vbulletin.com/logo.gif) , this hack will work ONLY if you have PHP 4.0.5 and up. If you have lower version, you will get an error.
Reply With Quote
  #3  
Old 12-05-2001, 09:34 PM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Another recommendation: supress error reporting for this function. Otherwise, you will get at the top of threads lines like "Warning: getimagesize: Unable to open blah blah"

To do this, change

Code:
$size = GetImageSize("$thispic1[0]");
to

Code:
$size = @GetImageSize("$thispic1[0]");
Reply With Quote
  #4  
Old 12-06-2001, 01:38 AM
qwaz qwaz is offline
 
Join Date: Nov 2001
Posts: 58
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This hack didn't do anything at all. No error, nothin.
Reply With Quote
  #5  
Old 12-06-2001, 03:03 AM
Robert Basil's Avatar
Robert Basil Robert Basil is offline
 
Join Date: Oct 2001
Location: Chandler, Arizona
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

[QUOTE]Originally posted by qwaz
This hack didn't do anything at all. No error, nothin.
Reply With Quote
  #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
  #7  
Old 12-06-2001, 05:33 AM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've finished all my tests and my bottom line is: DON'T use getimagesize at all. In other words, don't use this hack or any variant similar to it.

Reasoning can be found at http://vbulletin.com/forum/showthrea...762#post216762
Reply With Quote
  #8  
Old 12-06-2001, 12:06 PM
GrAfiX's Avatar
GrAfiX GrAfiX is offline
 
Join Date: Oct 2001
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This hack works just fine... here are a bunch of pics larger than 400 and the thread is showing just fine... with the code I posted...


http://www.thetoybox.net/forums/show...s=&threadid=80

I've had no problems with the code... I've been running it since vb 1.15

Everytime there is an IMG tag it parses that routine and makes the image smaller... even in the Sig....

This is what $picture1[0] echo's all in one line...
http://www.thetoybox.net/gallery/alb.../ajb.sized.jpg
http://www.thetoybox.net/gallery/alb.../acf.thumb.jpg
http://www.thetoybox.net/gallery/alb.../ajb.thumb.jpg
http://www.angelfire.com/ak5/myquadz...mahasymbol.art
http://www.thetoybox.net/gallery/alb.../ahv.thumb.jpg

Now if I throw an <BR> in that routine it puts a break after every picture therefore is parsing each image seperatly..

this is what I put...
$thispic1=explode('[/img]',$thispic[1]);
echo$thispic1[0];
echo "<BR>";
if ($thispic1[0] != ""){

Therefore it's doing a imgsize on every pic seperatly...
Reply With Quote
  #9  
Old 12-06-2001, 01:21 PM
GrAfiX's Avatar
GrAfiX GrAfiX is offline
 
Join Date: Oct 2001
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I see the problem.. It does parse each post seperatly... but if you have more than 1 image in a post it will only take the first one... I'll fix that today... Most people don't post a bunch of pics and if they do there the same size...

I'm working on it..
Reply With Quote
  #10  
Old 12-06-2001, 03:07 PM
LuBi LuBi is offline
 
Join Date: Oct 2001
Posts: 416
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Looking forward to it, maybe we could even make it so you click on the image to open it in another window in full size. Get it to work with fireflys hack when clicking image attachments and you'd be set.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:46 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07226 seconds
  • Memory Usage 2,296KB
  • Queries Executed 23 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (3)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete