Ugrás a tartalomhoz

Szerkesztő:Guillaumito/monobook.js

A Wikipédiából, a szabad enciklopédiából

Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.

  • Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
  • Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
  • Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
  • Opera: Nyomj Ctrl–F5-öt
/** Change Special:Search to use a radio menu *******************************************************
   *
   *  Description: Change Special:Search to use a radio menu, with the default being
   *               the internal MediaWiki engine
   *  Created and maintained by: [[:fr:User:Pmartin]]
   */
 
if ((wgNamespaceNumber == -1) && (wgCanonicalSpecialPageName == "Search")) {
	var searchEngines = {
	  mediawiki: {
	    ShortName: "Wikipedia",
	    Template: "/w/index.php?search={searchTerms}"
	  },
	  google: {
	    ShortName: "Google",
	    Template: "http://www.google.fr/search?hl=" + wgUserLanguage + "&q={searchTerms}&as_sitesearch=" + wgServer.substr(7, wgServer.length - 1 )
	  },
	  yahoo: {
	    ShortName: "Yahoo",
	    Template: "http://" + wgUserLanguage + ".search.yahoo.com/search?p={searchTerms}&vs=" + wgServer
	  },
          live: {
            ShortName: "Windows live",
	    Template: "http://search.live.com/results.aspx?q={searchTerms}&q1=site:" + wgServer
          },
	  wikiwix: {
	    ShortName: "Wikiwix",
            Template: "http://www.wikiwix.com/index.php?action={searchTerms}&lang="+wgContentLanguage
	  }
	};
	addOnloadHook(externalSearchEngines);
}
 

function externalSearchEngines() {
 
  if (typeof SpecialSearchEnhanced2Disabled != 'undefined') return;
 
  var mainNode;
  if (document.forms["search"]) { 
    mainNode = document.forms["search"];
  } 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 changeSearchEngine(selectedId, searchTerms) {
 
	  var currentId = document.getElementById("searchengineChoices").currentChoice;
	  if (selectedId == currentId) return;
 
	  document.getElementById("searchengineChoices").currentChoice = selectedId;
	  var radio = document.getElementById('searchengineRadio-'  + selectedId);
	  radio.checked = "checked";
 
	  var engine = searchEngines[selectedId];
	  var p = engine.Template.indexOf('?');
	  var params = engine.Template.substr(p+1);
 
	  var form;
	  if (document.forms["search"]) {
	    form = document.forms["search"];
	  } else {
	    form = document.getElementById("powersearch");
	  }
	  form.setAttribute("action", engine.Template.substr(0,p));
          form.removeAttribute("onsubmit");
          if (navigator.appName == 'Microsoft Internet Explorer') form.parentNode.innerHTML = form.parentNode.innerHTML;
          if (selectedId == 'mediawiki') {
	    if (document.forms["search"]) {
              form.setAttribute("onsubmit", "SubSearch('search','searchText','/')"); 
	    } else {
              form.setAttribute("onsubmit", "SubSearch('powersearch','powerSearchText','/')"); 
	    }
          }

	  var l = ("" + params).split("&");
	  for (var i in l) {
	    var p = l[i].split("=");
	    var pValue = p[1];
 
	    if (pValue == "{language}") {
	    } else if (pValue == "{searchTerms}") {
	      var input;
	      if (document.forms["search"]) {
	        input = document.getElementById("searchText");
	      } else {
	        input = document.getElementById("powerSearchText");
	      } 
 
	      input.name = p[0];
	    } else {
	      var input = document.getElementById("searchengineextraparam");
 
	      input.name = p[0];
	      input.value = pValue;
	    }
	  }
}