MediaWiki:Common.js: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
conforme solicitado na minha discussão |
Desfeita a edição 62511167 de Albertoleoncio (As categorias não estão nos artigos, estão nas discussões deles) Etiqueta: Desfazer |
||
(Há 149 revisões intermédias de 23 utilizadores que não estão a ser apresentadas) | |||
Linha 1: | Linha 1: | ||
/* |
/* Qualquer código JavaScript presente aqui será carregado por todos os usuários em cada página carregada. */ |
||
/*jshint camelcase: true, curly: true, eqeqeq: true, immed: true, latedef: true, newcap: true, noarg: true, noempty: true, nonew: true, quotmark: single, trailing: true, undef: true, unused: true, bitwise: true, forin: true, regexp: true, strict: true, onevar: true, laxbreak: true */ |
|||
/*global mw, $ */ |
|||
( function () { |
|||
/** Importar scripts específicos se for necessário ******************************************/ |
|||
'use strict'; |
|||
/** |
|||
* Oculta botão editar da [[Wikipédia:Esplanada/propostas]] e da [[Wikipédia:Esplanada/geral]] |
|||
* |
|||
* @author: Helder (https://github.com/he7d3r) |
|||
* @license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/> |
|||
*/ |
|||
/* Desativado por causar erro: $.collapsibleTabs.getSettings(...) is undefined ([[phab:T177108]]) |
|||
mw.loader.using( 'mediawiki.util', function () { |
|||
function hideEditButton() { |
|||
var temp = 'Template:Esplanada2/Preload'; |
|||
if ( mw.config.get( 'wgUserLanguage' ) !== 'pt' ) { |
|||
if (wgAction == "edit" || wgAction == "submit") //scripts específicos para editar páginas |
|||
temp += '/en'; |
|||
{ |
|||
} |
|||
importScript("MediaWiki:Common.js/edit.js") |
|||
} |
|||
$( '#ca-addsection' ).find( 'a' ).attr( |
|||
else if ( wgCanonicalSpecialPageName == "Search" ||wgPageName == "Special:Search" || wgPageName == "Special:Busca" || wgPageName == "Especial:Search" || wgPageName == "Especial:Busca" ) //scripts específicos para Especial:Busca |
|||
'href', |
|||
{ |
|||
mw.util.getUrl( mw.config.get( 'wgPageName' ), { |
|||
importScript("MediaWiki:Common.js/search.js") |
|||
action: 'edit', |
|||
} |
|||
section: 'new', |
|||
preload: temp |
|||
} ) |
|||
); |
|||
if ( mw.config.get( 'skin' ) === 'vector' ) { |
|||
if (navigator.appName == "Microsoft Internet Explorer") //scripts específicos para Internet Explorer |
|||
// Move o botão "editar" para o menu de ações |
|||
{ |
|||
$( '#p-cactions' ).removeClass( 'emptyPortlet' ).find( 'ul' ).append( $( '#ca-edit' ) ); |
|||
importScript("MediaWiki:Common.js/IEFixes.js") |
|||
} |
|||
} |
} |
||
if ( $.inArray( mw.config.get( 'wgPageName' ), [ 'Wikipédia:Esplanada/propostas', 'Wikipédia:Esplanada/geral' ] ) !== -1 ) { |
|||
$( hideEditButton ); |
|||
} |
|||
});*/ |
|||
/** |
|||
* Parâmetros &withCSS= e &withJS= para a URL |
|||
* |
|||
* Permite que sejam testados scripts e folhas de estilos do domínio MediaWiki |
|||
* sem precisar editar páginas ".css" ou ".js" pessoais |
|||
* @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL |
|||
* @revision 2020-04-04 |
|||
*/ |
|||
mw.loader.using( ['mediawiki.util'], function () { |
|||
var extraCSS = mw.util.getParamValue( 'withCSS' ), |
|||
extraJS = mw.util.getParamValue( 'withJS' ); |
|||
if ( extraCSS ) { |
|||
// WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks) |
|||
if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) { |
|||
mw.loader.load( '/w/index.php?title=' + extraCSS + '&action=raw&ctype=text/css', 'text/css' ); |
|||
} else { |
|||
mw.notify( 'Só são permitidas páginas do domínio MediaWiki.', { title: 'Valor withCSS inválido' } ); |
|||
} |
|||
} |
|||
if ( extraJS ) { |
|||
/** Importar módulos JavaScript de páginas da fr.wikipedia.org ****************************** |
|||
// WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks) |
|||
* Obs: Importar os demais scripts utilizados da página francesa e utilizar o |
|||
if ( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) { |
|||
* importScript() acima, que opossui a mesma função. |
|||
mw.loader.load( '/w/index.php?title=' + extraJS + '&action=raw&ctype=text/javascript' ); |
|||
********************************************************************************************/ |
|||
} else { |
|||
function loadJs(page) |
|||
mw.notify( 'Só são permitidas páginas do domínio MediaWiki.', { title: 'Valor withJS inválido' } ); |
|||
{ |
|||
} |
|||
document.write('<script type="text/javascript" src="' + |
|||
} |
|||
'http://fr.wikipedia.org/w/index.php?title=' + page + |
|||
} ); |
|||
'&action=raw&ctype=text/javascript&dontcountme=s"></script>'); |
|||
} |
|||
// Ocultar a barra de sumário das páginas de pedidos |
|||
mw.loader.using( 'mediawiki.util', function () { |
|||
if ( /Wikipédia:Pedidos\/(?!Outros|Revisão_de_ações_administrativas$)/.test( mw.config.get( 'wgPageName' ) ) && mw.util.getParamValue( 'section' ) === 'new' ) { |
|||
$( '.mw-summary' ).hide(); |
|||
} |
|||
} ); |
|||
/** |
|||
/** Link destaque *************************************************************************** |
|||
* Editnotices mágicos **************************************************** |
|||
* Descrição: Adiciona estrela ao lado da ligação dos artigos destacados das outras Wikipédias |
|||
* |
|||
********************************************************************************************/ |
|||
* Descrição: Adiciona editnotices nas páginas de desambiguação e biografias de pessoas vivas. |
|||
function LinkFA() |
|||
* Mantenedores: [[:en:User:RockMFR]] |
|||
{ |
|||
* |
|||
if ( document.getElementById( "p-lang" ) ) { |
|||
* @param {string} name |
|||
var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" ); |
|||
*/ |
|||
function addEditIntro( name ) { |
|||
for ( var i = 0; i < InterwikiLinks.length; i++ ) { |
|||
$( '.mw-editsection, #ca-edit, #ca-ve-edit' ).find( 'a' ).each( function ( i, el ) { |
|||
if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) { |
|||
el.href = $( this ).attr( 'href' ) + '&editintro=' + name; |
|||
InterwikiLinks[i].className += " FA" |
|||
} ); |
|||
InterwikiLinks[i].title = "Este artigo recebeu estatuto de destaque."; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
addOnloadHook( LinkFA ); |
|||
/** Link bom *************************************************************************** |
|||
* Descrição: Adiciona estrela prateada ao lado da ligação dos artigos bons das outras Wikipédias |
|||
********************************************************************************************/ |
|||
function Bominterwiki() |
|||
{ |
|||
if ( document.getElementById( "p-lang" ) ) { |
|||
var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" ); |
|||
for ( var i = 0; i < InterwikiLinks.length; i++ ) { |
|||
if ( document.getElementById( InterwikiLinks[i].className + "-bom" ) ) { |
|||
InterwikiLinks[i].className += " BOM" |
|||
InterwikiLinks[i].title = "Este artigo recebeu estatuto de bom."; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
addOnloadHook( Bominterwiki ); |
|||
/** Correlatos ****************************************************************************** |
|||
* Descrição:Correlatos no menu lateral. Código copiado do de:wikt |
|||
********************************************************************************************/ |
|||
// InterProjekt-Links (vgl. [[MediaZilla:708]]) |
|||
document.write('<style type="text/css">#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}<\/style>'); |
|||
function iProject() { |
|||
if (document.getElementById("interProject")) { |
|||
var iProject = document.getElementById("interProject").innerHTML; |
|||
var interProject = document.createElement("div"); |
|||
interProject.style.marginTop = "0.7em"; |
|||
interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+iProject+'<\/div>'; |
|||
document.getElementById("p-tb").appendChild(interProject); |
|||
} |
|||
} |
|||
addOnloadHook(iProject); |
|||
/** Altera o título da página ************************************************************** |
|||
* Origem: [[:w:en:MediaWiki:Common.js]] |
|||
* Descrição: A função procura por um banner como: |
|||
* <nowiki><div id="RealTitleBanner">Div that is hidden</nowiki> |
|||
* <nowiki><span id="RealTitle">title</span></nowiki> |
|||
* <nowiki></div></nowiki> |
|||
* 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) { |
|||
/* Algo deu errado. */ |
|||
} |
|||
} |
|||
addOnloadHook(rewritePageH1); |
|||
/** Wiki Mini Atlas ************************************************************************ |
|||
* Descrição: Mini atlas para artigos com geocoodernadas. |
|||
* Autor: [[en:User:Dschwen]] |
|||
********************************************************************************************/ |
|||
if (wgServer == "https://secure.wikimedia.org") { |
|||
var metaBase = "https://secure.wikimedia.org/wikipedia/meta"; |
|||
} else { |
|||
var metaBase = "http://meta.wikimedia.org"; |
|||
} |
} |
||
importScriptURI(metaBase+"/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400") |
|||
if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) { |
|||
$( function () { |
|||
if ( document.getElementById( 'disambig' ) ) { |
|||
addEditIntro( 'MediaWiki:Editnotice-0-Desambiguação' ); |
|||
} |
|||
} ); |
|||
$( function () { |
|||
var cats = mw.config.get( 'wgCategories' ); |
|||
/** IRC CHAT ************************************************************************ |
|||
if ( !cats ) { |
|||
return; |
|||
* |
|||
} |
|||
********************************************************************************************/ |
|||
if ( $.inArray( 'Pessoas vivas', cats ) !== -1 ) { |
|||
addEditIntro( 'MediaWiki:Editnotice-0-BPV' ); |
|||
if(document.getElementById && !document.location.href.match("action=edit") && !document.location.href.match("action=submit")) { |
|||
} |
|||
function loadLoginForm() { |
|||
} ); |
|||
var box = document.getElementById("irclogin"); |
|||
var html = null; |
|||
if(box) { |
|||
html = '<form method="post" action="http://chatwikizine.memebot.com/cgi-bin/cgiirc/irc.cgi" target="_blank" id="loginform" name="loginform">'; |
|||
html += ' <input type="hidden" id="interface" "name="interface" value="nonjs"/>'; |
|||
html += ' <input type="text" size="25" id="Nickname" name="Nickname" value="' + nickify(wgUserName) + '" onfocus="clear_text(this)"/>'; |
|||
html += ' <select id="metodo" name="metodo" onChange="setServer();"> <option value="Java">Java</option><option value="cgi">CGI</option> </select>'; |
|||
html += ' <input type="hidden" name="Character_set" value="utf-8"/>'; |
|||
html += ' <input type="hidden" id="rede" name="Server" value="irc.freenode.net"/>'; |
|||
html += ' <input type="hidden" id="ch" name="Channel" value="#wikipedia-pt"/>'; |
|||
html += ' <input type="submit" value="entrar" onclick="document.getElementById(\'loginform\').submit();"/>'; |
|||
html += '</form>'; |
|||
box.innerHTML = html; |
|||
} |
|||
} |
|||
function setServer() { |
|||
var selMetodo=document.getElementById("metodo"); |
|||
var nmMetodo=selMetodo.options[selMetodo.selectedIndex].value; |
|||
if(nmMetodo == 'Java') { |
|||
document.getElementById("rede").name = 'h'; |
|||
document.getElementById("Nickname").name = 'n'; |
|||
document.getElementById("ch").name = 'ch'; |
|||
document.getElementById("loginform").action = 'http://czat.computerserv.pl/'; |
|||
}else if(nmMetodo == 'cgi') { |
|||
document.getElementById("rede").name = 'Server'; |
|||
document.getElementById("Nickname").name = 'Nickname'; |
|||
document.getElementById("ch").name = 'Channel'; |
|||
document.getElementById("loginform").action = 'http://chatwikizine.memebot.com/cgi-bin/cgiirc/irc.cgi'; |
|||
} |
|||
setjs(); |
|||
} |
|||
function nickify(s) { |
|||
if(s == null) { |
|||
return "anon" + Math.floor(Math.random()*100); |
|||
} |
|||
s = s.toLowerCase(); |
|||
s = s.replace(" ", "_"); |
|||
s = s.replace(/á/g, 'a'); |
|||
s = s.replace(/é/g, 'e'); |
|||
s = s.replace(/í/g, 'i'); |
|||
s = s.replace(/[óő]/g, 'o'); |
|||
s = s.replace(/[úű]/g, 'u'); |
|||
s = s.replace(/[^a-z0-9_-]/g, ''); |
|||
return s; |
|||
} |
|||
var irclogin_cleared = 0; |
|||
function clear_text(field) { |
|||
if(irclogin_cleared == 0) { |
|||
irclogin_cleared = 1; |
|||
field.value = ""; |
|||
} |
|||
} |
|||
function setjs() { |
|||
if(navigator.product == 'Gecko') { |
|||
document.loginform["interface"].value = 'mozilla'; |
|||
} else if(window.opera && document.childNodes) { |
|||
document.loginform["interface"].value = 'opera7'; |
|||
} else if(navigator.appName == 'Microsoft Internet Explorer' && |
|||
navigator.userAgent.indexOf("Mac_PowerPC") > 0) { |
|||
document.loginform["interface"].value = 'konqueror'; |
|||
} else if(navigator.appName == 'Microsoft Internet Explorer') { |
|||
document.loginform["interface"].value = 'ie'; |
|||
} else if(navigator.appName == 'Konqueror') { |
|||
document.loginform["interface"].value = 'konqueror'; |
|||
} else if(window.opera) { |
|||
document.loginform["interface"].value = 'opera'; |
|||
} |
|||
} |
|||
addOnloadHook(loadLoginForm); |
|||
} |
} |
||
// Scripts para páginas específicas |
|||
/** |
|||
/** Collapsible tables ********************************************************* |
|||
* IPBan Desktop |
|||
* |
|||
* @author [[w:pt:User:Danilo.mac]] |
|||
* Description: Allows tables to be collapsed, showing only the header. See |
|||
* @author [[w:pt:User:Albertoleoncio]] |
|||
* [[Wikipedia:NavFrame]]. |
|||
*/ |
|||
* Maintainers: [[User:R. Koot]] |
|||
*/ |
|||
var autoCollapse = 2; |
|||
var collapseCaption = "Esconder"; |
|||
var expandCaption = "Expandir"; |
|||
function collapseTable( tableIndex ) |
|||
{ |
|||
var Button = document.getElementById( "collapseButton" + tableIndex ); |
|||
var Table = document.getElementById( "collapsibleTable" + tableIndex ); |
|||
if ( !Table || !Button ) { |
|||
return false; |
|||
} |
|||
var Rows = Table.rows; |
|||
if ( Button.firstChild.data == collapseCaption ) { |
|||
for ( var i = 1; i < Rows.length; i++ ) { |
|||
Rows[i].style.display = "none"; |
|||
} |
|||
Button.firstChild.data = expandCaption; |
|||
} else { |
|||
for ( var 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 = new Object(); |
|||
var Tables = document.getElementsByTagName( "table" ); |
|||
for ( var i = 0; i < Tables.length; i++ ) { |
|||
if ( hasClass( Tables[i], "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 ( var i = 0; i < tableIndex; i++ ) { |
|||
if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { |
|||
collapseTable( i ); |
|||
} |
|||
} |
|||
} |
|||
addOnloadHook( createCollapseButtons ); |
|||
/** Dynamic Navigation Bars (experimental) ************************************* |
|||
* |
|||
* Description: See [[Wikipedia:NavFrame]]. |
|||
* Maintainers: UNMAINTAINED |
|||
*/ |
|||
// set up the words in your language |
|||
var NavigationBarHide = '[' + collapseCaption + ']'; |
|||
var NavigationBarShow = '[' + expandCaption + ']'; |
|||
// 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); |
|||
if (!NavFrame || !NavToggle) { |
|||
return false; |
|||
} |
|||
// if shown now |
|||
if (NavToggle.firstChild.data == NavigationBarHide) { |
|||
for ( |
|||
var NavChild = NavFrame.firstChild; |
|||
NavChild != null; |
|||
NavChild = NavChild.nextSibling |
|||
) { |
|||
if ( hasClass( NavChild, 'NavPic' ) ) { |
|||
NavChild.style.display = 'none'; |
|||
} |
|||
if ( hasClass( NavChild, 'NavContent') ) { |
|||
NavChild.style.display = 'none'; |
|||
} |
|||
} |
|||
NavToggle.firstChild.data = NavigationBarShow; |
|||
// if hidden now |
|||
} else if (NavToggle.firstChild.data == NavigationBarShow) { |
|||
for ( |
|||
var NavChild = NavFrame.firstChild; |
|||
NavChild != null; |
|||
NavChild = NavChild.nextSibling |
|||
) { |
|||
if (hasClass(NavChild, 'NavPic')) { |
|||
NavChild.style.display = 'block'; |
|||
} |
|||
if (hasClass(NavChild, 'NavContent')) { |
|||
NavChild.style.display = 'block'; |
|||
} |
|||
} |
|||
NavToggle.firstChild.data = NavigationBarHide; |
|||
} |
|||
} |
|||
// adds show/hide-button to navigation bars |
|||
function createNavigationBarToggleButton() |
|||
{ |
|||
var indexNavigationBar = 0; |
|||
// iterate over all < div >-elements |
|||
var divs = document.getElementsByTagName("div"); |
|||
for( |
|||
var i=0; |
|||
NavFrame = divs[i]; |
|||
i++ |
|||
) { |
|||
// if found a navigation bar |
|||
if (hasClass(NavFrame, "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); |
|||
for ( |
|||
var NavChild = NavFrame.firstChild; |
|||
NavChild != null; |
|||
NavChild = NavChild.nextSibling |
|||
) { |
|||
if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) { |
|||
if (NavChild.style.display == 'none') { |
|||
NavToggleText = document.createTextNode(NavigationBarShow); |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
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 (hasClass(NavFrame.childNodes[j], "NavHead")) { |
|||
NavFrame.childNodes[j].appendChild(NavToggle); |
|||
} |
|||
} |
|||
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); |
|||
} |
|||
} |
|||
} |
|||
addOnloadHook( createNavigationBarToggleButton ); |
|||
/* Test if an element has a certain class ************************************** |
|||
* |
|||
* Description: Uses regular expressions and caching for better performance. |
|||
* Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]] |
|||
*/ |
|||
var hasClass = (function () { |
|||
var reCache = {}; |
|||
return function (element, className) { |
|||
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className); |
|||
}; |
|||
})(); |
|||
/** Caixa com abas - [[Predefinição:Metacaixa]] ********************************************* |
|||
* Origem: [[:w:fr:MediaWiki:Common.js]] (traduzido de [[:w:ca:MediaWiki:Common.js]]) |
|||
* Descrição: Ver [[Predefinição:Metacaixa]] |
|||
* Autor: [[:w:ca:User:Peleguer]], [[:w:ca:User:Joanjoc]], [[:w:fr:User:Antaya]] (adaptação), [[:w:pt:Rei-artur]] (adaptação) |
|||
********************************************************************************************/ |
|||
function CadreOngletInit(){ |
|||
// retour si ailleurs que sur l'espace utilisateur, |
|||
// sachant que c'est une horreur au niveau de l'accessibilité |
|||
// et qu'il est impossible de "récupérer" ou de recycler ce script |
|||
// (celui-ci fonctionnant par inclusion de sous pages) |
|||
if ( wgNamespaceNumber == 0 || wgNamespaceNumber == 102 ) return; |
|||
var i=0 |
|||
for (i=0;i<=9;i++){ |
|||
var vMb = document.getElementById("mb"+i); |
|||
if (!vMb) break; |
|||
var j=1 |
|||
var vOgIni = 0 |
|||
for (j=1;j<=9;j++){ |
|||
var vBt = document.getElementById("mb"+i+"bt"+j); |
|||
if (!vBt) break; |
|||
vBt.onclick = CadreOngletVoirOnglet; |
|||
if (vBt.className=="mbBoutonSel") vOgIni=j; |
|||
} |
|||
if (vOgIni == 0) { |
|||
vOgIni = 1+Math.floor((j-1)*Math.random()) ; |
|||
document.getElementById("mb"+i+"og"+vOgIni).style.display = "block"; |
|||
document.getElementById("mb"+i+"og"+vOgIni).style.visibility = "visible"; |
|||
document.getElementById("mb"+i+"bt"+vOgIni).className="mbBoutonSel"; |
|||
} |
|||
} |
|||
} |
|||
function CadreOngletVoirOnglet(){ |
|||
var vMbNom = this.id.substr(0,3); |
|||
var vIndex = this.id.substr(5,1); |
|||
var i=1 |
|||
for (i=1;i<=9;i++){ |
|||
var vOgElem = document.getElementById(vMbNom+"og"+i); |
|||
if (!vOgElem) break; |
|||
if (vIndex==i){ |
|||
vOgElem.style.display = "block"; |
|||
vOgElem.style.visibility = "visible"; |
|||
document.getElementById(vMbNom+"bt"+i).className="mbBoutonSel"; |
|||
} else { |
|||
vOgElem.style.display = "none"; |
|||
vOgElem.style.visibility = "hidden"; |
|||
document.getElementById(vMbNom+"bt"+i).className="mbBouton"; |
|||
} |
|||
} |
|||
return false; |
|||
} |
|||
addOnloadHook(CadreOngletInit); |
|||
/* CÓDIGO JAVASCRIPT DE "METACAIXA" */ |
|||
/** *************************************************************************** |
|||
* Descrição: Adiciona a predefinição {protegido} e {protegido-ip} automáticos para artigos protegidos |
|||
* Autor: [[:pt:User:Rei-artur]] |
|||
******************************************************************************/ |
|||
importScript('MediaWiki:Topicon.js') |
|||
mw.loader.using(['mediawiki.user']).then( function () { |
|||
$(function () { |
|||
var IPBanNamespaces = [0, 2, 4, 6, 10, 14, 100, 104, 710, 828]; |
|||
var caEdit = document.getElementById('ca-edit'); |
|||
if (mw.user.isAnon() && IPBanNamespaces.indexOf(mw.config.get('wgNamespaceNumber')) > -1) { |
|||
mw.util.addCSS( '.mw-editsection{display:none}li#ca-ve-edit{display:none !important;}' ); |
|||
if(caEdit && caEdit.firstChild) { |
|||
caEdit.firstChild.href = 'https://pt.wikipedia.org/w/index.php?title=Especial:Entrar&returnto=' + encodeURIComponent(mw.config.get('wgPageName')); |
|||
caEdit.firstChild.innerHTML = 'Editar'; |
|||
} |
|||
} |
|||
}); |
|||
} ); |
|||
}() ); |
|||
/** Banners para dicas e doações vista apenas por anônimos ************************** |
|||
* Descrição: Frases aleatórias que podem ser vistas por anônimos the bug: |
|||
* Autores: [[:en:User:Gmaxwell]], [[:en:User:MZMcBride]] |
|||
******************************************************************************/ |
|||
importScript('MediaWiki:WikiBanners.js') |
Edição atual tal como às 17h06min de 29 de novembro de 2021
/* Qualquer código JavaScript presente aqui será carregado por todos os usuários em cada página carregada. */
/*jshint camelcase: true, curly: true, eqeqeq: true, immed: true, latedef: true, newcap: true, noarg: true, noempty: true, nonew: true, quotmark: single, trailing: true, undef: true, unused: true, bitwise: true, forin: true, regexp: true, strict: true, onevar: true, laxbreak: true */
/*global mw, $ */
( function () {
'use strict';
/**
* Oculta botão editar da [[Wikipédia:Esplanada/propostas]] e da [[Wikipédia:Esplanada/geral]]
*
* @author: Helder (https://github.com/he7d3r)
* @license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
*/
/* Desativado por causar erro: $.collapsibleTabs.getSettings(...) is undefined ([[phab:T177108]])
mw.loader.using( 'mediawiki.util', function () {
function hideEditButton() {
var temp = 'Template:Esplanada2/Preload';
if ( mw.config.get( 'wgUserLanguage' ) !== 'pt' ) {
temp += '/en';
}
$( '#ca-addsection' ).find( 'a' ).attr(
'href',
mw.util.getUrl( mw.config.get( 'wgPageName' ), {
action: 'edit',
section: 'new',
preload: temp
} )
);
if ( mw.config.get( 'skin' ) === 'vector' ) {
// Move o botão "editar" para o menu de ações
$( '#p-cactions' ).removeClass( 'emptyPortlet' ).find( 'ul' ).append( $( '#ca-edit' ) );
}
}
if ( $.inArray( mw.config.get( 'wgPageName' ), [ 'Wikipédia:Esplanada/propostas', 'Wikipédia:Esplanada/geral' ] ) !== -1 ) {
$( hideEditButton );
}
});*/
/**
* Parâmetros &withCSS= e &withJS= para a URL
*
* Permite que sejam testados scripts e folhas de estilos do domínio MediaWiki
* sem precisar editar páginas ".css" ou ".js" pessoais
* @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
* @revision 2020-04-04
*/
mw.loader.using( ['mediawiki.util'], function () {
var extraCSS = mw.util.getParamValue( 'withCSS' ),
extraJS = mw.util.getParamValue( 'withJS' );
if ( extraCSS ) {
// WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks)
if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) {
mw.loader.load( '/w/index.php?title=' + extraCSS + '&action=raw&ctype=text/css', 'text/css' );
} else {
mw.notify( 'Só são permitidas páginas do domínio MediaWiki.', { title: 'Valor withCSS inválido' } );
}
}
if ( extraJS ) {
// WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks)
if ( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) {
mw.loader.load( '/w/index.php?title=' + extraJS + '&action=raw&ctype=text/javascript' );
} else {
mw.notify( 'Só são permitidas páginas do domínio MediaWiki.', { title: 'Valor withJS inválido' } );
}
}
} );
// Ocultar a barra de sumário das páginas de pedidos
mw.loader.using( 'mediawiki.util', function () {
if ( /Wikipédia:Pedidos\/(?!Outros|Revisão_de_ações_administrativas$)/.test( mw.config.get( 'wgPageName' ) ) && mw.util.getParamValue( 'section' ) === 'new' ) {
$( '.mw-summary' ).hide();
}
} );
/**
* Editnotices mágicos ****************************************************
*
* Descrição: Adiciona editnotices nas páginas de desambiguação e biografias de pessoas vivas.
* Mantenedores: [[:en:User:RockMFR]]
*
* @param {string} name
*/
function addEditIntro( name ) {
$( '.mw-editsection, #ca-edit, #ca-ve-edit' ).find( 'a' ).each( function ( i, el ) {
el.href = $( this ).attr( 'href' ) + '&editintro=' + name;
} );
}
if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
$( function () {
if ( document.getElementById( 'disambig' ) ) {
addEditIntro( 'MediaWiki:Editnotice-0-Desambiguação' );
}
} );
$( function () {
var cats = mw.config.get( 'wgCategories' );
if ( !cats ) {
return;
}
if ( $.inArray( 'Pessoas vivas', cats ) !== -1 ) {
addEditIntro( 'MediaWiki:Editnotice-0-BPV' );
}
} );
}
// Scripts para páginas específicas
/**
* IPBan Desktop
* @author [[w:pt:User:Danilo.mac]]
* @author [[w:pt:User:Albertoleoncio]]
*/
mw.loader.using(['mediawiki.user']).then( function () {
$(function () {
var IPBanNamespaces = [0, 2, 4, 6, 10, 14, 100, 104, 710, 828];
var caEdit = document.getElementById('ca-edit');
if (mw.user.isAnon() && IPBanNamespaces.indexOf(mw.config.get('wgNamespaceNumber')) > -1) {
mw.util.addCSS( '.mw-editsection{display:none}li#ca-ve-edit{display:none !important;}' );
if(caEdit && caEdit.firstChild) {
caEdit.firstChild.href = 'https://pt.wikipedia.org/w/index.php?title=Especial:Entrar&returnto=' + encodeURIComponent(mw.config.get('wgPageName'));
caEdit.firstChild.innerHTML = 'Editar';
}
}
});
} );
}() );