Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Import External Images Details »»
Import External Images
Version: 1.0.5, by y2ksw y2ksw is offline
Developer Last Online: Feb 2023 Show Printable Version Email this Page

Category: Administrative and Maintenance Tools - Version: 4.x.x Rating:
Released: 11-06-2010 Last Update: 02-13-2011 Installs: 300
DB Changes Uses Plugins
Additional Files Translations  
No support by the author.

This vBulletin 4 product imports external images in your posts from external servers or paths into a specific path, normally your forum's image folder.

Differently than the previous product Image Cache for vBulletin 3.x., it parses the posts at regular intervals for new images and replaces the external references in the background. Also, instead of using only a single folder, it creates folders for years and months, making it much easier to handle large quantities of images. The source and destination image URL's are stored into database, too, avoiding unnecessary duplicates.

It moves and optionally converts images from one place to another. It is a handy tool in order to keep your images local to your forums.

Version 1.0.4 is temporarily in BETA stage until the users have confirmed the newly requested features.
Version 1.0.5 is still in BETA stage. It adds a new bunch of additional features, one of which allows you to test your mathematical understanding ... and a few other to fine-tune CURL and socket timeouts, and resizing on the fly of too large images. If you don't know what these options do, please leave them at their default values.

Download Now

File Type: zip 1.0.2.iei4.zip (80.0 KB, 477 views)
File Type: zip 1.0.4.iei4.zip (84.5 KB, 185 views)
File Type: zip 1.0.5.iei4.zip (87.5 KB, 2158 views)

Screenshots

File Type: jpg 08-11-2010-11.32.53.jpg (112.4 KB, 0 views)
File Type: jpg 02-02-2011-22.06.39.jpg (126.0 KB, 0 views)

Supporters / CoAuthors

Show Your Support

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

Comments
  #132  
Old 01-27-2011, 01:29 AM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It would use more of your own bandwidth but you stop "stealing" other people's bandwidth and you have total control over the images so if someone decides to delete or change them one day you still have them.

I know I have a user who posts a weather map graphic from time to time. It gets updated every few minutes, so if I do end up using this on my live forum I should remember to put whatever domain it's from on the ignore list else the image will never update.
Reply With Quote
  #133  
Old 01-27-2011, 03:16 AM
OldSchoolDSL OldSchoolDSL is offline
 
Join Date: Oct 2010
Posts: 1,196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Maybe I'm evil... But I'd rather eat someone else's bandwidth / server load time.

If I could find a cheap (yet fast) way of loading images on another server... I think I would.
Reply With Quote
  #134  
Old 01-27-2011, 07:11 AM
SoloX SoloX is offline
 
Join Date: Jun 2002
Posts: 135
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not sure if this has been said before but if you are installing this mod, please be careful about copyrights. Inline image links *might* save you a court date but actually downloading and serving these from your server will def. get you in trouble.

google "righthaven lawsuits" and you will know why I am posting this caution.
Reply With Quote
  #135  
Old 01-27-2011, 09:49 AM
sticky sticky is offline
 
Join Date: Sep 2003
Posts: 934
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
y2ksw, if you're taking feature requests, here is some code I made to keep the original file names...

1) It takes only the file name, not the path-
2) It strips all non alpha-numeric characters besides underscores
3) It sets a max length and truncates any characters over the max length
4) It still appends an integer number to the end so there will never be any file name conflicts.

