MediaWiki:Common.js: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
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:
/* Todo código JavaScript presente aqui será carregado por todos os usuários em cada página carregada. */
/* 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';
		}
	}
   });
} );

}() );