Thread: Major Additions - Links and Downloads Manager
View Single Post
  #1845  
Old 06-08-2007, 04:23 AM
AndrewD AndrewD is offline
 
Join Date: Jul 2002
Location: Scotland
Posts: 3,486
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Rouzbeh1
the important thing is that i need this kind of links handling to lower the load on my servers

what i want is, to be able to add different Mirror Base Links in the Administrative Interface, and then ppl who add the entries would get 1 field for each mirror, where he must complete the remaining rest of the link

example :
Base URL for mirror 1 : http://mirror1.mysite.com/some_directory/
Base URL for mirror 2 : http://mirror2.mysite.com/a_directory/
I've given a lot of thought to this to see how to implement this cleanly, and this is my proposal.

Instead of having multiple url fields on the 'add entry' form, I've written an 'extra' that works alongside the LDM 'mod_rewrite' feature. This extra adds several new options to the LDM admin/settings page:
a) a url string to look for
b) one to five url strings to replace by
plus a couple of other switches.

When the extra is active, all LDM entries will be tested against the 'look for' string immediately before jumping/downloading. If they match, the 'look for' will be randomly replaced by one of the 'replace by' strings, in other words balancing the downloads across multiple servers.

This allows the admin to change the settings 'on the fly' withough having to edit all the entries.

This is, in effect, the same as the 'mod_rewrite' feature, except that it allows you to have a randomly-selected replacement. (If you are familiar with the Apache mod_rewrite moules, this is the effect of the ReplaceMap and rnd: options).

Please let me know if this is sufficient for your needs, so that I can finalise it.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01346 seconds
  • Memory Usage 1,767KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete