"MediaWiki:Common.js" : Diffirenzi ntrê virsioni

Contenuto cancellato Contenuto aggiunto
fix
repairing the external search javascript.
Riga 367:
* Descrizione: Cambia Speciale:Ricerca per usare un menu' a
* tendina, con come default il motore interno di MediaWiki
/** Change Special:Search to use a drop-down menu
*
*
* Creato e gestito da: [[:en:User:Gracenotes]]
* Description: Dodaje do strony Special:Search menu selectbox
* Importato in scn.wiki da: [[Utenti:Melos]]
* pozwalajace na wybór wyszukiwarki
*/
* Created by: [[en:User:Gracenotes]] Updated by [[fr:User:Pmartin]]
*/
function externalSearchEngines() {
if (typeof SpecialSearchEnhanced2Disabled != 'undefined') return;
 
var mainNode;
if (wgPageName == "Spiciali:Ricerca,Cerca") {
if (document.forms["search"]) {
var searchEngines = [];
mainNode = document.forms["search"];
addOnloadHook(SpecialSearchEnhanced);
} else {
mainNode = document.getElementById("powersearch");
if (!mainNode) return;
var mainNode = mainNode.lastChild;
if (!mainNode) return;
while(mainNode.nodeType == 3) {
mainNode = mainNode.previousSibling;
}
}
var firstEngine = "mediawiki";
var choices = document.createElement("div");
choices.setAttribute("id","searchengineChoices");
choices.style.textAlign = "center";
var lsearchbox = document.getElementById("powerSearchText");
var initValue = lsearchbox.value;
var space = "";
for (var id in searchEngines) {
var engine = searchEngines[id];
if(engine.ShortName)
{
if (space) choices.appendChild(space);
space = document.createTextNode(" ");
var attr = {
type: "radio",
name: "searchengineselect",
value: id,
onFocus: "changeSearchEngine(this.value)",
id: "searchengineRadio-"+id
};
var html = "<input";
for (var a in attr) html += " " + a + "='" + attr[a] + "'";
html += " />";
var span = document.createElement("span");
span.innerHTML = html;
choices.appendChild( span );
var label = document.createElement("label");
label.htmlFor = "searchengineRadio-"+id;
label.appendChild( document.createTextNode( engine.ShortName ) );
choices.appendChild( label );
}
}
mainNode.appendChild(choices);
var input = document.createElement("input");
input.id = "searchengineextraparam";
input.type = "hidden";
mainNode.appendChild(input);
changeSearchEngine(firstEngine, initValue);
}
function SpecialSearchEnhancedchangeSearchEngine(selectedId, searchTerms) {
var createOption = function(site, action, mainQ, addQ, addV) {
var optcurrentId = document.createElementgetElementById('option'"searchengineChoices").currentChoice;
if (selectedId == currentId) return;
opt.appendChild(document.createTextNode(site));
searchEngines[searchEngines.length] = [action, mainQ, addQ, addV];
document.getElementById("searchengineChoices").currentChoice = selectedId;
return opt;
var radio = document.getElementById('searchengineRadio-' + selectedId);
}
radio.checked = "checked";
if (document.forms['powersearch'])
var searchForm = document.forms['powersearch'];
var engine = searchEngines[selectedId];
if (document.forms['search'])
var searchFormp = documentengine.Template.forms[indexOf('search?']);
var params = engine.Template.substr(p+1);
 
if (searchForm.lsearchbox) {
var form;
var searchBox = searchForm.lsearchbox;
if (document.forms["search"]) {
} else {
var searchBoxform = searchFormdocument.forms["search"];
} else }{
form = document.getElementById("powersearch");
 
}
var selectBox = document.createElement('select');
form.setAttribute("action", engine.Template.substr(0,p));
selectBox.id = 'searchEngine';
searchForm.onsubmit = function() {
var l = ("" + params).split("&");
var optSelected = searchEngines[document.getElementById('searchEngine').selectedIndex];
for (var i in l) {
searchForm.action = optSelected[0];
var searchBox.namep = optSelectedl[1i].split("=");
var searchForm.title.valuepValue = optSelectedp[31];
searchForm.title.name = optSelected[2];
if (pValue == "{language}") {
} else if (pValue == "{searchTerms}") {
selectBox.appendChild(createOption('MediaWiki', wgScriptPath + '/index.php', 'search', 'title', 'Spiciali:Search'));
var input;
selectBox.appendChild(createOption('Google', 'http://www.google.com/search', 'q', 'sitesearch', 'scn.wikipedia.org'));
if (document.forms["search"]) {
selectBox.appendChild(createOption('Yahoo', 'http://search.yahoo.com/search', 'p', 'vs', 'scn.wikipedia.org'));
input = document.getElementById("searchText");
selectBox.appendChild(createOption('Windows Live', 'http://search.live.com/results.aspx', 'q', 'q1', 'site:http://scn.wikipedia.org'));
} else {
selectBox.appendChild(createOption('Wikiwix', 'http://it.wikiwix.com/', 'action', 'lang', 'it'));
input = document.getElementById("powerSearchText");
selectBox.appendChild(createOption('Exalead', 'http://www.exalead.com/wikipedia/results', 'q', 'language', 'it'));
}
 
searchBox.style.marginLeft = '0px';
if (document input.getElementById('loadStatus'))name = {p[0];
} else {
var lStat = document.getElementById('loadStatus');
var input = document.getElementById("searchengineextraparam");
} else {
var lStat = searchForm.fulltext;
} input.name = p[0];
input.value = pValue;
lStat.parentNode.insertBefore(selectBox, lStat);
}
}
}
if (wgCanonicalSpecialPageName == "Search") {
var searchEngines = {
mediawiki: {
ShortName: "Mediawiki Search",
Template: "/w/index.php?search={searchTerms}"
},
google: {
ShortName: "Google",
Template: "http://www.google.com.vn/search?as_sitesearch=scn.wikipedia.org&q={searchTerms}"
},
wikiwix: {
ShortName: "Wikiwix",
Template: "http://scn.wikiwix.com/index.php?action={searchTerms}&lang=scn"
},
wlive: {
ShortName: "Windows Live",
Template: "http://search.live.com/results.aspx?q={searchTerms}&q1=site:http://scn.wikipedia.org"
},
yahoo: {
ShortName: "Yahoo!",
Template: "http://search.yahoo.com/search?p={searchTerms}&vs=scn.wikipedia.org"
}
};
addOnloadHook(externalSearchEngines);
}