MediaWiki:Common.js: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Retirando bloco obsoleto (segundo pedido do Luan) |
Desfazendo minha modificação para ver se o quadro de edição reaparece |
||
Linha 58: | Linha 58: | ||
} |
} |
||
$.cookie('edittoolscharsubset', s, { expires : 999 }); |
$.cookie('edittoolscharsubset', s, { expires : 999 }); |
||
} |
|||
/* add menu for selecting subsets of secial characters */ |
|||
/***** must match MediaWiki:Edittools *****/ |
|||
function addCharSubsetMenu() { |
|||
var edittools = document.getElementById('editpage-specialchars'); |
|||
if (edittools) { |
|||
mw.loader.load( 'mediawiki.toolbar' ); /* Load the insertTags legacy stub */ |
|||
var menu = "<select id=\"charSubsetControl\" style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">"; |
|||
menu += "<option>Códigos</option>"; |
|||
menu += "<option>Mensagens</option>"; |
|||
menu += "<option>Latim</option>"; |
|||
menu += "<option>AFI</option>"; |
|||
menu += "<option>AHD</option>"; |
|||
menu += "<option>Árabe</option>"; |
|||
menu += "<option>Arménio</option>"; |
|||
menu += "<option>Catalão</option>"; |
|||
menu += "<option>Círilico</option>"; |
|||
menu += "<option>Esperanto</option>"; |
|||
menu += "<option>Estónio</option>"; |
|||
menu += "<option>Francês</option>"; |
|||
menu += "<option>Alemão</option>"; |
|||
menu += "<option>Grego</option>"; |
|||
menu += "<option>Grego Antigo</option>"; |
|||
menu += "<option>Havaiano</option>"; |
|||
menu += "<option>Hebreu</option>"; |
|||
menu += "<option>Iorubá</option>"; |
|||
menu += "<option>Islandês</option>"; |
|||
menu += "<option>Italiano</option>"; |
|||
menu += "<option>Lituano</option>"; |
|||
menu += "<option>Maltês</option>"; |
|||
menu += "<option>Inglês Antigo</option>"; |
|||
menu += "<option>Português</option>"; |
|||
menu += "<option>Romeno</option>"; |
|||
menu += "<option>Espanhol</option>"; |
|||
menu += "<option>Turco</option>"; |
|||
menu += "<option>Vietnamita</option>"; |
|||
menu += "<option>Tailandês</option>"; |
|||
menu += "</select>"; |
|||
edittools.innerHTML = menu + edittools.innerHTML; |
|||
/* default subset from cookie */ |
|||
var s = parseInt( $.cookie('edittoolscharsubset') ); |
|||
if ( isNaN(s) ) s = 0; |
|||
/* update dropdown control to value of cookie */ |
|||
document.getElementById('charSubsetControl').selectedIndex = s; |
|||
/* display the subset indicated by the cookie */ |
|||
chooseCharSubset( s ); |
|||
} |
|||
} |
} |
||
Revisão das 09h19min de 19 de novembro de 2015
/* Any JavaScript here will be loaded for all users on every page load. */
/**
* Create a new DOM node for the current document.
* Basic usage: var mySpan = newNode('span', "Hello World!")
* Supports attributes and event handlers*: var mySpan = newNode('span', {style:"color: red", focus: function(){alert(this)}, id:"hello"}, "World, Hello!")
* Also allows nesting to create trees: var myPar = newNode('p', newNode('b',{style:"color: blue"},"Hello"), mySpan)
*
* *event handlers, there are some issues with IE6 not registering event handlers on some nodes that are not yet attached to the DOM,
* it may be safer to add event handlers later manually.
**/
function newNode(tagname){
var node = document.createElement(tagname);
for( var i=1;i<arguments.length;i++ ){
if(typeof arguments[i] == 'string'){ //Text
node.appendChild( document.createTextNode(arguments[i]) );
}else if(typeof arguments[i] == 'object'){
if(arguments[i].nodeName){ //If it is a DOM Node
node.appendChild(arguments[i]);
}else{ //Attributes (hopefully)
for(var j in arguments[i]){
if(j == 'class'){ //Classname different because...
node.className = arguments[i][j];
}else if(j == 'style'){ //Style is special
node.style.cssText = arguments[i][j];
}else if(typeof arguments[i][j] == 'function'){ //Basic event handlers
try{ node.addEventListener(j,arguments[i][j],false); //W3C
}catch(e){try{ node.attachEvent('on'+j,arguments[i][j],"Language"); //MSIE
}catch(e){ node['on'+j]=arguments[i][j]; }} //Legacy
}else{
node.setAttribute(j,arguments[i][j]); //Normal attributes
}
}
}
}
}
return node;
}
/* select subsection of special characters */
function chooseCharSubset(s) {
var l = document.getElementById('editpage-specialchars').getElementsByTagName('p');
for (var i = 0; i < l.length ; i++) {
l[i].style.display = i == s ? 'inline' : 'none';
l[i].style.visibility = i == s ? 'visible' : 'hidden';
}
$.cookie('edittoolscharsubset', s, { expires : 999 });
}
/* add menu for selecting subsets of secial characters */
/***** must match MediaWiki:Edittools *****/
function addCharSubsetMenu() {
var edittools = document.getElementById('editpage-specialchars');
if (edittools) {
mw.loader.load( 'mediawiki.toolbar' ); /* Load the insertTags legacy stub */
var menu = "<select id=\"charSubsetControl\" style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
menu += "<option>Códigos</option>";
menu += "<option>Mensagens</option>";
menu += "<option>Latim</option>";
menu += "<option>AFI</option>";
menu += "<option>AHD</option>";
menu += "<option>Árabe</option>";
menu += "<option>Arménio</option>";
menu += "<option>Catalão</option>";
menu += "<option>Círilico</option>";
menu += "<option>Esperanto</option>";
menu += "<option>Estónio</option>";
menu += "<option>Francês</option>";
menu += "<option>Alemão</option>";
menu += "<option>Grego</option>";
menu += "<option>Grego Antigo</option>";
menu += "<option>Havaiano</option>";
menu += "<option>Hebreu</option>";
menu += "<option>Iorubá</option>";
menu += "<option>Islandês</option>";
menu += "<option>Italiano</option>";
menu += "<option>Lituano</option>";
menu += "<option>Maltês</option>";
menu += "<option>Inglês Antigo</option>";
menu += "<option>Português</option>";
menu += "<option>Romeno</option>";
menu += "<option>Espanhol</option>";
menu += "<option>Turco</option>";
menu += "<option>Vietnamita</option>";
menu += "<option>Tailandês</option>";
menu += "</select>";
edittools.innerHTML = menu + edittools.innerHTML;
/* default subset from cookie */
var s = parseInt( $.cookie('edittoolscharsubset') );
if ( isNaN(s) ) s = 0;
/* update dropdown control to value of cookie */
document.getElementById('charSubsetControl').selectedIndex = s;
/* display the subset indicated by the cookie */
chooseCharSubset( s );
}
}
/* do any Wiktionary-specific customizations */
function customizeWiktionary() {
addCharSubsetMenu();
}
$( customizeWiktionary );
/** Correlatos
* Adiciona links para os projetos correlatos no menu lateral, a partir da [[Predefinição:Correlatos]].
* TODO: Remover quando o [[bugzilla:708]] for resolvido
*/
function adiciona_correlatos() {
if (iProjectHTML = document.getElementById( 'interProject' )) {
iProjectHTML = iProjectHTML.innerHTML;
var iProject = document.createElement( 'div' );
if (mw.config.get( 'skin' ) === 'vector' ) {
iProject.className = 'portal collapsed';
cl = 'body';
} else {
iProject.className = 'portlet';
cl = 'pBody';
}
iProject.innerHTML = '<h3>Correlatos<\/h3><div class="' + cl + '">' + iProjectHTML;
iProject.setAttribute( 'id', 'p-correlatos' );
iProject.role = 'navigation';
iProject.id = 'p-correlatos';
var ptb = document.getElementById( 'p-tb' );
ptb.parentNode.insertBefore(iProject, ptb.nextSibling);
}
}
$( adiciona_correlatos );
/*** Fim do Correlatos ***/
// The function looks for a banner like that:
// <div id="RealTitleBanner">Div that is hidden
// <span id="RealTitle">title</span>
// </div>
// An element with id=DisableRealTitle disables the function.
rewritePageH1 = function() {
try {
var realTitleBanner = document.getElementById('RealTitleBanner');
if (realTitleBanner) {
if (!document.getElementById('DisableRealTitle')) {
var realTitle = document.getElementById('RealTitle');
var h1 = document.getElementsByTagName("h1")[0];
if (realTitle && h1) {
h1.innerHTML = realTitle.innerHTML;
realTitleBanner.style.display = 'none';
}
}
}
} catch (e) {
/* Something went wrong. */
}
};
$( rewritePageH1 );
/*
== Controle de imagem ofensiva ==
*/
// Desenvolvido por Voz da Verdade 27/jan/2007
function ApagarAvisoImagemOfensiva(){
var aviso01=document.getElementById("imagemOfensiva01");
aviso01.style.display = 'none';
}
function criarBtnMostraImgOfensiva()
{
var aviso02=document.getElementById("imagemOfensiva02");
if (aviso02) {
var botaoImgOfensiva = document.createElement('a');
var pularLinha = document.createElement('br');
botaoImgOfensiva.className = 'btnMostraImagemOfensiva';
botaoImgOfensiva.setAttribute('href', 'javascript:mostrarImagemOfensiva();');
var textoMostraImgOfensiva = document.createTextNode('Mostrar imagem');
botaoImgOfensiva.appendChild(pularLinha);
botaoImgOfensiva.appendChild(textoMostraImgOfensiva);
aviso02.appendChild(botaoImgOfensiva);
var apagarEsteAviso = document.createElement('a');
apagarEsteAviso.setAttribute('href','javascript:ApagarAvisoImagemOfensiva();');
var textoApagarAvisoImgOfensiva = document.createTextNode('Ocultar');
var pularLinha2 = document.createElement('br');
apagarEsteAviso.appendChild(pularLinha2);
apagarEsteAviso.appendChild(textoApagarAvisoImgOfensiva);
aviso02.appendChild(apagarEsteAviso);
}
}
function mostrarImagemOfensiva(){
var aviso01=document.getElementById("imagemOfensiva01");
aviso01.style.display = 'none';
var aviso03=document.getElementById("imagemOfensiva03");
aviso03.style.display = 'block';
}
$( criarBtnMostraImgOfensiva);
/** Collapsible tables
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
* TODO: substituir pelo plugin makeCollapsible quando estiver online (ver [[mw:RL/DM#jQuery.makeCollapsible]])
*/
var autoCollapse = 2;
var collapseCaption = "Esconder ▲";
var expandCaption = "Expandir ▼";
function collapseTable( tableIndex )
{
var Button = document.getElementById( 'collapseButton' + tableIndex );
var Table = document.getElementById( 'collapsibleTable' + tableIndex );
var i;
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == collapseCaption ) {
for ( i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = 'none';
}
Button.firstChild.data = expandCaption;
} else {
for ( i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = collapseCaption;
}
}
function createCollapseButtons()
{
var tableIndex = 0;
var NavigationBoxes = {};
var Tables = document.getElementsByTagName( 'table' );
var i;
for ( i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass('collapsible' ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( 'th' )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );
var Button = document.createElement( 'span' );
var ButtonLink = document.createElement( 'a' );
var ButtonText = document.createTextNode( collapseCaption );
Button.style.styleFloat = 'right';
Button.style.cssFloat = 'right';
Button.style.fontWeight = 'normal';
Button.style.textAlign = 'right';
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
ButtonLink.setAttribute( 'href', "javascript:collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
Header.insertBefore( Button, Header.childNodes[0] );
tableIndex++;
}
}
for ( i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass('collapsed' ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( 'autocollapse' ) ) ) {
collapseTable( i );
}
}
}
$( createCollapseButtons );
// ============================================================
// BEGIN Dynamic Navigation Bars (experimental)
// TODO: substituir pelo plugin makeCollapsible quando estiver online (ver [[mw:RL/DM#jQuery.makeCollapsible]])
// set up the words in your language
var NavigationBarHide = '[ Esconder ▲ ]';
var NavigationBarShow = '[ Expandir ▼ ]';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById('NavToggle' + indexNavigationBar);
var NavFrame = document.getElementById('NavFrame' + indexNavigationBar);
var NavChild;
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (
NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
var i;
// iterate over all < div >-elements
for(
i=0;
NavFrame = document.getElementsByTagName('div')[i];
i++
) {
// if found a navigation bar
if (NavFrame.className == 'NavFrame') {
indexNavigationBar++;
var NavToggle = document.createElement('a');
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(
var j=0;
j < NavFrame.childNodes.length;
j++
) {
if (NavFrame.childNodes[j].className == 'NavHead') {
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
$( createNavigationBarToggleButton );
// END Dynamic Navigation Bars
// ============================================================
/**
* @source: [[en:MediaWiki:Gadget-DocTabs.js]]
* @todo: Migrar para um gadget e sincronizar com o original
*/
//Gera a aba Citações (e, no namespace Predefinição, também a aba Documentação)
var conf = mw.config.get([
'wgPageName',
'wgArticleId',
'wgCanonicalNamespace',
'wgTitle',
'wgScriptPath'
]);
function citations_tab(){
var texts = {
// tab id : [ label, hover-text, access-key (c if tab comes first, 3 if last) ]
'ca-nstab-main': ['Entrada', 'Ver a página de conteúdo', 'c'],
'ca-nstab-cita.C3.A7.C3.B5es': ['Citações', 'Ver página de citações', '3'],
'ca-nstab-template': ['Predefinição', 'Ver predefinição', 'c'],
'ca-nstab-documentation': ['Documentação', 'Documentação da predefinição', '3']
};
var lookup = {}; // {page-title: tab-node} these are looked up and changed to red if missing.
// Returns [id-of-portlet, node-to-insert-before or null] for inserting the tab.
function get_insert_position(id) {
var portlet = document.getElementById('p-namespaces') ? 'p-namespaces' : 'p-cactions';
var insbef = null;
if (texts[id][2] == 'c') { // otherwise '3'
insbef = document.getElementById(portlet).getElementsByTagName('ul')[0].firstChild;
} else if (portlet == 'p-cactions' ) { // 'last' in Monobook means "before Edit"
var insbef = document.getElementById('ca-edit');
if(! insbef) insbef = document.getElementById('ca-viewsource');
}
return [portlet, insbef];
}
// Add a new namespace with addPortletLink using the lookup table above.
function add_namespace_tab(page, id) {
var insert = get_insert_position(id);
mw.util.addPortletLink( insert[0], mw.util.getUrl( page ), texts[id][0], id, texts[id][1], texts[id][2], insert[1] );
if (page == conf.wgPageName) { // Can by-pass lookup
var tab = document.getElementById(id);
tab.className = 'selected';
if (conf.wgArticleId == 0) {
make_tab_red(tab);
}
} else { // lookup the redness with the ajax below
lookup[page]=document.getElementById(id);
}
}
// Replace the two current tabs with new ones, used when in the third namespace.
function change_main_tabs(old_id, new_id, talk_page) {
// Remove old tab.
var ct = document.getElementById(old_id);
ct.parentNode.removeChild(ct);
// Add new tab.
add_namespace_tab(conf.wgPageName, new_id);
// Change destination of talk tab.
var dt = document.getElementById('ca-talk');
var a = dt.getElementsByTagName('a')[0];
a.setAttribute('href', mw.util.getUrl( talk_page ));
lookup[talk_page] = dt;
if(dt.className) dt.className = dt.className.replace('new','');
}
// Change a blue-link to a red-link
function make_tab_red(tab){
tab.className = tab.className+' new';
var a = tab.getElementsByTagName('a')[0];
var href = a.getAttribute('href');
a.setAttribute('href',href+(href.indexOf('?')>0?'&':'?')+'action=edit&redlink=1');
}
if( conf.wgCanonicalNamespace == 'Citações' ){
change_main_tabs('ca-nstab-cita.C3.A7.C3.B5es', 'ca-nstab-cita.C3.A7.C3.B5es', 'Discussão:' + conf.wgTitle);
add_namespace_tab(conf.wgTitle, 'ca-nstab-main');
}else if( conf.wgCanonicalNamespace == '' || conf.wgCanonicalNamespace == 'Talk' ){
add_namespace_tab('Citações:'+conf.wgTitle, 'ca-nstab-cita.C3.A7.C3.B5es');
}else if( conf.wgCanonicalNamespace == 'Template' && /\/doc$/.test(conf.wgTitle) ){
var baseTitle = conf.wgTitle.replace(/\/doc$/, "");
change_main_tabs('ca-nstab-template', 'ca-nstab-documentation', 'Predefinição Discussão:' + baseTitle);
add_namespace_tab('Predefinição:' + baseTitle, 'ca-nstab-template');
}else if( conf.wgCanonicalNamespace == 'Template' || conf.wgCanonicalNamespace == 'Template_talk' ){
add_namespace_tab('Predefinição:'+conf.wgTitle+'/doc', 'ca-nstab-documentation');
}else{ //Nothing to see here...
return false;
}
//Now check for red pages
// [[mw:RL/JD]]: sajax_init_object is deprecated. Use $.ajax, $.getJSON and/or $.get
var pagetitles = '';
var spl = '';
for(var page in lookup) {
pagetitles += spl + page; // encodeURIComponent(page);
spl = '|';
}
$.getJSON(
mw.util.wikiScript( 'api' ), {
format: 'json',
action: 'query',
titles: pagetitles,
prop: 'info'
},
function( obj ) {
/* API call was successful do something with obj */
if (obj['query']['pages'] == undefined) return;
$.each( obj['query']['pages'], function () {
title = this.title;
if (this.missing != undefined) {
make_tab_red(lookup[title]);
}
} );
}
);
}
$( citations_tab );
/*
== Pesquisa avançada ==
Na página [[Special:Search]] as ligações para os sítios de pesquisa externa como Yahoo, Google, MSN Live e Exalead. Está baseado em [[w:fr:MediaWiki:Common.js]].
*/
if( mw.config.get('wgNamespaceNumber') == -1 ) {
function externalSearchEngines() {
if (typeof SpecialSearchEnhanced2Disabled != 'undefined') return;
if ( mw.config.get('wgCanonicalSpecialPageName') != "Search") return;
var mainNode = document.getElementById("powersearch");
if (!mainNode) mainNode = document.getElementById("search");
if (!mainNode) return;
var beforeNode = document.getElementById("mw-search-top-table");
if (!beforeNode) return;
beforeNode = beforeNode.nextSibling;
if (!beforeNode) return;
var firstEngine = "mediawiki";
var choices = document.createElement("div");
choices.setAttribute("id","searchengineChoices");
choices.style.textAlign = "center";
var lsearchbox = document.getElementById("searchText");
if (!lsearchbox) return;
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;
if (engine.Template.indexOf('http') == 0) {
var lienMoteur = document.createElement("a");
lienMoteur.href = engine.Template.replace("{searchTerms}", initValue).replace("{language}", "pt");
lienMoteur.appendChild( document.createTextNode( engine.ShortName ) );
label.appendChild(lienMoteur);
} else {
label.appendChild( document.createTextNode( engine.ShortName ) );
}
choices.appendChild( label );
}
}
mainNode.insertBefore(choices, beforeNode);
var input = document.createElement("input");
input.id = "searchengineextraparam";
input.type = "hidden";
mainNode.insertBefore(input, beforeNode);
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));
var l = ("" + params).split("&");
for (var idx = 0;idx < l.length;idx++) {
var p = l[idx].split("=");
var pValue = p[1];
if (pValue == "{language}") {
} else if (pValue == "{searchTerms}") {
var input;
input = document.getElementById("searchText");
input.name = p[0];
} else {
var input = document.getElementById("searchengineextraparam");
input.name = p[0];
input.value = pValue;
}
}
}
if ( mw.config.get('wgCanonicalSpecialPageName') == "Search") {
var searchEngines = {
mediawiki: {
ShortName: "MediaWiki",
Template: mw.config.get('wgScript') + "?search={searchTerms}"
},
exalead: {
ShortName: "Exalead",
Template:"http://www.exalead.com/search/web/results/?q={searchTerms}+site%3Apt.wiktionary.org"
},
google: {
ShortName: "Google",
Template: "http://www.google.pt/search?as_sitesearch=pt.wiktionary.org&hl={language}&q={searchTerms}"
},
wikiwix: {
ShortName: "Wikiwix",
Template: "http://pt.wikiwix.com/index.php?action={searchTerms}&lang={language}&disp=dict"
},
wlive: {
ShortName: "Bing",
Template: "http://www.bing.com/search?q={searchTerms}&q1=site:http://pt.wiktionary.org"
},
yahoo: {
ShortName: "Yahoo!",
Template: "http://search.yahoo.com/search?p={searchTerms}&vs=pt.wiktionary.org"
}
};
$(externalSearchEngines);
}
} //if( mw.config.get('wgNamespaceNumber') == -1 )
/*
== Redirecionamento automático ==
Permite o redirecionamento automático para página com grafia semelhante (geralmente, troca de inicial maiúscula por minúscula e vice-versa).
*/
function doRedirect() {
// REDIRECTED FROM
if( window.location.href.indexOf('redirde=') != -1 ) {
var wiktDYMfrom = decodeURIComponent(window.location.href.replace(/^(.+[&\?]redirde=([^&]+).*|.*)?$/,"$2"));
jQuery('#siteSub').after(
newNode('div', {id: 'contentSub'}, '(Auto-redirecionado de ',
newNode('tt', newNode('a', {href: mw.util.getUrl(wiktDYMfrom) + '?redirect=no', 'class': 'new'}, wiktDYMfrom)),
')'));
} else {
// DID YOU MEAN
var target = jQuery('#did-you-mean a').html(),
pagetitle = jQuery.trim(jQuery('h1').first().text());
if( target && target != pagetitle
&& !window.location.href.match(/[&\?]redirect=no|[&\?]action=(?!view)/)
&& ($.cookie('WiktionaryDisableAutoRedirect') != 'true')
&& mw.config.get('wgArticleId') === 0
&& !/Redirected from/.test(jQuery('#contentSub').html())) {
document.location = mw.util.getUrl( target ) + '?redirde=' + mw.util.wikiUrlencode( pagetitle );
}
}
}
$( doRedirect );