I added 1 new function replacing iei_getfile_index with:
PHP Code:
//Custom Code To Save Filename
function iei_get_file_index_name(&$path, &$extension$oldfilename)
{
   
//Get only the file name (no directory info)
   
$oldfilename basename ($oldfilename$extension);
   
//Strip out non alpha-numeric characters
   
$oldfilename preg_replace("#[^A-Za-z0-9_]#"""$oldfilename );
   
//Set max file name length to 40 characters
   
$oldfilename substr($oldfilename040);
   
   
//Increment number if file exists
    
for($i 1;; $i++)
    {
        
$filename "$path/$oldfilename-$i.$extension";
        if(!
file_exists($filename))
        {
            return 
$filename;
        }
    }

And then the call to the function under the //Get File Index comment I changed it to:
PHP Code:
  $filename iei_get_file_index_name($path$extension$value); 
And it's working great... brings in the files with their own (clean) names... In the off chance the file has the same name as another one, it increments the counter by 1 so they always save with a unique name.

Feel free to use some, all, or none of this as you see fit. :up:
Ok, I'm going to try to install is.

So iei_getfile_index I replace with all the code you posted?

As for the last part, sorry what am I replacing exactly? What is the call to function?
Reply With Quote
  #136  
Old 01-27-2011, 09:58 AM
vietfancy's Avatar
vietfancy vietfancy is offline
 
Join Date: Feb 2005
Posts: 278
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks for a great mod.

How do I add more tags into this mod? Right now we can only use [img] tag. I do have [IMGL] and [IMGR] on my forum to align images to the left or to the right of the post.

Thanks again for a great mod.
Reply With Quote
  #137  
Old 01-27-2011, 10:01 AM
y2ksw's Avatar
y2ksw y2ksw is offline
 
Join Date: Aug 2003
Location: Italy
Posts: 1,418
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by SoloX View Post
Not sure if this has been said before but if you are installing this mod, please be careful about copyrights. Inline image links *might* save you a court date but actually downloading and serving these from your server will def. get you in trouble.

google "righthaven lawsuits" and you will know why I am posting this caution.
Normally you would have a TOS where you don't assume any responsibility for pasted images by your users.

As for the copyright, you don't steal images by copying them into your site. Google Images would do a great damage to all the sites they copy images from, in order to show them to everybody, don't you agree? You steal them from the moment you are using them improperly. For this reason I am a bit concerned about importing images from CMS posts, since the authors are usually administrators and thus should not steal images from other sites to make their own site nice and interesting
Reply With Quote
  #138  
Old 01-27-2011, 10:03 AM
y2ksw's Avatar
y2ksw y2ksw is offline
 
Join Date: Aug 2003
Location: Italy
Posts: 1,418
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by vietfancy View Post
thanks for a great mod.

How do I add more tags into this mod? Right now we can only use [img] tag. I do have [IMGL] and [IMGR] on my forum to align images to the left or to the right of the post.

Thanks again for a great mod.
It's a good moment to ask for new features, but I'm not sure if I implement them all
Reply With Quote
  #139  
Old 01-27-2011, 12:14 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sticky View Post
Ok, I'm going to try to install is.

So iei_getfile_index I replace with all the code you posted?

As for the last part, sorry what am I replacing exactly? What is the call to function?
You could replace the old function with mine, or you could keep the old function and just add my function to the code.

As for the "call to the function" it's the line directly under the comment
//Get File Index

Replace the line:
PHP Code:
  $filename iei_get_file_index($path$extension); 
With
PHP Code:
  $filename iei_get_file_index_name($path$extension$value); 
Or better yet just comment out the first line and add the other one below it so you have the original code if you ever want to go back:
PHP Code:
  //$filename = iei_get_file_index($path, $extension); 
  
$filename iei_get_file_index_name($path$extension$value); 
Reply With Quote
  #140  
Old 01-27-2011, 06:26 PM
BadgerDog BadgerDog is offline
 
Join Date: Oct 2006
Location: Toronto
Posts: 1,789
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
y2ksw, if you're taking feature requests, here is some code I made to keep the original file names...
I wanted to test your PHP version against just a specific thread to see how it worked, so I added something y2ksw showed me in a previous post to his code.

$SQL = "SELECT postid, " . TABLE_PREFIX . "post.dateline, pagetext, forumid
FROM " . TABLE_PREFIX . "post join " . TABLE_PREFIX . "thread on (" . TABLE_PREFIX . "post.threadid = " . TABLE_PREFIX . "thread.threadid)
WHERE iei_parsed = 0
AND threadid=28420
AND pagetext LIKE '%[/IMG]%'
ORDER BY postid";

When I did that with your PHP file, I get an SQL error, while the same piece of code addition in y2ksw's code executed correctly ONLY against that thread ID?

I like the idea of keeping the original filenames (or a variant thereof) and thank you for showing us that method, but I wanted to ensure it would work cleanly on our site before I turned it ON live against our whole forum.

Ami I missing something? Sorry, I'm not a programmer ...

Regards,
Doug
Reply With Quote
  #141  
Old 01-27-2011, 07:09 PM
sticky sticky is offline
 
Join Date: Sep 2003
Posts: 934
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
You could replace the old function with mine, or you could keep the old function and just add my function to the code.

As for the "call to the function" it's the line directly under the comment
//Get File Index

Replace the line:
PHP Code:
  $filename iei_get_file_index($path$extension); 
With
PHP Code:
  $filename iei_get_file_index_name($path$extension$value); 
Or better yet just comment out the first line and add the other one below it so you have the original code if you ever want to go back:
PHP Code:
  //$filename = iei_get_file_index($path, $extension); 
  
$filename iei_get_file_index_name($path$extension$value); 
Working great, thank you!
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 11:43 PM.


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.06028 seconds
  • Memory Usage 2,395KB
  • Queries Executed 27 (?)
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
  • (8)bbcode_php
  • (6)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (20)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (5)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete