MediaWiki:Common.js: Różnice pomiędzy wersjami

Z Nonsensopedii, polskiej encyklopedii humoru
Znacznik: rewert
M
 
(Nie pokazano 119 wersji utworzonych przez 13 użytkowników)
Linia 1: Linia 1:
/** COMMON.JS **
/* <pre><nowiki> */
* Plik zawiera funkcje używane w innych skryptach. Edytuj ostrożnie!
* <pre><nowiki>
** - SŁOWNIK UŁATWIAJĄCY PISANIE SKRYPTU **/
importScriptURI("http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js");


/**
/* PIWIK – POCZĄTEK */
* W tym pliku już nic nie ma, bo wszystko poprzenosiliśmy do gadżetów.
var _paq = _paq || [];
* Lista gadżetów dostępna jest tutaj: [[MediaWiki:Gadgets-definition]]. Jeśli o tym nie wiedziałeś, to nie ruszaj – pewnie i tak nie zrozumiesz co jest od czego.
_paq.push(['setCustomVariable', 1, 'Action', wgAction, 'visit'])
* Zobacz też [[User:Ostrzyciel/skórburdel]], tam jest rozpiska który plik JS/CSS się kiedy ładuje.
_paq.push(['setCustomVariable', 2, 'User', wgUserName, 'visit'])
* a, i jak robisz, to ograniczaj doładowywanie rzeczy typu mw.loader.load, bo to muli
_paq.push(['setUserId', wgUserName])
**/
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//algeo.pl/piwik/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 1]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
/* PIWIK – KONIEC */


/* </pre></nowiki> */
var
editform = (document.forms.editform)?document.forms.editform:null,
deleteconfirm = (document.forms.deleteconfirm)?document.forms.deleteconfirm:null,
TextBox = (null!=editform)?editform.wpTextbox1:'',
OpisZmian = (null!=editform)?editform.wpSummary:'',
DrobnaZmiana = (null!=editform)?editform.wpMinoredit:'',
GuzikZapisz = (null!=editform)?editform.wpSave:'',
deleteReason= (null!=deleteconfirm)?deleteconfirm.wpReason.value:'',
Non = {},
copywarn = document.getElementById('editpage-copywarn'),
displayFlashOverride = !1;
Gettext = !1;
(null!=deleteconfirm)&&(deleteconfirm.wpDeleteReasonList.onchange=function(){document.forms.deleteconfirm.wpReason.value="other"!=document.forms.deleteconfirm.wpDeleteReasonList.value?"":deleteReason;console.log(document.forms.deleteconfirm.wpDeleteReasonList.value)});
/** - PODSTAWOWE FUNKCJE **/
function inGroup(a){var b=0;for(i in wgUserGroups)wgUserGroups[i]==a&&(b=1);return b}
function returnObjById(a){var b=null;document.getElementById?b=document.getElementById(a):document.all?b=document.all[a]:document.layers&&(b=document.layers[a]);return b}
var hasClass=function(){
var a={};return function(b,c){return(a[c]?a[c]:a[c]=RegExp("(?:\\s|^)"+c+"(?:\\s|$)")).test(b.className)}
}();
function war(l,j,k,w){return (l==1)?j:(l%100>=10&&l%100<=20)?w:(([2,3,4]).indexOf(l%10)!=-1)?k:w;}
function gnd(g,m,z,n){var X={"male":m,"female":z,"unknown":n};return (g)?X[g]:n;}
function dTemu(l) {var N=Math.floor(l/1000),D=Math.floor(N/86400),H=Math.floor((N-D*86400)/3600),I=Math.floor((N-D*86400-H*3600)/60);
return {d:D,h:H,i:I,text:(D?D+" d"+war(D,"zień","ni","ni")+" ":"")+(H?H+" godz. ":"")+(I?I+" min"+(!H?"ut"+war(I,"ę","y",""):"")+" temu":"przed chwilą")};
}
function impzWiki(wk, st) {importScriptURI('http://'+wk+'.org/w/index.php?title='+st+'&action=raw&ctype=text/javascript');}
/* Archiwizacja Porum */
function zipForum(){
if(!("Forum"!=wgCanonicalNamespace||"view"!=wgAction||"Strona główna"==wgTitle))if(!document.getElementById("naglowekforum")||document.getElementById("nieodkopuj"))$("#ca-edit a")[0].style.color="DarkKhaki",$("#ca-edit a")[0].href="",$("#ca-edit a")[0].title="Ten wątek jest archiwalny, prosimy o nieedytowanie go."
}
/* Wyświetlenie nazwy użytkownika ([[Szablon:USERNAME]]) */
function UserNameReplace(){if(!("undefined"!=typeof disableUsernameReplace&&disableUsernameReplace||null==wgUserName)){
var a=YAHOO.util.Dom.getElementsByClassName("insertusername","span",document.getElementById("bodyContent")),b;for(b in a)a[b].innerHTML=wgUserName
}}
/* Import CSS i Wyświetlany przycisk do usuwania */
function cssYmport(){document.getElementById("cssimp")&&importStylesheet(document.getElementById("cssimp").textContent)}
function EKNuke(){1==inGroup("sysop")&&$(".nuke").css("display","inline")}
function Zab() {
var KL={e:wgRestrictionEdit.length?(wgRestrictionEdit[0]=="autoconfirmed"?1:2):0,m:wgRestrictionMove.length?(wgRestrictionMove[0]=="autoconfirmed"?1:2):0},WK=[false,"półzabezpieczona przed edycją","zabezpieczona przed edycją","półzabezpieczona przed przeniesieniem","półzabezpieczona","zabezpieczona przed edycją, półzabezpieczona przed przeniesieniem","zabezpieczona przed przeniesieniem","półzabezpieczona przed edycją, zabezpieczona przed przeniesieniem","zabezpieczona"],ML=parseInt(String(KL.m)+String(KL.e),3);WK[ML]&&$("<span class='restr'>Strona "+WK[ML]+".</span>").css({float:"right",marginTop:"2px"}).appendTo("#contentSub");
}
YAHOO.util.Event.onContentReady('column-one', zipForum);
addOnloadHook(UserNameReplace);
$(document).ready(cssYmport);
$(document).ready(EKNuke);
(typeof wgRestrictionEdit!="undefined"||typeof wgRestrictionMove!="undefined")&&$("#contentSub").ready(Zab);
$(document).ready(function(){$('input#searchInput').attr({'placeholder': 'Szukaj'});});
$(function(){$(".yt-iframe").each(function(){this.innerHTML="<iframe src=\"//www.youtube-nocookie.com/embed/"+this.id+"?rel=0&autohide=1&modestbranding=1\" frameborder=\"0\" allowfullscreen></iframe>";});});

/*** IMPORTY SKRYPTÓW ***/
importArticles({type:"script",articles:[
"MediaWiki:Dynamiczne_adresy_IP.js",
"MediaWiki:Glosowanie.js",
"MediaWiki:Enhanced-upload.js"
]});

/*** Skrypty dotyczące Gry ***/
/* Zmiana tytułu "Gra:Gra" na samo "Gra" */
$("#firstHeading").ready(function() {if($("#firstHeading").html() == "Gra:Gra") {$("#firstHeading").html("Gra");}});

/* BEGIN Dynamic Navigation Bars (experimantal)
* pochodzi z http://en.wikipedia.org/wiki/MediaWiki:Monobook.js
* autorzy: http://en.wikipedia.org/w/index.php?title=MediaWiki:Monobook.js&action=history
* licencja: GFDL
*/
// set up the words in your language
var NavigationBarHide = '[ Ukryj ]';
var NavigationBarShow = '[ Pokaż ]';
// 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 = 1;
// 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 (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 (
var 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;
// iterate over all < div >-elements
for(
var 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 && !wgTitle.match(/Najbardziej poszablonowana/)) {
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
YAHOO.util.Event.onContentReady('bodyContent', createNavigationBarToggleButton);
/** Collapsible tables **
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
var autoCollapse = 2;
var collapseCaption = "Ukryj";
var expandCaption = "Pokaż";
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 );
}
else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( hasClass( element, "outercollapse" ) ) {
collapseTable ( i );
break;
}
}
}
}
}
jQuery(document).ready( createCollapseButtons );

/* Zmiana tytułu strony, autor: [[user:Vae]], Public Domain */
/* Użycie: {{nibytytul|Przykladowy tytul}} */
/* {{nibytytul|Przykladowy tytul|sub=Podtytul}} */
function uChangeTitle(){
var staryTytul=null;
staryTytul=returnObjById("firstHeading"); /* monobook */
if(!staryTytul) {
var h1=document.body.getElementsByTagName("h1");
staryTytul = h1[0];
}
var nowyTytul=null;
nowyTytul=returnObjById("uTytulStrony");
if(nowyTytul && staryTytul){
// sprawdzamy, czy zawiera cudzyslowy (np. strona edycji)
// jesli tak, podmieniamy tylko zawartosc cudzyslowow
if(staryTytul.innerHTML.match(/^.*?„.*?”.*?$/))
staryTytul.innerHTML=staryTytul.innerHTML.replace(/^(.*?)„.*?”(.*?)$/,"$1"+"„"+nowyTytul.innerHTML+"”"+"$2");
else if(staryTytul.innerHTML.match(/<span>/i))
staryTytul.innerHTML=staryTytul.innerHTML.replace(/^(.*?)<span>/,returnObjById("uTytulStrony").innerHTML+"<span>");
else
staryTytul.innerHTML=returnObjById("uTytulStrony").innerHTML;
staryTytul.style.backgroundColor=nowyTytul.style.backgroundColor;
staryTytul.style.color=nowyTytul.style.color;
// sprawdzamy, czy podtytul tez jest do zamiany
var ssub = returnObjById("uPodtytulStrony");
var sub = returnObjById("siteSub");
if(ssub && ssub.innerHTML && sub) {
sub.innerHTML=ssub.innerHTML;
}
}
if(returnObjById("uLogoStrony")) {
var a=(skin=="monobook")?returnObjById("p-logo").getElementsByTagName('a')[0]:returnObjById("wiki_logo");
a.style.backgroundImage="url("+returnObjById("uLogoStrony").getElementsByTagName('img')[0].src+")";
}
return;
}
addOnloadHook(uChangeTitle);
/* komentarz w formularzu rejestracji */
YAHOO.util.Event.onContentReady('userlogin2', function(){
$('#wpNameTD')[0].innerHTML+='<p style="font-size:9pt;">Nazwa użytkownika <b>może</b> zawierać spacje oraz polskie znaki.</p>';
$('#wpEmailTD')[0].innerHTML+='<p style="font-size:9pt;">Podanie adresu e-mail nie jest obowiązkowe. Będzie on jednak porzebny, jeśli zapomnisz hasła.</p>';
});

/** Embed flash movies. Wymaga [[Szablon:Flash]] **
* Pozwala wstawić animacje Flash w atykule. Zobacz [[Szablon:Flash]]
* By [[:en:User:Olipro|Olipro]], spolszczenie: [[User:Optdex|Optdex]]
*/
var flashOk;
function embedFlashMovie( flashOk ) {
mainbody = document.getElementById( 'bodyContent' );
mainbody.innerHTML = contentTempHolder;
spancheck = document.getElementsByTagName( 'span' );
for( i = 0; i < spancheck.length; i++ ) {
if( spancheck[i].getAttribute( 'id' ) != 'embedFlashDoc' ) {
continue;
}
obj = spancheck[i].innerHTML.split( '@' );
flwidth = obj[0];
flheight = obj[1];
flfile = obj[2].replace( 'fullurl://', 'http://' );
flopen = 'Uruchom animację Flash';
flclose = 'Zamknij animację Flash';
showFlash = ' ';
if( flashOk ) {
showFlash = '<a style="color:inherit" href="javascript:embedFlashMovie(false)"><button onClick="embedFlashMovie(false)">' + flclose + '</button></a>';
showFlash += '<div align="center" style="clear:both;">';
showFlash += '<object width="' + flwidth + '" height="' + flheight + '"';
showFlash += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';
showFlash += 'codebase="http://fpdownload.macromedia.com/pub/';
showFlash += 'shockwave/cabs/flash/swflash.cab#version=8,0,0,0">';
showFlash += '<param name="movie" value="' + flfile + '" />';
showFlash += '<embed src="' + flfile + '" width="' + flwidth + '" height=';
showFlash += '"' + flheight + '" type="application/x-shockwave-flash" ';
showFlash += 'pluginspage="http://www.macromedia.com/go/getflashplayer" />';
showFlash += '</object></div>';
} else {
showFlash = '<a style="color:inherit" href="javascript:embedFlashMovie(true)"><button onClick="embedFlashMovie(true)">' + flopen + '</button></a>';
}
spancheck[i].innerHTML = showFlash;
spancheck[i].style.display = 'inline';
}
}

var contentTempHolder;
function embedFlashCheck(){
$("#embedFlashDoc")[0]&&(mainbody=$("#bodyContent")[0],contentTempHolder=mainbody.innerHTML,"undefined"!=typeof displayFlashOverride?embedFlashMovie(displayFlashOverride):(askmessage="<b>Coś widocznie się popsuło. Element Flash nie może być w tej chwili wyświetlony.</b>",mainbody.innerHTML=askmessage))
}
addOnloadHook( embedFlashCheck );

/* Skrypt dla Szablon:Galeria */
function toggleImage (group, remindex, shwindex) {
jQuery("#ImageGroupsGr" + group + "Im" + remindex).hide();
jQuery("#ImageGroupsGr" + group + "Im" + shwindex).show();
}
function ImageGroup() {
jQuery('div.ImageGroup').each(function(i, group) {
var unitnode = jQuery('div.ImageGroupUnits', group).get(0);
if (unitnode == undefined) {
return 1;
}
var units = jQuery(unitnode).children('.center');
var count = units.get().length;
if (count <= 1) {
return 1;
}
units.each(function(j, currentimage) {
jQuery(currentimage).attr('id', "ImageGroupsGr" + i + "Im" + j);
var leftlink = jQuery('<a href="#"/>');
if (j != 0) {
leftlink.text('◀').click(function() {
toggleImage(i, j, j - 1); return false;
});
}
var rightlink = jQuery('<a href="#"/>');
if (j != count - 1) {
rightlink.text('▶').click(function() {
toggleImage(i, j, j + 1); return false;
});
}
jQuery('<div/>').css({ 'font-size' : '110%', 'font-weight' : 'bold' })
.append(leftlink)
.append('<samp>(' + (j + 1) + '/' + count + ')</samp>')
.append(rightlink)
.prependTo(jQuery(currentimage));
if (j != 0) {
jQuery(currentimage).hide().addClass('noprint');
}
});
});
}
jQuery(document).ready(ImageGroup);

/* </nowiki></pre> */

Aktualna wersja na dzień 22:15, 13 mar 2022

/* <pre><nowiki> */

/**
 * W tym pliku już nic nie ma, bo wszystko poprzenosiliśmy do gadżetów.
 * Lista gadżetów dostępna jest tutaj: [[MediaWiki:Gadgets-definition]]. Jeśli o tym nie wiedziałeś, to nie ruszaj – pewnie i tak nie zrozumiesz co jest od czego.
 * Zobacz też [[User:Ostrzyciel/skórburdel]], tam jest rozpiska który plik JS/CSS się kiedy ładuje.
 * a, i jak robisz, to ograniczaj doładowywanie rzeczy typu mw.loader.load, bo to muli
**/

/* </pre></nowiki> */