[Mediawiki-l] Hook for use of "Go" button?

Daniel Barrett danb at VistaPrint.com
Mon Apr 12 20:07:07 UTC 2010


In an extension, I'd like to detect when the "Go" button has been used to jump directly to an article that exists.  Any ideas how to do this?  Here is what I have tried so far:

-       The Special:Search page (file specials/SpecialSearch.php) does an immediate redirect to the target, with no hook provided.
-       There is a hook SpecialSearchNogomatch that detects the use of the "Go" button but only when the target doesn't exist.  That's the opposite of what I need: in my case, the target does exist.  This hook is called too late anyway (after the redirect).
-       The hooks SpecialSearchResults and SpecialSearchNoResults do not fire in this situation
-       Maybe use a hook in the Title or Article class, but how to detect only the Go button? I don't want to include articles that have been visited by URL or by clicking a wiki link.

By brute force, I could probably make my extension run on every page load (ugh), tracking if I'm on Special:Search with a query string parameter "Go=go", and then use the SpecialSearchNogomatch hook to exclude searches that fail.  But that feels like an inefficient hack.

Thanks for any ideas....
DanB



More information about the MediaWiki-l mailing list