Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Geek AutoLinker 4.02 Details »»
Geek AutoLinker 4.02
Version: 4.02, by The Geek The Geek is offline
Developer Last Online: Jan 2019 Show Printable Version Email this Page

Version: 3.0.7 Rating:
Released: 02-09-2005 Last Update: 05-25-2005 Installs: 151
DB Changes
 
No support by the author.

HowdA All,

Welcome to Geek Autolinker 4.0 from the makers of Geek Autolinker 2.0 and Tang - the stuff the people in space drink.

posts for version 4.0 start here

What it does:
It allows you to specify key words to replace in posts with ANY FREAKING URL YOU COULD THINK OF. Thats right, you to can now have key words automatically url'ed to other areas of the world wide web.

Now in 4.0 you can create popups, track impressions and click-thrus, get statistics on them and specify more attributes of the links. The popups can now also use bbcode to create virtually any kind of popup you could imagine. You can limit categories of links to certain forums and also enable specific usergroups to toggle GALs on or off (by category).


This is a perfect gift for sponsors, click throughs, referal programs, definitions, instructions, birthdays and other celebrations.

Example:
If I define Bob as a keyword that I would like to automatically come up hyperlinked to bob.com all I have to do is say so (well, you put it into the admincp). Presto! As quick as that, everytime a user sees the word bob, bobs, bob! Bob bOb? etc... it comes up linked to bob.com

How much will bob love you?

If the url you want it to jump to is actually a thread on your site, you can use the nifty ignorethreadid option. Heres how that works:

If I have a thread entitled Reputation and how to use it, I can put the word reputation into the Geek AutoLinker with the URL pointing to the thread about reputation. Then everytime the word reputation appears in someones post, anyone can click on it to learn more. Since it would be stupid to have the thread Reputation and how to use it autolink to itself, I put the threadid in the ignorethreadid box. That way all matches for reputation are linked to that thread except for the reputation matches in the thread Reputation and how to use it.

Safe mode and dangerous mode.

There are now two modes of operation. Safe mode will autolink any match AS LONG AS IT HAS A SPACE BEFORE IT. That means that <br />bob or .Bob are not valid matches and wont be highlighted. The reason for this is to prevent the autolinker messing up URLs with matches in them (like www.bob.com). Safe mode will most likely end up with fewer matches, but no messed up URLS.
Dangerous mode however could care less about your cute little spaces. It will link them regardless. That means more matches, but a slight increase that an existing url might break in a post.

Here are some examples in action.
Keyword: freak

Safe mode.
Freak out whenever freaks freak about on www.freak.com
Dangerous mode:
Freak out whenever freaks freak about on www.<a href="www.freak.com">freak</a>.com

Other stuff:
  • Category management - allows you to override global settings
  • Limit - limit the number of replacements per link per post
  • Ordinal - organise the order replacments are made
  • Customize your own replacment code on a global, catergory, or individual level.
  • The installer is a prototype GISH installer that does the file edits for you. Please check the readme for details on how it works - its pretty cool).
Upgrading
  • Download, replace all existing files with new ones.
  • Run the gal4_install.php file (in your admincp)
  • Follow the upgrade path.
  • The system will ahve you manullay chage any files it can not find to update.
DEMO: http://www.thenailgeek.com/showthread.php?t=11011 (note the words MMA and PREP. If you follow to MMA you will notice that MMA isnt linked in the final article thanks to ignorethreadid)

Difficulty: Easy
File mods: 4 simple ones
Added queries: 0 or greater depending on your settings

Updated 10.5.05 - Major
Massive update in functionality

Updated 13.4.05 - Major
Massive update in functionality

Update 25.03.05 - oops!
Changed readme addition to functions_showthread.php Things look good now

Updates 25.05.05 to v.204 - sneaky bug
Thanks to Razz - I found 2 minor typos that end up causing people working in safemode to actually be working in danger mode! To upgrade, simply check out this post

Updated 12.2.05 to v. 2.03 - ultra minor
Fixed a typo in readme. To upgrade, al you need to do is edit admincp/index,
do a search for
construct_nav_option($vbphrase['GAL_add_new'], 'GAL_admin.php?do=create');
and replace with
construct_nav_option($vbphrase['GAL_add_new'], 'GAL_admin.php?do=add');

Updated 11.2.05 - ultra minor
Fixed a typo in README (dont worry, it wasnt in the instructions)
Stopped phrase text spitting out during install. Some of the phrase is html so it looked confusing to new installers.
Removed reference to GAS3 settings in the install. This is because its the same installer. Just forgot to remove that line.
All in all, this was just a typo fix. There is no upgrade because there are no problems with the code.

Updated 10.2.05 - minor
Found a couple typos that affect safe mode.
Nothing major - just replace the GAL_admin.php file

Updated 10.2.05 - Major
Completely re-written.
See README for upgrade instructions.

Update 10.2.05 - minor
Updated include/geek_autolink.php as it was missing a table_prefix
To upgrade, download latest package and replace your geek_autolink file.


nJoy

Show Your Support

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

Comments
  #692  
Old 07-21-2005, 07:05 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yup you're showing up as licensed now.
Reply With Quote
  #693  
Old 07-21-2005, 09:09 PM
Paul Ross Paul Ross is offline
 
Join Date: Oct 2004
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I could do with some help installing this and am prepared to pay for it, if anyone's interested?
Reply With Quote
  #694  
Old 07-22-2005, 04:54 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Paul

If you are asking someone to do a job for payment, please post your request in teh Service Request forum.
Reply With Quote
  #695  
Old 07-23-2005, 04:44 PM
mkdevo mkdevo is offline
 
Join Date: May 2004
Location: CT, USA
Posts: 269
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

almost working, but i'm having a problem with IE displaying 'glossary' links (set them up exactly per instructions):



it seems to appear fine in firefox (just showing the text under the link, no <td> code)..

tried rebuilding as well.

from the debug:

Code:
Find  	#(\s\b(dictionary)s?\b)#im
Replace 	<a href='http://www.dictionary.com' target='_blank' class='DEF' onmouseover='GAL_popup(this,"1", 0, "", "Testing <!--GAL_REMOVAL-->dictionary.com", "");' onmouseout='GAL_hidepopup();'><!--GAL_REMOVAL-->$1</a>
any ideas?
Reply With Quote
  #696  
Old 07-24-2005, 02:41 AM
Tom1234 Tom1234 is offline
 
Join Date: Sep 2003
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Looks like a bug... "Box style" (box_style) setting does not take when adding a new category. The category can be edited to fix it though.
Reply With Quote
  #697  
Old 07-24-2005, 02:47 AM
Tom1234 Tom1234 is offline
 
Join Date: Sep 2003
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey, what's with the vB versions you guys are claiming to be running?

MarcoH64: 4.5.0 Beta4
The Geek: 4.06

As far as I know, vB 3.5 is in beta now.
Reply With Quote
  #698  
Old 07-25-2005, 02:45 PM
The Geek's Avatar
The Geek The Geek is offline
 
Join Date: Sep 2003
Location: Behind you
Posts: 2,779
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

mkdevo - it looks like you are running in danger mode. Make sure its in safe mode and rebuild.

Thanks tom... ill look into it.
Reply With Quote
  #699  
Old 07-25-2005, 04:51 PM
Tom1234 Tom1234 is offline
 
Join Date: Sep 2003
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by The Geek
Pigsy - I appreciate whate you are saying and yes, the more replacements... the more server load. Even with a js callback, your server will need to scan the text for matches you have wich I doubt will lighten your load much. Personally, I never envisioned people using it with 190 replacements! If you come up with a different method, I would love to hear about it for the next release.
Geek,

You didn't envision people using it with more than 190 replacements? I would expect it to be very common to have more than that once you get rolling with it.

GAL 4 is substantially slower than GAL 3! It's an absolute show stopper. Even a dual Xeon system is brought to it's knees with hundreds of replacements.

In addition to adding extra features, did you mostly switch from simple string replacements to using regular expressions - or is there some other reason that it is substantially slower than the previous version?

Other than turning off the DB Cache and removing some replacements, what else can be done to speed things up?

How do I turn off GAL4 completely (disabled) without un-installing it? I don't see an option in the admin area.

Can replacements be disabled rather than removed?
Reply With Quote
  #700  
Old 07-25-2005, 09:48 PM
Tom1234 Tom1234 is offline
 
Join Date: Sep 2003
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Geek,

The large amount of CPU time seems to be spent in the regular expression searching of preg_replace().

Since 99.9% of the time, the replacement text is not present in any given post, how about pre-processing the list of replacements "text" fields to see if a simple string search using the quicker stristr() function finds the text in the post before adding it to the find/replacement array to be used by "the CPU hog" preg_replace() function? I would then expect the preg_replace() to usually only be working with a few search terms or less.

I think this would speed things up a lot when using hundreds of replacements.
Reply With Quote
  #701  
Old 07-26-2005, 08:16 AM
The Geek's Avatar
The Geek The Geek is offline
 
Join Date: Sep 2003
Location: Behind you
Posts: 2,779
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi Tom,

The actual processing of the preg_replace is almost identical to the previous version (Especially if not using the DB cache). In fact, off the top of my head it IS the same.

Lets say that you have 190 GALS to check, you would then need to run 190 stristr´s THEN run the preg_replace on the results (for each post in the thread). Whether this has any cost implications, I couldnt say. Seems to me the ultimate solution would be to find a way to GAL the page results instead of on a post by post basis. The problem with doing that (as it is easily done) is the increased risk of GALing stuff you dont want GALed. If that could be done, you could cut the average preg_replace cost by an average 15 times.
If you want to give it a try, run the process_text function on the postbits after they are created.

As I mentioned before, I didnt envision 190 replacements at a go though I guess can easily see it happening now. The previous version would give you about as much overhead as this one would so I dont think it really has much to do with that.
Ill look into cost implications of the stristr or strpos when I start to migrate this to 3.5 however I think the real benefit would be by GALing the results instead of the post text.

HTH´s
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 09:43 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.04996 seconds
  • Memory Usage 2,315KB
  • Queries Executed 25 (?)
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)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (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
  • 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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete