Results 1 to 4 of 4

Thread: Forum website advice needed - converting user image hotlinks to locally hosted images

  1. #1
    Join Date
    Oct 2006

    Forum website advice needed - converting user image hotlinks to locally hosted images

    Hi, I'm new to this forum and would like to apologize in advance for the "general" nature of this question. I am a new moderator for another Forum type website. The website has for years had no image upload feature and had users place in their posts external links to free photo hosting sites.

    Recently, the website added a feature to upload images directly onto their server, allowing them to be locally archived rather than remotely linked to the other photo hosting website.

    Now, 99.9 % of the Forum users have never purchased prints from the photo hosting site, including myself. Though the host site has never sent me any notification on my account, the older picture links on my posts have ceased to work, displaying only red X's instead. This is now beginning to happen all over the Forums, creating a slow errosion of images from the older posts.

    It would be ideal to create some type of program or utility to "saveas", then convert all of the older images to the new local hosting, thus eliminating the problem. This would solve the problem for the newer externally linked images - unfortunately the older ones are probably lost.


    This seems like the logical way to go about it:

    1) Mod temporarily locks topic for "maintenance" and copies thread to "backroom" area of the Forum.

    2) Mod then runs a utility that:

    a) Searches the thread for URL bbcode to indicate external image hotlinks,


    b) Performs "saveas" of http://[freephotohostingsite].com/[FILENAME] to http://[forumwebsite].com/[SAME FILENAME] (Archiving the external image link to the local server)


    c) Does a find/replace search through the thread's body text to replace all occurances of the phrase "http://[freephotohostingsite].com" with the phrase "http://[forumwebsite].com".

    3) The mod does a quick Q.C. check the next day and if everything looks good, overwrites the old thread with the new corresponding "image converted" thread, and unlocks the topic.


    Does anyone have any sample code or good ideas on implementing the items 2a, 2b, and 2c above?

    Any help would be much appreciated!

    Last edited by A&N; 10-24-2006 at 02:56 PM.

  2. #2
    Join Date
    Oct 2006
    unless the forum gives mods acess to the server, that is something an admin will have to do. sounds like either the users images are no longer there, or the site has disavbled remote linking, or they have used their bandwidth. the sites may not allow your command to get images from their site.

    since the admins have now allowed uploading, if members are allowed to upload, the best thing to do is let them do it themselves. otherwise you(or an admin) may have to save and upload each picture from the original host to the forums pic file. then go in and change the users links.

    if it is a matter of avatars and sig pics, this, while time consuming, is easily done. if users cannot upload themselves, then i would recomend appointing somone to handle this, and have the members email the pic to the person responsible and that person can then upload the images and change the appropriate links.

    since some image hosting sites may not allow another site to save images from their site (for security reasons, would you want me to be able to steal your pics from, lets say photot bucket and use them on my site?) the above option may be the only one you can actually use.

  3. #3
    Join Date
    Oct 2006
    Thanks, msemrk.

    As a mod, I'm working with the webmaster to come up with a solution for the problem. Subsequent to my first post above, we've figured out that the free hosting website that 90% of our forum users are using has migrated some of the pics on their server and renamed them in the process. That is why some, but not all of the pics from that website have become unresolved.

    We're still working on it, but it looks like we might have the file renaming figured out and a fairly "easy" solution may be in sight.

    Thanks for the reply,


  4. #4
    Join Date
    Apr 2006
    Quote Originally Posted by A&N
    ...a fairly "easy" solution may be in sight...
    Until it happens again.

    As msemrk mentioned, you need to inform the users (the ones that are still active) that they need to upload images to your server if they want a permanent home for them. Otherwise they can disappear without a moments notice.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.13092 seconds
  • Memory Usage 2,873KB
  • Queries Executed 13 (?)
More Information
Template Usage (33):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (4)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates