vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=245)
-   -   Administrative and Maintenance Tools - Import External Images (https://vborg.vbsupport.ru/showthread.php?t=253309)

BirdOPrey5 01-27-2011 01:29 AM

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.

OldSchoolDSL 01-27-2011 03:16 AM

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.

SoloX 01-27-2011 07:11 AM

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.

sticky 01-27-2011 09:49 AM

Quote:

Originally Posted by BirdOPrey5 (Post 2154316)
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?

vietfancy 01-27-2011 09:58 AM

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.

y2ksw 01-27-2011 10:01 AM

Quote:

Originally Posted by SoloX (Post 2155163)
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 ;)

y2ksw 01-27-2011 10:03 AM

Quote:

Originally Posted by vietfancy (Post 2155202)
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 :)

BirdOPrey5 01-27-2011 12:14 PM

Quote:

Originally Posted by sticky (Post 2155199)
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); 


BadgerDog 01-27-2011 06:26 PM

Quote:

Originally Posted by BirdOPrey5 (Post 2154316)
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? :confused:

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

Regards,
Doug

sticky 01-27-2011 07:09 PM

Quote:

Originally Posted by BirdOPrey5 (Post 2155239)
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!


All times are GMT. The time now is 09:13 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.01669 seconds
  • Memory Usage 1,777KB
  • 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
  • (8)bbcode_php_printable
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (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