20,115
edits
m (http->https) |
(updates from Wikipedia's version) |
||
| Line 3: | Line 3: | ||
* Description: Change Special:Search to use a drop-down menu, with the default being | * Description: Change Special:Search to use a drop-down menu, with the default being | ||
* the internal MediaWiki engine | * the internal MediaWiki engine | ||
* | * Copied from https://en.wikipedia.org/wiki/MediaWiki:Gadget-externalsearch.js | ||
*/ | */ | ||
| Line 10: | Line 10: | ||
var opt = document.createElement('option'); | var opt = document.createElement('option'); | ||
opt.appendChild(document.createTextNode(site)); | opt.appendChild(document.createTextNode(site)); | ||
searchEngines.push([action, mainQ, addQ, addV]); | window.searchEngines.push([action, mainQ, addQ, addV]); | ||
return opt; | return opt; | ||
} | } | ||
var topline = document.getElementById('contentSub'); | var topline = document.getElementById('contentSub'); | ||
topline.style.color = "blue"; | topline.style.color = "blue"; | ||
topline.innerText = "Not finding what you're looking for? Select | topline.innerText = "Not finding what you're looking for? Select a different search engine from the dropdown menu below and try again."; | ||
if (document.forms | if (document.forms.powersearch) | ||
var searchForm = document.forms | var searchForm = document.forms.powersearch; | ||
if (document.forms | if (document.forms.search) | ||
var searchForm = document.forms | var searchForm = document.forms.search; | ||
if (searchForm.lsearchbox) { | if (searchForm.lsearchbox) { | ||
| Line 29: | Line 29: | ||
selectBox.id = 'searchEngine'; | selectBox.id = 'searchEngine'; | ||
searchForm.onsubmit = function() { | searchForm.onsubmit = function() { | ||
var | var window.searchEngines = searchEngines[document.getElementById('searchEngine').selectedIndex]; | ||
searchForm.action = optSelected[0]; | searchForm.action = optSelected[0]; | ||
searchBox.name = optSelected[1]; | searchBox.name = optSelected[1]; | ||
| Line 35: | Line 35: | ||
searchForm.title.name = optSelected[2]; | searchForm.title.name = optSelected[2]; | ||
} | } | ||
selectBox.appendChild(createOption('MediaWiki Search', mw.config.get(' | selectBox.appendChild(createOption('MediaWiki Search', mw.config.get( 'wgScript' ), 'search', 'title', 'Special:Search')); | ||
selectBox.appendChild(createOption('Google', 'https://www.google.com/search', 'q', 'sitesearch', 'wiki.oni2.net')); | selectBox.appendChild(createOption('Google', 'https://www.google.com/search', 'q', 'sitesearch', 'wiki.oni2.net')); | ||
selectBox.appendChild(createOption('Yahoo!', 'https://search.yahoo.com/search', 'p', 'vs', 'wiki.oni2.net')); | selectBox.appendChild(createOption('Yahoo!', 'https://search.yahoo.com/search', 'p', 'vs', 'wiki.oni2.net')); | ||
| Line 44: | Line 44: | ||
} else { | } else { | ||
var lStat = searchForm.title; | var lStat = searchForm.title; | ||
if( typeof lStat == 'object' && typeof lStat.length === 'number' ) lStat = lStat[0]; | if( typeof lStat === 'object' && typeof lStat.length === 'number' ) lStat = lStat[0]; | ||
} | } | ||
lStat.parentNode.insertBefore(selectBox, lStat); | lStat.parentNode.insertBefore(selectBox, lStat); | ||
} | } | ||
window.searchEngines = []; | |||
$(SpecialSearchEnhanced); | // Script is specific to Special:Search | ||
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search'){ | |||
$(SpecialSearchEnhanced); | |||
} | |||