Limiting Image Width

Support for IntegraMOD 140

Moderator: Integra Moderator

Limiting Image Width

PostAuthor: DaveSmooth » Sat Apr 29, 2006 2:08 pm

I've searched and found things similar to what I need but not exactly. I would like to limit the width of images displayed in my forums, both attached and linked. I think I have it figured out on attachments, but would love to limit the width of a linked image and when its bigger than what I want, reduce it and you can click on the image to see it full sized in a new window. I used to have a mod on an old board-only site but haven't seen one for use with IM. Or can this simply be set some where in ACP and I haven't found it?

Any help would be greatly appreciated.
Last edited by DaveSmooth on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

DaveSmooth
Members
Members
 
Posts: 38
Likes: 0 post
Liked in: 0 post
Joined: Thu Apr 13, 2006 2:36 pm
Cash on hand: 0.00

PostAuthor: Bush » Sat Apr 29, 2006 2:14 pm

Here is a thread that discuss a streching bug in IntegraMOD - READ THIS: http://www.integramod.com/forum/viewtopic.php?t=350

Also here is a MOD that I have tested on an IntegraMOD test site of mine and it worked with php 2.0.19 (not tested on 2.0.20)

Code: Select all
############################################################## ## MOD Title]http://www.swizec.com#[/url]# MOD Description: Admin can set the maximum display size of images displayed in posts. Images bigger than that are shrunk and turned into a link to the normal sized version.## MOD Version: 1.2.7## ## Installation Level: Easy## Installation Time: ~3 Minutes ## Files To Edit: ##         includes/bbcode.php##         admin/admin_board.php##         templates/subSilver/bbcode.tpl##         templates/subSilver/admin/board_config_body.tpl##         language/lang_english/lang_main.php##         language/lang_english/lang_admin.php## Included Files: N/A#### License: [url=http://opensource.org/licenses/gpl-license.php]http://opensource.org/licenses/gpl-license.php[/url] GNU General Public License v2############################################################## ## For security purposes, please check: [url=http://www.phpbb.com/mods/]http://www.phpbb.com/mods/[/url] ## for the latest version of this MOD. Although MODs are checked ## before being allowed in the MODs Database there is no guarantee ## that there are no security problems within the MOD. No support ## will be given for MODs not found within the MODs Database which ## can be found at [url=http://www.phpbb.com/mods/#]http://www.phpbb.com/mods/#[/url]############################################################# ## Author Notes: #### demo board: [url=http://www.swizec.com/forum#]http://www.swizec.com/forum#[/url]# ############################################################## ## MOD History: ## ## 2005-04-17 - Version 1.0.0##    - working mod#### 2005-04-17 - Version 1.0.1##    - oops, small bug in the .mod file#### 2005-04-17 - Version 1.0.2##    - omg I'm so fucken hasty#### 2005-05-01 - Version 1.0.3##    - fixed a bug#### 2005-05-01 - Version 1.0.4##    - some slashes got left behind#### 2005-05-02 - Version 1.0.5##    - added "this is thumbnail" notice wished by MaddoxX#### 2005-05-24 - Version 1.0.6##   - use of bbcode.tpl added#### 2005-05-31 - Version 1.0.7##   - getting closer :)#### 2005-05-31 - Version 1.1.0##   -fixed a bug##   -implemented image aligning by pichirichi#### 2005-06-23 - Version 1.1.1##   - fixed XHTML compliancy#### 2005-11-05 - Version 1.1.2##   - fixed for 2.0.18#### 2005-11-11 - Version 1.1.3##   - forgot to change the license and security warning before#### 2005-11-23 - Version 1.1.4##   - small mistake in the HTML#### 2005-12-09 - Version 1.2.0##   - fixed some "pretty" issues##   - fixed slow load issue as best I could##   - and an issue with left, right, center stuff#### 2005-12-17 - Version 1.2.1##   - some minor HTML fixes##   - parsing of "old" images and those that were not getimagesized properly#### 2005-12-17 - Version 1.2.2##   - ok, now parsing of "old" images does actually work :)#### 2005-12-17 - Version 1.2.3##   - some people really take care to report bugs O.o how nice of them#### 2005-12-21 - Version 1.2.4##   - changes to the template were not pretty#### 2005-12-25 - Version 1.2.5##   - there was a bug with small images#### 2006-01-01 - Version 1.2.6##   - coding standards :D## ############################################################## ## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD ##############################################################  # #-----[ SQL ]------------------------------------------ #  INSERT INTO phpbb_config( config_name, config_value ) VALUES ( 'postimg_width', '800' );INSERT INTO phpbb_config( config_name, config_value ) VALUES ( 'postimg_height', '600' );  # #-----[ OPEN ]------------------------------------------ #  includes/bbcode.php  # #-----[ FIND ]------------------------------------------ #  $bbcode_tpl = null;  # #-----[ AFTER, ADD ]------------------------------------------ #  // mod img size addfunction makeimgsize ( $width, $height ) {     global $board_config;         $size = '';         // check for smallness     if ( $width < $board_config['postimg_width'] && $height <board_config> $height )     {         if ( $board_config['postimg_width'] < $width )         {             $size = 'width="' . $board_config['postimg_width'] . '"';         }     }else     {         if ( $board_config['postimg_height'] <height> $img )     {         $stuff = $matches[1][$i];         $stuff = explode( ':', $stuff );         if ( count( $stuff ) != 4 )         { // old image or something             $post = preg_replace( "#[img]([^?].*?)[/img]#i", $bbcode_tpl['img'], $post );         }         switch($stuff[0])         {             case '=right':                 $align = $lang['RIGHT'];                 break;             case '=center':                 $align = 'center';                 break;             case '=left':                 default:                 $align = $lang['LEFT'];             break;         }         $width = $stuff[1];         $height = $stuff[2];         $size = makeimgsize( $width, $height );                 if ( $size != 'SMALL' )         {             $replace = $bbcode_tpl['thmbimg'];             $seek = array( '{IMAGE}', '{WIDTH}', '{HEIGHT}', '{SIZE}', '{NOTICE}', '{ALIGN}' );             $with = ( !empty( $size ) ) ? array( $matches[2][$i] , $width, $height, $size, $lang['postimg_clickme'], $align ) : array( $matches[2][$i] , $width, $height, $size, '', $align );             $replace = str_replace( $seek, $with, $replace );         }         else         {             $replace = str_replace( '1', $matches[2][$i], $bbcode_tpl['img'] );         }         $post = str_replace( $img, $replace, $post );     }             return $post;}// mod img size end  # #-----[ FIND ]------------------------------------------ #  $patterns[] = "#[img]([^?].*?)[/img]#i";  # #-----[ BEFORE, ADD ]------------------------------------------ #  // mod img size replace with call to image parsing function$text = image_parse ( $text, $uid );  # #-----[ FIND ]------------------------------------------ #  $text = preg_replace("#[img]  # #-----[ BEFORE, ADD ]------------------------------------------ #       // mod max img size changed the first pass thingo     preg_match_all( "#[(img.*?)]((http|ftp|https|ftps)://)([^ ?&=#"nrt<]*?(.(jpg|jpeg|gif|png)))[/img]#sie", $text, $matches );     // now we go through these matches and do what's needed     foreach ( $matches[0] as $i => $m )     {         // easier use         $tag = $matches[1][$i];         $url1 = $matches[2][$i];         $url2 = $matches[4][$i];                 // if we already tagged this one then we leave it be ;)         preg_match( '#img.*?:(d+):(d+)#i', $tag, $match );         if ( empty( $match ) )         {             // get the size so we can store it             if ( !$size = @getimagesize( $url1 . $url2 ) )             { // image will not get resized                 $width = '';                 $height = '';             }             else             {                 $width = $size[0];                 $height = $size[1];             }         }         else         { // we already have the size             $width = $match[1];             $height = $match[2];         }         $tag = explode( ':', $tag ); // remove any possible left over : stuff         $tag = $tag[0];         // lastly we replace it within the text         $text = str_replace( $m, '[' . $tag . ':' . $width . ':' . $height . ':' . $uid . ']' . $url1 . $url2 . '[/img]', $text );     }  # #-----[ IN-LINE FIND ]------------------------------------------ #  $text  # #-----[ IN-LINE BEFORE, ADD ]------------------------------------------ #  //  # #-----[ AFTER, ADD ]------------------------------------------ #  // end mod img size changes  # #-----[ OPEN ]------------------------------------------ #  admin/admin_board.php  # #-----[ FIND ]------------------------------------------ #  $namechange_no = ( !$new['allow_namechange'] ) ? "checked="checked"" : "";  # #-----[ AFTER, ADD ]------------------------------------------ #  // mod img size add$postimg_width = $new['postimg_width'];$postimg_height = $new['postimg_height'];// mod img size end  # #-----[ FIND ]------------------------------------------ #  "L_RESET" => $lang['Reset'],  # #-----[ AFTER, ADD ]------------------------------------------ #  // mod img size add"L_POSTIMG_SIZE" => $lang['postimg_size'],"POSTIMG_WIDTH" => $postimg_width,"POSTIMG_HEIGHT" => $postimg_height,// mod img size end  # #-----[ OPEN ]------------------------------------------ #  templates/subSilver/bbcode.tpl  # #-----[ FIND ]------------------------------------------ #  <END>  # #-----[ AFTER, ADD ]------------------------------------------ #  <BEGIN><div>  <table>   <tr>    <td><img></td>   </tr>   <tr>    <td><i>{NOTICE}</i></td>   </tr>  </table></div><END>  # #-----[ OPEN ]------------------------------------------ #  templates/subSilver/admin/board_config_body.tpl         # #-----[ FIND ]------------------------------------------ #       <tr>         <td>{L_ENABLE_PRUNE}</td>         <td><input> {L_YES}  <input> {L_NO}</td>     </tr>     # #-----[ AFTER, ADD ]------------------------------------------ #       <tr>         <td>{L_POSTIMG_SIZE}</td>         <td><input> X <input></td>     </tr>  # #-----[ OPEN ]------------------------------------------ #  language/lang_english/lang_main.php  # #-----[ FIND ]------------------------------------------ #  ?>  # #-----[ BEFORE, ADD ]------------------------------------------ #  // mod img size add$lang['postimg_clickme'] = 'Thumbnail, click to enlarge.';     # #-----[ OPEN ]------------------------------------------ #  language/lang_english/lang_admin.php  # #-----[ FIND ]------------------------------------------ #  ?>  # #-----[ BEFORE, ADD ]------------------------------------------ #  // mod img size add$lang['postimg_size'] = 'Maximum size of images in posts';  # #-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ # # EoMp


REMEMBER: This is not my code above, but i have tested it. PLEASE backup all files and database befor installing this MOD ^_^

Hope this helps,

Bush
Last edited by Bush on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
no signature.

Bush
Integra Member
Integra Member
 
Posts: 191
Likes: 0 post
Liked in: 0 post
Joined: Tue Mar 28, 2006 8:55 am
Cash on hand: 0.00

PostAuthor: DaveSmooth » Sat Apr 29, 2006 2:23 pm

Yea, I've got some of that implemented to help with text, but inevitably someone will link to a 800px wide image and the whole thing goes south. I'll look into that mod though, thanks!
Last edited by DaveSmooth on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

DaveSmooth
Members
Members
 
Posts: 38
Likes: 0 post
Liked in: 0 post
Joined: Thu Apr 13, 2006 2:36 pm
Cash on hand: 0.00

Re: Limiting Image Width

PostAuthor: evolver » Sat Apr 29, 2006 4:15 pm

We have also been discussing this on
http://integramod.com/forum/viewtopic.php?p=3212#3212
...for the IMG-tag

I think that there has to be a way to use the no_thread_stretch MOD on those images as well...
...but we are still looking into this...

For attachments see this topic:
http://www.integramod.com/forum/viewtop ... =3543#3543
Last edited by evolver on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
ImageAlways remember you're unique, just like everyone else.
We are born naked, wet and hungry. Then things get worse.
Don't take life too seriously, you won't get out alive.
User avatar
evolver
Sr Integra Member
Sr Integra Member
 
Posts: 420
Likes: 0 post
Liked in: 0 post
Joined: Mon Mar 27, 2006 1:46 pm
Cash on hand: 0.00
Location: Oostende


Return to IntegraMOD 140

Who is online

Registered users: App360MonitorBot, Bing [Bot], Google [Bot], Helter