vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Scale images in posts (https://vborg.vbsupport.ru/showthread.php?t=32964)

GrAfiX 12-04-2001 10:00 PM

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

bira 12-05-2001 09:27 PM

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.

bira 12-05-2001 09:34 PM

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]");

qwaz 12-06-2001 01:38 AM

This hack didn't do anything at all. No error, nothin.

Robert Basil 12-06-2001 03:03 AM

[QUOTE]Originally posted by qwaz
This hack didn't do anything at all. No error, nothin.

bira 12-06-2001 04:06 AM

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.

bira 12-06-2001 05:33 AM

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

GrAfiX 12-06-2001 12:06 PM

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...

GrAfiX 12-06-2001 01:21 PM

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..

LuBi 12-06-2001 03:07 PM

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.


All times are GMT. The time now is 01:36 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.01011 seconds
  • Memory Usage 1,738KB
  • 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
  • (3)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete