Implemented param tracking for hook users, feels a bit hackish
authorNiklas Laxström <nikerabbit@users.mediawiki.org>
Fri, 22 Apr 2011 20:25:21 +0000 (20:25 +0000)
committerNiklas Laxström <nikerabbit@users.mediawiki.org>
Fri, 22 Apr 2011 20:25:21 +0000 (20:25 +0000)
includes/specials/SpecialSearch.php

index 7fe8e0e..2deb67c 100644 (file)
@@ -34,6 +34,9 @@ class SpecialSearch extends SpecialPage {
        /// Search engine
        protected $searchEngine;
 
+       /// For links
+       protected $extraParams = array();
+
        const NAMESPACES_CURRENT = 'sense';
 
        public function __construct() {
@@ -436,7 +439,7 @@ class SpecialSearch extends SpecialPage {
                                $opt['ns' . $n] = 1;
                        }
                }
-               return $opt;
+               return $opt + $this->extraParams;
        }
 
        /**
@@ -1082,4 +1085,15 @@ class SpecialSearch extends SpecialPage {
                }
                return $this->searchEngine;
        }
+
+       /**
+        * Users of hook SpecialSearchSetupEngine can use this to
+        * add more params to links to not lose selection when
+        * user navigates search results.
+        * @since 1.18
+        */
+       public function setExtraParam( $key, $value ) {
+               $this->extraParams[$key] = $value;
+       }
+
 }