Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-26-2009, 10:51 AM
bartek24m bartek24m is offline
 
Join Date: Nov 2005
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default where is the function which upload pictures to album

Hello i need to crop pictures in order to get the 100x100 thumbs of the picrtures uploaded via album.php

I have the code which able me to crop image:

PHP Code:
<?
      cropImage(100, 100, 'ORGINAL_IMAGE.jpg', 'jpg', 'thums/CROPPED_IMAGE.jpg');
      function cropImage($nw, $nh, $source, $stype, $dest) {
          $size = getimagesize($source);
          $w = $size[0];
          $h = $size[1];
          switch($stype) {
              case 'gif':
              $simg = imagecreatefromgif($source);
              break;
              case 'jpg':
              $simg = imagecreatefromjpeg($source);
              break;
              case 'png':
              $simg = imagecreatefrompng($source);
              break;
          }
          $dimg = imagecreatetruecolor($nw, $nh);
          $wm = $w/$nw;
          $hm = $h/$nh;
          $h_height = $nh/2;
          $w_height = $nw/2;
          if($w> $h) {
              $adjusted_width = $w / $hm;
              $half_width = $adjusted_width / 2;
              $int_width = $half_width - $w_height;
              imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
          } elseif(($w <$h) || ($w == $h)) {
              $adjusted_height = $h / $wm;
            $half_height = $adjusted_height / 2;
              $int_height = $half_height - $h_height;
         imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
          } else {
              imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
            }
          imagejpeg($dimg,$dest,100);
      }
?>
but i don't know where i can paste it to get all uploaded images to albums cropped by this script !
i suppose it may be somewhere in album.php or includes/class_upload.php file ....
please help
Reply With Quote
  #2  
Old 03-26-2009, 12:33 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You shouldn't be modifying the .php files manually, because then upgrading vBulletin becomes a pain. You should look for hooks and use plugins instead.

Try investigating the /includes/functions_album.php file. There's a hook called "album_prepare_thumb" which would probably be a perfect place to use this code as a plugin.


How To Use Hooks
Reply With Quote
  #3  
Old 04-10-2011, 10:43 PM
maneri maneri is offline
 
Join Date: Jan 2011
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would like to achieve the same, cropping thumbnails.

I have created a plugin, I have put the hook "album_prepare_thumb" in each template it needs to stay (or I guess it needs to stay.. ).

The PHP code I put in the plugin is the same as this post, just I do not manage to set the correct path for the archive to be cropped. Please, could someone help me, what should I put instead of "ORGINAL_IMAGE.jpg" ?

Thanks

PHP Code:
<? 
      cropImage(100, 100, 'ORGINAL_IMAGE.jpg', 'jpg', 'thums/CROPPED_IMAGE.jpg');
      function cropImage($nw, $nh, $source, $stype, $dest) { 
          $size = getimagesize($source); 
          $w = $size[0]; 
          $h = $size[1]; 
          switch($stype) { 
              case 'gif': 
              $simg = imagecreatefromgif($source); 
              break; 
              case 'jpg': 
              $simg = imagecreatefromjpeg($source); 
              break; 
              case 'png': 
              $simg = imagecreatefrompng($source); 
              break; 
          } 
          $dimg = imagecreatetruecolor($nw, $nh); 
          $wm = $w/$nw; 
          $hm = $h/$nh; 
          $h_height = $nh/2; 
          $w_height = $nw/2; 
          if($w> $h) { 
              $adjusted_width = $w / $hm; 
              $half_width = $adjusted_width / 2; 
              $int_width = $half_width - $w_height; 
              imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
          } elseif(($w <$h) || ($w == $h)) { 
              $adjusted_height = $h / $wm; 
            $half_height = $adjusted_height / 2; 
              $int_height = $half_height - $h_height; 
         imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
          } else { 
              imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h); 
            } 
          imagejpeg($dimg,$dest,100); 
      } 
?>
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 02:31 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.06922 seconds
  • Memory Usage 2,190KB
  • Queries Executed 11 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete