/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */
if ($.inArray( mw.config.get( 'wgAction' ), [ "edit" , "submit" ]) > -1)
{
var load_edittools = true;
importScript("MediaWiki:Edittools.js");
importScript("MediaWiki:Extrabo.js");
importScript("MediaWiki:Forcepreview.js");
}
else if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Search' )
{
importScript("MediaWiki:Search.js");
}
if (navigator.appName == "Microsoft Internet Explorer")
{
importScript("MediaWiki:IEFixes.js");
}
if ( mw.config.get( 'wgAction' ) === 'view'
&& !mw.config.get( 'wgCanonicalSpecialPageName' )
&& mw.config.get( 'wgRestrictionEdit' ).length
&& $.inArray( mw.config.get( 'wgRestrictionEdit' )[0], ['autoconfirmed', 'sysop'] ) > -1
&& mw.config.get( 'wgPageName' ) !== 'Página_principal'
) {
importScript( 'MediaWiki:Topicon.js' );
}
/*
* Upload form
*/
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Upload' ) {
importScript('MediaWiki:UploadForm.js');
}
/** Commons ******************************************************************************
* Descrição:Adiciona um link direto para carregamentos no Commons
********************************************************************************************/
function linkUploadToCommons()
{
if (document.getElementById("carrega-para-commons")) {
return;
}
var li_carrega = document.getElementById("t-upload");
if (!li_carrega) {
return;
}
var afegit = li_carrega.nextSibling;
var ul_eines = li_carrega.parentNode;
var li = document.createElement("li");
var commonsURL = '//commons.wikimedia.org/wiki/Special:Upload';
li.id = "carrega-para-commons";
li.innerHTML = '<a href="' + commonsURL + '">Carregar no Commons</a>';
if (afegit) {
ul_eines.insertBefore(li, afegit);
}
else {
ul_eines.appendChild(li);
}
}
$(linkUploadToCommons);
/* Barras de navegação */
/** Barras de navegação dinâmica ************************************************************
* Origem: [[:it:MediaWiki:Common.js]]
********************************************************************************************/
// set up the words in your language
var NavigationBarHide = ' [ocultar]';
var NavigationBarShow = ' [exibir]';
// 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),
NavFrame = document.getElementById("NavFrame" + indexNavigationBar),
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, i;
// iterate over all < div >-elements
for(
i=0, NavFrame = document.getElementsByTagName("div")[0];
NavFrame;
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);
}
NavFrame = document.getElementsByTagName("div")[i];
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
$(createNavigationBarToggleButton);
/* Interwikis */
function interwikiExtra()
{
// iterate over all <span>-elements
for(var i=0, a = document.getElementsByTagName("span")[0]; a; i++) {
// if found a linkInfo span
if(a.className == "interwiki-info") {
// iterate over all <li>-elements
var count=0;
for(var j=0, b = document.getElementsByTagName("li")[0]; b; j++) {
if(b.className == "interwiki-" + a.id) {
b.innerHTML = b.innerHTML + " "+a.title;
if(a.title == "(vo)") { b.title = "Texto original"; }
}
else if(b.className == "interwiki-" + a.id.substr(0,a.id.length-1)) {
count = count+1;
if(a.id.charAt(a.id.length-1) == count) {
b.innerHTML = b.innerHTML + " "+a.title;
}
}
b = document.getElementsByTagName("li")[j];
}
}
a = document.getElementsByTagName("span")[i];
}
}
$(interwikiExtra);
/**
* Altera o título da página
*
* A função procura por um banner como:
* <nowiki><div id="RealTitleBanner">Div que está oculto</nowiki>
* <nowiki><span id="RealTitle">título</span></nowiki>
* <nowiki></div></nowiki>
* Um elemento com id=DisableRealTitle desabilita a função
* @source: [[w:en:MediaWiki:Common.js]]
*/
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) {
mw.log( 'Algo deu errado ao tentar reescrever o título da página.' );
}
};
$( rewritePageH1 );
/**
* Transforma páginas comuns em páginas de discussão, para permitir coloração baseada na indentação
* @source: [[:fr:w:MediaWiki:Common.js]]
* @author: [[:fr:User:Aoineko]]
*/
$(function() {
if ( $('#PaginaDeDiscussao').length ) {
$(document.body).removeClass('ns-subject').addClass('ns-talk');
}
});