Wikipedysta:Persino/Gadget-DodatkiSkrypt3.js
Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.
- Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
- Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
- Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
- Opera: Naciśnij klawisze Ctrl+F5.
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.*?
/* Zmienna: DodatkiSkrypt.Info.page, ma następujące składowe:
* namespace nazwa przestrzeni nazw
* namespacenumber numer przestrzeni nazw (równe wgNamespaceNumber)
* fullname pełna nazwa strony
* pagename nazwa strony
* bookname nazwa książki
* fullbookname pełna nazwa książki
* book tytuł książki
* articlename nazwa artykułu książki
* subpagename nazwa substrony strony
* action akcja taka jaka jest w adresie URL pod "action="
* diff różnice pomiędzy wersjami, jeżeli występuje w adresie URL, w przeciwnym wypadku przyjmuje wartość null
* oldid numer wersji, jeżeli występuje w adresie URL, w przeciwnym wypadku przyjmuje wartość null
*/
(function(mw,$){
try{
/*Uzyskanie dostępu do tablicy - przestrzeni: DodatkiSkrypt, z innej strony .js*/
var DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks=window['Common'];
/*Przestrzeń nazw: DodatkiSkrypt, zdefiniowanym za pomocą tablicy*/
var DodatkiSkrypt=new Array();
var UruchamiaczSkryptowyApi=new Array();
window["UruchamiaczSkryptowyApi"]=UruchamiaczSkryptowyApi;
UruchamiaczSkryptowyApi.DodatkiSkrypt=function(){return DodatkiSkrypt;};
/*Funkcja, by nie było przecieków pamięci*/
(function(UruchamiaczSkryptowyApi,DodatkiSkrypt,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks){
/*Sprawdza, czy użytkownik ma własną zmienną DodatkiSkrypt*/
DodatkiSkrypt.IsMediaWikiDodatkiSkrypt=function(){return ((DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks)?true:false);};
/*Funkcja zwraca zmienną DodatkiSkrypt ze strony MediaWiki:DodatkiSkrypt.js*/
DodatkiSkrypt.MediaWikiDodatkiSkrypt=function(){return (DodatkiSkrypt.IsMediaWikiDodatkiSkrypt()?DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks:DodatkiSkrypt);}
/*Funkcja zwraca tablicę DodatkiSkrypt użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
DodatkiSkrypt.UserDodatkiSkrypt=function(){return (DodatkiSkrypt.IsMediaWikiDodatkiSkrypt()?DodatkiSkrypt:undefined);}
/*Funkcja zwraca DodatkiSkrypt z tej strony*/
DodatkiSkrypt.NoweDodatkiSkrypt=function(){return DodatkiSkrypt;}
/*Funkcja zwraca DodatkiSkrypt ze strony MediaWiki:DodatkiSkrypt.js, jeżeli użytkownik posiada własne DodatkiSkrypt w jego pliku DodatkiSkrypt, w przeciwnym wypadku zwraca undefined*/
DodatkiSkrypt.StareDodatkiSkrypt=function(){return DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks;}
if(document.querySelector('#mw-content-text .mw-parser-output .mw-wyłącz-ładowanie-skryptu-mediawiki-DodatkiSkrypt-js')){return;}
/*Uzyskanie wskaźnika podtabeli w tabeli DodatkiSkrypt według strony MediaWiki:DodatkiSkrypt.js lub User:<użytkownik>/DodatkiSkrypt.js.
Zmienne:
mediawiki_ewentualnie_user = [true|false] - gdy chcemy uzyskać podtablicę według nowej wartości lub starej,
nazwa = jakaś podtablica tablicy DodatkiSkrypt.
Co robi: funkcja uzykuje podtablicę DodatkiSkrypt, a gdy ona nie istnieje, to ją samą.*/
DodatkiSkrypt.PodTablicaDodatkiSkrypt=function(mediawiki_ewentualnie_user,nazwa){
if(mediawiki_ewentualnie_user){
var DodatkiSkrypt_nowe=DodatkiSkrypt.NoweDodatkiSkrypt();
return (DodatkiSkrypt_nowe?DodatkiSkrypt_nowe[nazwa]:undefined)||DodatkiSkrypt_nowe;
}else{
var DodatkiSkrypt_stare=DodatkiSkrypt.StareDodatkiSkrypt();
return (DodatkiSkrypt_stare?DodatkiSkrypt_stare[nazwa]:undefined)||DodatkiSkrypt_stare;
}
};
/*Inicjacja tabeli załadowanych modułów na podstawie starej tabeli według skryptu MediaWiki:Commom.js w User:<użytkownik>/commom.js, lub gdy skrypt MediaWiki:DodatkiSkrypt.js, to zaicjonowanie pustą tablicą*/
DodatkiSkrypt.TabelaFunkcjiSkryptowych=(function(){
var DodatkiSkrypt_stare=DodatkiSkrypt.StareDodatkiSkrypt();
return (((DodatkiSkrypt_stare)&&(DodatkiSkrypt_stare.TabelaFunkcjiSkryptowych)&&(typeof(DodatkiSkrypt_stare.TabelaFunkcjiSkryptowych)=="table"))?(DodatkiSkrypt_stare.TabelaFunkcjiSkryptowych):undefined)||new Array();
})();
DodatkiSkrypt.TabelaObietnicGadget=(function(){
var DodatkiSkrypt_stare=DodatkiSkrypt.StareDodatkiSkrypt();
return (((DodatkiSkrypt_stare)&&(DodatkiSkrypt_stare.TabelaObietnicGadget)&&(typeof(DodatkiSkrypt_stare.TabelaObietnicGadget)=="table"))?(DodatkiSkrypt_stare.TabelaObietnicGadget):undefined)||new Array();
})();
/**/
/*Liczba wątków do zliczenia*/
var muteks_generowane_liczby=undefined;
DodatkiSkrypt.LicznikGenerowanychKorutyn=function(liczba_watkow,muteks_bez_generatora){
this._length=((liczba_watkow!==undefined)?liczba_watkow:0);
this.lengthPlus=((liczba_watkow!==undefined)?liczba_watkow:0);
this.lengthMinus=0;
var muteks_generowane_liczby=undefined;
this._pobierzMuteks=function(){
if(!muteks_generowane_liczby){muteks_generowane_liczby=new DodatkiSkrypt.Muteks();};
return muteks_generowane_liczby;
}
/**/
this._wygeneruj=function(liczba_watkow){
this._length+=liczba_watkow;
this.lengthPlus+=liczba_watkow;
}
this._zwolnij=function(){
this._length-=1;
this.lengthMinus+=1;
}
this.wygeneruj=function(liczba){
var zmienna_this=this;
return zmienna_this._pobierzMuteks()[muteks_bez_generatora?"_zablokuj":"zablokuj"]().then(function(){
zmienna_this._wygeneruj(liczba);
muteks_generowane_liczby.odblokuj();
return Promise.resolve();
});
}
this.zwolnij=function(liczba){
var zmienna_this=this;
return zmienna_this._pobierzMuteks()[muteks_bez_generatora?"_zablokuj":"zablokuj"]().then(function(){
zmienna_this._zwolnij();
muteks_generowane_liczby.odblokuj();
return Promise.resolve();
});
}
this.length=function(liczba){
var zmienna_this=this;
return zmienna_this._pobierzMuteks()[muteks_bez_generatora?"_zablokuj":"zablokuj"]().then(function(){
var length=zmienna_this._length;
muteks_generowane_liczby.odblokuj();
return Promise.resolve(length);
});
}
}
/**/
var generowane_muteksy=new DodatkiSkrypt.LicznikGenerowanychKorutyn(0,true);
DodatkiSkrypt.Muteks=function(){
var poprzednie_promise=Promise.resolve();
var stop=false;
this._zablokuj = function(czy_generator) {
this.odblokuj=function(){
stop=false;
};
if(czy_generator){var generator=generowane_muteksy.wygeneruj(1);}
var promise=Promise.all([poprzednie_promise,generator]).then(function(){
return new Promise(function(resolve,reject){
function Czekaj(){
if(!stop){
if(czy_generator){var generator=generowane_muteksy.zwolnij();};
Promise.all([generator]).then(function(){
stop=true;
resolve();
});
}else{
setTimeout(Czekaj,0);
}
};
Czekaj();
});
});
poprzednie_promise=promise;
return promise;
};
}
DodatkiSkrypt.Muteks.prototype.zablokuj=function(ktory){
return this._zablokuj(true);
}
/**/
DodatkiSkrypt.muteks=new DodatkiSkrypt.Muteks();
/**/
var generowane_korutyny=new DodatkiSkrypt.LicznikGenerowanychKorutyn();
/**/
var FunDodatek=function(obj,__FUNKCJA_PROMISE,a,b,c,d,e,f,g,h,i,j,k){
//return $(document).DodatkiSkryptSetTimeOut(function(){return Promise.resolve();},args[1]).then(function(){
var promise=generowane_korutyny.wygeneruj(1);
var wynik=obj[__FUNKCJA_PROMISE](a,b,c,d,e,f,g,h,i,j,k);
return Promise.allSettled([promise,wynik]).then(function(){
var generator=generowane_korutyny.zwolnij();
return Promise.all([generator]).then(function(){return wynik;});
});
}
var tab_promise_fun=["then","catch","finally"];
for(var p in tab_promise_fun){
var __FUNKCJA_PROMISE=tab_promise_fun[p];
(function(__FUNKCJA_PROMISE){
var __DODATKI_FUNKCJA_PROMISE=__FUNKCJA_PROMISE.charAt(0).toUpperCase() + __FUNKCJA_PROMISE.slice(1);
Promise.prototype["DodatkiSkrypt"+__DODATKI_FUNKCJA_PROMISE]=Promise.prototype["DodatkiSkrypt"+__DODATKI_FUNKCJA_PROMISE]=function(a,b,c,d,e,f,g,h,i,j,k){
return FunDodatek(this,__FUNKCJA_PROMISE,a,b,c,d,e,f,g,h,i,j,k);
}
})(__FUNKCJA_PROMISE);
}
var FunPromiseAll=function(tabela_promise,jaka){
var promise_gen=generowane_korutyny.wygeneruj(1);
return Promise.all(promise_gen).then(function(){
return Promise[jaka](tabela_promise).then(function(data){
var promise_zw=generowane_korutyny.zwolnij();
return Promise.all([promise_zw]).then(function(){
return Promise.resolve(data);
});
}).catch(function(data){
var promise_zw=generowane_korutyny.zwolnij();
return Promise.all([promise_zw]).then(function(){
return Promise.reject(data);
});
});
});
}
var tab_promise_all=["all","allSettled"];
for(var p in tab_promise_all){
var __FUNKCJA_PROMISE_ALL=tab_promise_all[p];
(function(__FUNKCJA_PROMISE_ALL){
var __FUNKCJA_PROMISE_ALLFUN=__FUNKCJA_PROMISE_ALL.charAt(0).toUpperCase() + __FUNKCJA_PROMISE_ALL.slice(1);
Promise["DodatkiSkrypt"+__FUNKCJA_PROMISE_ALLFUN]=function(tabela_promise){
return FunPromiseAll(tabela_promise,__FUNKCJA_PROMISE_ALL);
}
})(__FUNKCJA_PROMISE_ALL);
}
var func=function(obj){
var tab_func=["then","catch","done"];
for(var p in tab_func){
var __FUNC=tab_func[p];
(function(__FUNC){
var __DODATKI_FUNC=__FUNC.charAt(0).toUpperCase() + __FUNC.slice(1);
obj["DodatkiSkrypt"+__DODATKI_FUNC]=function(a,b,c,d,e,f,g,h,i,j,k){
return FunDodatek(obj,__FUNC,a,b,c,d,e,f,g,h,i,j,k);
}
})(__FUNC);
}
return obj;
}
jQuery.fn._promise=jQuery.fn.promise;
jQuery.fn.__promise=function(type,target){
var tab_promise=jQuery.fn._promise(type,target);
var obj=new Object();
for(var p in tab_promise){
(function(tab_promise,p){
obj[p]=function(a,b,c,d,e,f,g,h,i,j,k){
var obj2=tab_promise[p](a,b,c,d,e,f,g,h,i,j,k);
return func(obj2);
};
})(tab_promise,p);
}
return func(obj);
}
jQuery.fn.promise=jQuery.fn.__promise;jQuery.fn.__promise=undefined;
/**/
jQuery._Deferred=jQuery.Deferred;
jQuery.__Deferred=function(beforeStart){
var tab_promise=jQuery._Deferred(beforeStart);
var obj=new Object();
for(var p in tab_promise){
(function(tab_promise,p){
obj[p]=function(a,b,c,d,e,f,g,h,i,j,k){
var obj2=tab_promise[p](a,b,c,d,e,f,g,h,i,j,k);
return func(obj2);
};
})(tab_promise,p);
}
return func(obj);
}
jQuery.Deferred=jQuery.__Deferred;jQuery.__Deferred=undefined;
/**/
/**/
var muteks_user_option=new DodatkiSkrypt.Muteks();
/**/
var MediaWikiGadgetPrefix='User:Persino/';
//importScript(MediaWikiGadgetPrefix+"SHA1.js");
/**/
DodatkiSkrypt.UruchomPobraneSkrypty=function(strona,projekt,jezyk){
var params = {
origin:"*",
action: "query",
prop: "revisions",
titles: strona,
rvprop: "content",
rvslots: "main",
formatversion: "2",
format: "json"
};
var url=window.location.protocol+"//"+((jezyk||mw.config.get('wgContentLanguage')).toLowerCase())+"."+((projekt||mw.config.get('wgSiteName')).toLowerCase())+".org/w/api.php";
var promise_sha1=$.ajax({
url:url,
data:params,
dataType:'json',
});
return promise_sha1.DodatkiSkryptThen(function(response){
var pages = response.query.pages;
var tekst="";
for (var p in pages) {
var revisions=pages[p].revisions;
var title=pages[p].title;
var js=/\.[Jj][Ss]$/g.test(title);
var css=/\.[Cc][Ss][Ss]$/g.test(title);
if(js || css){
for(var s in revisions){
var tekst_strona=revisions[s].slots.main.content
tekst=tekst+((tekst!="")?";":"")+((js)?(tekst_strona):("mw.util.addCSS(\""+(tekst_strona.replace(/\n/g," ").replace(/"/g,"\\\""))+"\")"));
}
}
}
var wynik=new Function(tekst);
return Promise.resolve(wynik());
}).DodatkiSkryptCatch(function(response){return Promise.reject(response)});
};
var promise_sha1=(((window.CryptoJS)&&(window.CryptoJS.SHA1))?(Promise.resolve()):(DodatkiSkrypt.UruchomPobraneSkrypty(MediaWikiGadgetPrefix+"SHA1.js")));
var CryptoJSSHA1=function(klucz){
return promise_sha1.DodatkiSkryptThen(function(data){
var klucz_sha1=CryptoJS.SHA1(klucz).toString();
return Promise.resolve(klucz_sha1);
}).DodatkiSkryptCatch(function(data){return Promise.reject(data)});
}
DodatkiSkrypt.DodatkiSkryptUserOption=new Array();
DodatkiSkrypt.DodatkiSkryptUserOption.get=function(klucz,prefix,czy_nie_escape){
return $(document).DodatkiSkryptReady(function(){
return CryptoJSSHA1(((prefix)?(prefix+"-"):"")+klucz).DodatkiSkryptThen(function(data){
var klucz="userjs-dodatkiskrypt-"+data;
if(mw.user.options.exists(klucz)){
var wynik=mw.user.options.get(klucz);
wynik=(wynik!==null)?((!czy_nie_escape)?unescape(wynik):wynik):null;
return Promise.resolve(wynik);
}else{
return Promise.resolve(null);
}
}).DodatkiSkryptCatch(function(data){return Promise.reject(data)});
},null,muteks_user_option);
}
DodatkiSkrypt.DodatkiSkryptUserOption.set=function(klucz,wartosc,prefix,czy_nie_escape,tab_save_option){
return $(document).DodatkiSkryptReady(function(){
return CryptoJSSHA1(((prefix)?(prefix+"-"):"")+klucz).DodatkiSkryptThen(function(data){
var klucz_cookie="dodatkiskrypt-"+data;
var klucz="userjs-"+klucz_cookie;
mw.cookie.set(klucz_cookie,null,{secure:true,path:"/",});
wartosc=(wartosc!==null)?((!czy_nie_escape)?escape(wartosc):wartosc):null;
var promise_set=mw.user.options.set(klucz,wartosc);
if(!tab_save_option){
var api=new mw.Api();
return api.saveOption(klucz,wartosc).then(function(data){
return Promise.resolve(promise_set);
});
}else{
tab_save_option[klucz]=wartosc;
return Promise.resolve(promise_set);
}
}).DodatkiSkryptCatch(function(data){return Promise.reject(data)});
},null,muteks_user_option);
}
var muteks_user_option_all=new DodatkiSkrypt.Muteks()
DodatkiSkrypt.DodatkiSkryptUserOption.getAll=function(klucz,prefix){
return $(document).DodatkiSkryptReady(function(){
var ile_cookie=DodatkiSkrypt.DodatkiSkryptUserOption.get(klucz+"-ile",prefix);
return ile_cookie.then(function(ile_cookie){
var ile=((ile_cookie)?(parseInt(ile_cookie)||0):0);
if(ile==0){
return DodatkiSkrypt.DodatkiSkryptUserOption.get(klucz,prefix,true).then(function(cookie){
return (cookie!==null)?unescape(cookie):null;
});
}else{
var cookie="";
var tab_promise_cookie=new Array();
for(i=0;i<ile;++i){
tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.get(klucz+"-numer-"+i,prefix,true));
}
if(tab_promise_cookie.length==0){return null;};
return Promise.all(tab_promise_cookie).then(function(data){
var cookie="";
for(var i=0;i<data.length;++i){
cookie_numer=data[i];
if(cookie_numer==null){return Promise.resolve(null);};
cookie+=((cookie_numer)?cookie_numer:"");
}
return unescape(cookie);
});
}
});
},null,muteks_user_option_all);
}
DodatkiSkrypt.DodatkiSkryptUserOption.setAllNull=function(klucz,prefix){
return $(document).DodatkiSkryptReady(function(){
var ile_cookie=DodatkiSkrypt.DodatkiSkryptUserOption.get(klucz+"-ile",prefix);
return ile_cookie.then(function(ile_cookie){
var tab_save_option=new Array();
var tab_promise_cookie=new Array();
tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz+"-ile",null,prefix,true,tab_save_option));
var ile=((ile_cookie)?(parseInt(ile_cookie)||0):0);
if(ile==0){
tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz,null,prefix,true,tab_save_option));
}else{
for(i=0;i<ile;++i){
tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz+"-numer-"+i,null,prefix,true,tab_save_option));
}
}
return Promise.all(tab_promise_cookie).DodatkiSkryptThen(function(){
var api=new mw.Api();
return api.saveOptions(tab_save_option).DodatkiSkryptThen(function(data){
return Promise.resolve();
});
});
});
},null,muteks_user_option_all);
}
var tab_save_all_option=undefined;
var tak_tab_save_all_option=true;
var muteks_user_options_muteks=new DodatkiSkrypt.Muteks();
var ZapiszUstawienia=function(tab_save_option){
$(document).DodatkiSkryptReady(function(){
if(!tab_save_all_option){tab_save_all_option=new Array();};
for(var p in tab_save_option){
tab_save_all_option[p]=tab_save_option[p];
}
},null,muteks_user_options_muteks);
/**/
if(tak_tab_save_all_option){
tak_tab_save_all_option=false;
$(document).DodatkiSkryptSetInterval(function(){
return $(document).DodatkiSkryptReady(function(){
try{
var czy_jest_jakis_element=false;
for(var p in tab_save_all_option){
czy_jest_jakis_element=true;
break;
}
if(!czy_jest_jakis_element){return;}
var api=new mw.Api();
return api.saveOptions(tab_save_all_option).then(function(data){
tab_save_all_option=new Array();
console.log(data);
return Promise.resolve("Załadowano ustawienia!");
});
}catch(error){
return Promise.reject(null);
}
},null,muteks_user_options_muteks);
},30000,false);
}
}
DodatkiSkrypt.DodatkiSkryptUserOption.setAll=function(klucz,wartosc,opcje){
return $(document).DodatkiSkryptReady(function(){
/**/
var nowe_cookie=escape(wartosc);
var ile_max=65530;
if(nowe_cookie.length<=ile_max){return DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz,nowe_cookie,opcje,true);}
/**/
var re=new RegExp("^(.{1,"+ile_max+"})","g");
var tab_promise_cookie=new Array();
var tab_save_option=new Array();
for(var ile=0;;++ile){
var cookie=nowe_cookie.match(re);
cookie=((cookie)?(cookie.toString()):"");
if((ile==0)&&(cookie=="")){
tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz,"",opcje,true,tab_save_option));
break;
}
nowe_cookie=nowe_cookie.replace(re,"");
tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz+"-numer-"+ile,cookie,opcje,true,tab_save_option));
if(nowe_cookie==""){
tab_promise_cookie.push(DodatkiSkrypt.DodatkiSkryptUserOption.set(klucz+"-ile",ile+1,opcje,true,tab_save_option));
break;
}
}
return Promise.all(tab_promise_cookie).DodatkiSkryptThen(function(){
ZapiszUstawienia(tab_save_option);
});
},null,muteks_user_option_all);
}
var wersja="wersja-0.5";
var czas_integer=(new Date()).getTime();
DodatkiSkrypt.CzyPrzekroczonoAktualnyCzasBazy=function(){
var promise_time=DodatkiSkrypt.DodatkiSkryptUserOption.get("Czas","PobierzStrona");
return promise_time.DodatkiSkryptThen(function(data){
if(data===null){
return DodatkiSkrypt.DodatkiSkryptUserOption.set("Czas",Object(czas_integer).toString(),"PobierzStrona").DodatkiSkryptThen(function(){
return false;
});
}else{
if(parseInt(data)+(7*24*60*60*1000)<=czas_integer){
return DodatkiSkrypt.DodatkiSkryptUserOption.set("Czas",Object(czas_integer).toString(),"PobierzStrona").DodatkiSkryptThen(function(){
return true;
});
}
return Promise.resolve(false);
}
});
};
var promise_time_dane=undefined;
DodatkiSkrypt.DodatkiSkryptUserOption.PobierzDaneStron=function(url,params,__FUNKCJA){
var klucz="";
Object.keys(params).forEach(function(key){klucz += ((klucz!="")?"&":"") + key + "=" + params[key];});
klucz=wersja+"-Serwer:"+url+"?"+klucz;
if(!promise_time_dane){
promise_time_dane=DodatkiSkrypt.CzyPrzekroczonoAktualnyCzasBazy();
}
return promise_time_dane.DodatkiSkryptThen(function(czy_czas){
var promise_dane=Promise.resolve();
if(czy_czas){
promise_dane=DodatkiSkrypt.DodatkiSkryptUserOption.setAllNull(klucz,"PobierzStrona");
}
return promise_dane.DodatkiSkryptThen(function(){
var mw_menu_boksy=DodatkiSkrypt.DodatkiSkryptUserOption.getAll(klucz,"PobierzStrona");
return mw_menu_boksy.DodatkiSkryptThen(function(data){
if(data===null){
var wynik_fun=(__FUNKCJA)?(__FUNKCJA):(function(url,params){
try{
return $.post({
url:url,
data:params,
dataType:'json',
});
}catch(error){
return Promise.reject(null);
}
});
var wynik=wynik_fun(url,params);
if(wynik!==null){
setTimeout(function(){
Promise.all([wynik]).DodatkiSkryptThen(function(wynik_data){
const jsonText = JSON.stringify(wynik_data[0]);
DodatkiSkrypt.DodatkiSkryptUserOption.setAll(klucz,jsonText,"PobierzStrona");
}).DodatkiSkryptCatch(function(wynik_data){});
},30000);
console.log("Zapisuję ściągnęty plik JSON strony: "+(params.titles||params.title||"")+".");
}
return wynik;
}else{
var wynik=JSON.parse(data);
console.log("Odczytuję zapisywany plik JSON strony: "+(params.titles||params.title||"")+".")
return wynik;
}
});
});
});
}
var muteks_ready=new DodatkiSkrypt.Muteks();
jQuery.fn.DodatkiSkryptReady=function(__FUNKCJA,generowane_korutyny_2,muteks_ready_2){
var __generowane_korutyny=(generowane_korutyny_2)?generowane_korutyny_2:generowane_korutyny;
var __muteks_ready=(muteks_ready_2)?muteks_ready_2:muteks_ready;
var promise1=__muteks_ready.zablokuj();
var promise2=__generowane_korutyny.wygeneruj(1);
return Promise.allSettled([promise1,promise2]).then(function(data){
var promise;
try{
promise=__FUNKCJA();
}catch(error){
console.log(error);
var generator=__generowane_korutyny.zwolnij();
__muteks_ready.odblokuj();
return Promise.resolve();
}
return Promise.allSettled([promise]).then(function(data){
var generator=__generowane_korutyny.zwolnij();
__muteks_ready.odblokuj();
return Promise.all([generator]).then(function(){return promise;});
});
});
}
var muteks_gadget=new DodatkiSkrypt.Muteks();
jQuery.fn.DodatkiSkryptGadgetsReady=function(__FUNKCJA){
return jQuery.fn.DodatkiSkryptReady(__FUNKCJA,null,muteks_gadget);
}
var muteks_gadget_gconfig=new DodatkiSkrypt.Muteks();
jQuery.fn.DodatkiSkryptGadgetsgConfigReady=function(__FUNKCJA){
return jQuery.fn.DodatkiSkryptReady(__FUNKCJA,null,muteks_gadget_gconfig);
}
jQuery.fn.DodatkiSkryptPromise=function(__FUNCTION){
return generowane_korutyny.wygeneruj(1).then(function(){
return new Promise(function(resolve,reject){
__FUNCTION(resolve,reject);
}).then(function(data){
generowane_korutyny.zwolnij();
return Promise.resolve(data);
}).catch(function(data){
generowane_korutyny.zwolnij();
return Promise.reject(data);
});
});
}
jQuery.fn.DodatkiSkryptSettledPromise=function(__FUNCTION){
return $(document).DodatkiSkryptPromise(function(resolve,reject){
var wynik=__FUNCTION();
Promise.allSettled([wynik]).then(function(data){
resolve(data);
});
})
}
jQuery.fn.DodatkiSkryptSetTimeOut=function(__FUNCTION,czas,args1,args2,args3,args4,args5,args6,args7,args8,args9,args10){
return $(document).DodatkiSkryptPromise(function(resolve,reject){
setTimeout(function(){
var wynik=__FUNCTION(args1,args2,args3,args4,args5,args6,args7,args8,args9,args10);
Promise.all([wynik]).then(function(data){
resolve(data[0]);
}).catch(function(data){
reject(data[0]);
});
},(czas||0));
});
}
jQuery.fn.DodatkiSkryptSetInterval=function(funkcja,delay,jak,args1,args2,args3,args4,args5,args6,args7,args8,args9,args10){
var __funkcja=function(){
return $(document).DodatkiSkryptSettledPromise(function(){
return funkcja(args1,args2,args3,args4,args5,args6,args7,args8,args9,args10);
});
}
if(jak){
__funkcja();
}
setInterval(__funkcja,delay);
}
DodatkiSkrypt.CzekanieNaZwolnienieWszystkichKorutynWTabeliObietnic=function(tab_promise){
return $(document).DodatkiSkryptPromise(function(resolve,reject){
function Czekaj(){
if(tab_promise.length==0){
resolve();
}else{
Promise.allSettled([tab_promise[0]]).then(function(){
tab_promise.shift();
setTimeout(Czekaj,0);
});
}
}
Czekaj();
});
}
DodatkiSkrypt.CzekanieFinalizacjiMateriiWszystkichFunkcji=function(czy_korutyny, czy_muteksy,__FUNKCJA_START,__FUNKCJA_KONTINUUM,__FUNKCJA_KONIEC){
return new Promise(function(resolve,reject){
if(__FUNKCJA_START){__FUNKCJA_START();};
function Czekaj(){
var tab=undefined;
if(__FUNKCJA_KONTINUUM){tab=__FUNKCJA_KONTINUUM();};
return generowane_korutyny.length().then(function(generowane_korutyny_length){
return generowane_muteksy.length().then(function(generowane_muteksy_length){
if(tab){
console.log("Liczba procent ukończonych wątków: "+((parseInt(tab[0]*1000))/1000)+"%. Liczba procent zwolnionych muteksów: "+((parseInt(tab[1]*1000))/1000)+"%. Liczba nieukończonych wątków: "+generowane_korutyny_length+". Liczba niezwolnionych muteksów: "+generowane_muteksy_length+".")
}
if((((!czy_korutyny)||(generowane_korutyny_length==0))&&((!czy_muteksy)||(generowane_muteksy_length==0)))&&(tab)&&(tab[0]==100)&&(tab[1]==100)){
if(__FUNKCJA_KONIEC){__FUNKCJA_KONIEC();}
resolve();
return;
}else{
setTimeout(function(){Czekaj();},300);
}
});
});
}
Czekaj();
});
};
DodatkiSkrypt.CzekanieFinalizacjiWszystkichKorutyn=function(generowane_korutyny_parametr,muteks){
return new Promise(function(resolve,reject){
function Czekaj(){
return Promise.all([generowane_korutyny_parametr.length()]).then(function(data){
var generowane_korutyny_parametr_length=data[0];
if(generowane_korutyny_parametr_length==0){
resolve();
}else{
setTimeout(Czekaj,300);
}
});
}
Czekaj();
});
}
DodatkiSkrypt.Progress=function(){
var c=document.createElement('div');
c.setAttribute("id","pasek_postępu")
c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:fixed;width:374px;height:14px;border:1px solid #eaecf0;box-sizing:border-box;padding:0 5px;background-color:white;display:flex;flex-direction:row;box-sizing:border-box;');
var label=document.createElement('div');
label.innerHTML="<span style=\"color:blue;\">Wątki: </span>";
label.setAttribute('style','position:relative;font-size:11px;line-height:1.0em;padding-right:5px;padding-left:0px;height:100%;box-sizing:border-box;white-space:nowrap;width:79px;flex:1 0 79px;');
var span=document.createElement('span');
span.innerHTML="0%";
var span_0=label.appendChild(span);
c.appendChild(label);
var progress=document.createElement('progress');
progress.innerHTML="0%";
progress.style.display="block";
progress.setAttribute('id','file1')
progress.setAttribute('style','width:93px;height:100%;box-sizing:border-box;flex:1 0 93px;');
progress.setAttribute("max","100");
progress.setAttribute('value',"0");
var element_body_progress_1=c.appendChild(progress);
var label=document.createElement('div');
label.innerHTML="<span style=\"color:blue;\">Blokady: </span>";
label.setAttribute('style','position:relative;font-size:11px;line-height:1.0em;padding-right:5px;padding-left:5px;height:100%;box-sizing:border-box;white-space:nowrap;width:96px;flex:1 0 96px;');
var span=document.createElement('span');
span.innerHTML="0%";
var span_1=label.appendChild(span);
c.appendChild(label);
var progress=document.createElement('progress');
progress.innerHTML="0%";
progress.setAttribute('id','file2')
progress.setAttribute('style','width:93px;height:100%;box-sizing:border-box;flex:1 0 93px;')
progress.setAttribute("max","100");
progress.setAttribute('value',"0");
var element_body_progress_2=c.appendChild(progress);
function PozycjaXY(){
c.style.top=(/*window.scrollY+*/document.documentElement.clientHeight-parseFloat(c.style.height))+"px";
c.style.left=(/*window.scrollX+*/document.documentElement.clientWidth-parseFloat(c.style.width))+"px";
}
c.style.zIndex="2000";
document.querySelector('body').appendChild(c);
PozycjaXY();
$(window).on('scroll',PozycjaXY);
$(window).on('resize',PozycjaXY);
return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1);
}
DodatkiSkrypt.DaneProgress=function(arr){
arr[0].setAttribute("value","0");
arr[1].setAttribute("value","0");
var dodatnie_0=generowane_korutyny.lengthPlus;
var ujemne_0=generowane_korutyny.lengthMinus;
var dodatnie_1=generowane_muteksy.lengthPlus;
var ujemne_1=generowane_muteksy.lengthMinus;
var postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0);
var postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0);
arr[0].setAttribute("value",postep_0);
arr[1].setAttribute("value",postep_1);
arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%";
arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%";
return [postep_0,postep_1];
}
var arr;
DodatkiSkrypt.CzekanieFinalizacjiMateriiWszystkichFunkcji(true,true,function(){
arr=DodatkiSkrypt.Progress();
DodatkiSkrypt.DaneProgress(arr);
},function(){
return DodatkiSkrypt.DaneProgress(arr);
},function(){
DodatkiSkrypt.DaneProgress(arr);
setTimeout(function(){
var node_postep=document.getElementById('pasek_postępu');
$(node_postep).remove();
},2000);
});
/*Funkcja do ładowania pokolei asynchronicznie skryptów JS, CSS i funkcji, a także do ładowania modułów, z własną definicją funkcji require*/
DodatkiSkrypt.ZbioryZmiennych=function(){
var tab_zmienne_gadgetu=new Array();
var muteks=new DodatkiSkrypt.Muteks();
this.DodawanieDoZbioruZmiennychTabliceGadgetu=function(zmienna,wartosc){
//return $(document).DodatkiSkryptReady(function(){
tab_zmienne_gadgetu[zmienna]=wartosc;
//},null,muteks);
}
this.PobierzZmienneGadgetuZeZbioruZmiennych=function(zmienna){
//return $(document).DodatkiSkryptReady(function(){
return tab_zmienne_gadgetu[zmienna];
//},null,muteks);
}
this.PobierzMuteks=function(){
return muteks;
}
};
var ZmienneProjektowe=function(){
var tab_zmienne_gadgetu=new Array();
var muteks=new DodatkiSkrypt.Muteks();
this.DodawanieDoZbioruZmiennychTabliceGadgetu=function(zmienna,wartosc){
//return $(document).DodatkiSkryptReady(function(){
tab_zmienne_gadgetu[zmienna]=wartosc;
//},null,muteks);
}
this.PobierzZmienneGadgetuZeZbioruZmiennych=function(){
//return $(document).DodatkiSkryptReady(function(){
return tab_zmienne_gadgetu;
//},null,muteks);
}
this.PobierzMuteks=function(){
return muteks;
}
};
DodatkiSkrypt.ZmienneSkryptowe=new DodatkiSkrypt.ZbioryZmiennych();
var tab_zmienne_projektowe=new ZmienneProjektowe();
/**/
var zmienne_globalne=new Array();
DodatkiSkrypt.ZbieraczSkryptowy=function(args,nazwa_gadgetu){
if(nazwa_gadgetu){
tab_zmienne_projektowe.DodawanieDoZbioruZmiennychTabliceGadgetu(nazwa_gadgetu,args);
}
var tablica_projekt=new Array();
var tablica_modulow=new Array();
var fun_promise=new Array();
var tab_promise=new Array();
var wszystkie_zaladowano_wczesniej=true;
var wszystkie_informacje_o_skryptach=false;
var argumenty="";var argumenty_zmienne="";
if(args){
var licznik=0;
for(var p in args){
argumenty=argumenty+","+p;
argumenty_zmienne=argumenty_zmienne+", data["+licznik+"]";//", DodatkiSkrypt.ZmienneSkryptowe.PobierzZmienneGadgetuZeZbioruZmiennych(\""+p+"\")";
licznik=licznik+1;
}
};
function Obietnice(tabela_promise,i){
if((tabela_promise.length>0)&&(tabela_promise.length>i)){
tab_promise.push(tabela_promise[i]());
Obietnice(tabela_promise,i+1);
return true;
}else{
return false;
}
}
this.CzyUruchomionePrzedWszystkieSkrypty=function(){
return (wszystkie_informacje_o_skryptach && wszystkie_zaladowano_wczesniej);
}
this.CzyUruchomionoSkrypty=function(){
return wszystkie_informacje_o_skryptach;
}
this.ZerowanieTablicSkryptowych=function(){
tablica_projekt=new Array();
fun_promise=new Array();
tab_promise=new Array();
}
this.UruchomZebraneSkrypty=function(){
var __this=this;
return $(document).DodatkiSkryptGadgetsReady(function(){
return Promise.resolve();
}).DodatkiSkryptThen(function(){
var tab_promise_zmienne=new Array();
var promise_all=jQuery(document).DodatkiSkryptPromise(function(resolve,reject){
/**/
var czy_elementy_obietnic=Obietnice(fun_promise,0);
if(!czy_elementy_obietnic){
if(__this.CzyUruchomionePrzedWszystkieSkrypty()){
resolve();
//return;
}else{
console.log("Liczba skryptów w gadżecie: "+(nazwa_gadgetu||"(główna)")+" jest pusta.")
reject();
}
}else{
/**/
Promise.all(tab_promise).DodatkiSkryptThen(function(skrypt){
if((skrypt)&&(typeof(skrypt)=="object")&&(skrypt.length>0)){
var tekst="";var zmienne=new Array();
var licznik_jednego_modulu=0;
var tab_file=new Array();
for(var i=0;i<skrypt.length;++i){
if(skrypt[i]){
if((typeof(skrypt[i])=="object")&&(typeof(skrypt[i][0])=="boolean")&&(skrypt[i][0]==true)){
var czy_js=skrypt[i][1];
var nazwa=skrypt[i][2];
var kod=skrypt[i][3];
if((kod && nazwa)&&(typeof(czy_js)=="boolean")&&((typeof kod)=="string")&&((typeof nazwa)=="string")){
if(czy_js){
tekst+="tab_promise.push((function(DodatkiSkrypt,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks,zmienne,zmienne_globalne"+argumenty+"){"+kod+";})(DodatkiSkrypt,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks,zmienne,zmienne_globalne"+argumenty_zmienne+"));"
}else{
tekst+="tab_promise.push((function(DodatkiSkrypt,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks,zmienne,zmienne_globalne"+argumenty+"){mw.util.addCSS(\""+kod.replace(/\n/g," ").replace(/"/g,"\\\"")+"\");})(DodatkiSkrypt,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks,zmienne,zmienne_globalne"+argumenty_zmienne+"));"
}
}
}else if(typeof(skrypt[i])=="function"){
var tekst_function=Object(skrypt[i]).toString();
tekst+="tab_promise.push((function(DodatkiSkrypt,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks,zmienne,zmienne_globalne"+argumenty+"){("+tekst_function+")();})(DodatkiSkrypt,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks,zmienne,zmienne_globalne"+argumenty_zmienne+"));";
}
}
}
if(!/^\s*$/g.test(tekst)){
/**/
tablica_modulow.push('mediawiki.util');
tekst="return $(document).DodatkiSkryptGadgetsReady(function(){var tab_promise=new Array();"+tekst+";return Promise.all(tab_promise);});";
console.log("Zakończono łączenie skryptów w gadżecie: "+(nazwa_gadgetu||"(główna)")+". Uruchamiam załadowane skrypty...");
if(args){
for(var p in args){
(function(p){
var promise=$(document).DodatkiSkryptPromise(function(resolve,reject){
function Czekaj(){
if(DodatkiSkrypt.obietnica!==undefined){
DodatkiSkrypt.obietnica.DodatkiSkryptThen(function(){
var data=DodatkiSkrypt.ZmienneSkryptowe.PobierzZmienneGadgetuZeZbioruZmiennych(p);
//$(document).DodatkiSkryptReady(function(){
//var promise_data=DodatkiSkrypt.ZmienneSkryptowe.PobierzZmienneGadgetuZeZbioruZmiennych(p);
//promise_data.DodatkiSkryptThen(function(data){
if(data){
var tab_zmienne_projektowe_value=tab_zmienne_projektowe.PobierzZmienneGadgetuZeZbioruZmiennych();
//$(document).DodatkiSkryptReady(function(){
//var tab_zmienne_projektowe_value=tab_zmienne_projektowe.PobierzZmienneGadgetuZeZbioruZmiennych();
//promise_tab_zmienne_projektowe_value.DodatkiSkryptThen(function (tab_zmienne_projektowe_value){
var zapetlenie=false;
var tab_zapetlenie=new Array();
for(var m in tab_zmienne_projektowe_value){
if(m!=nazwa_gadgetu){
var s1=tab_zmienne_projektowe_value[m]&&tab_zmienne_projektowe_value[m][nazwa_gadgetu];
var s2=tab_zmienne_projektowe_value[nazwa_gadgetu]&&tab_zmienne_projektowe_value[nazwa_gadgetu][m];
if((s1)&&(s2)){
zapetlenie=true;
tab_zapetlenie[m]=true;
}
}
}
if((!nazwa_gadgetu)||(tab_zapetlenie[p])||(p==nazwa_gadgetu)||(data.zaktywowana==true)){
resolve(data);
}else if(data.zaktywowana==false){
console.log("Nie można uruchomić gadżetu: "+(nazwa_gadgetu||"(główna)")+" z powodu błędów w aktywowaniu modułów zależności.");
reject();
}else{
setTimeout(Czekaj,0);
}
//});
//},null,tab_zmienne_projektowe.PobierzMuteks());
}else{
setTimeout(Czekaj,0);
}
//});
//},null,DodatkiSkrypt.ZmienneSkryptowe.PobierzMuteks());
}).DodatkiSkryptCatch(function(){resolve();});
}else{
setTimeout(Czekaj,0);
}
}
Czekaj();
});
tab_promise_zmienne.push(promise);
})(p);
}
}
return Promise.all(tab_promise_zmienne).DodatkiSkryptThen(function(data){
var funkcja=new Function("DodatkiSkrypt","zmienne","zmienne_globalne","data","tablica_modulow","DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks",tekst);
try{
var wynik=funkcja(DodatkiSkrypt,zmienne,zmienne_globalne,data,tablica_modulow,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks);
wynik.DodatkiSkryptThen(function(){
console.log("Zakończono ładowanie skryptów gadgetu: "+(nazwa_gadgetu||"(główna)")+". Trwa uruchamianie...");
if(nazwa_gadgetu){
var data=DodatkiSkrypt.ZmienneSkryptowe.PobierzZmienneGadgetuZeZbioruZmiennych(nazwa_gadgetu);
//$(document).DodatkiSkryptReady(function(){
//var promise_data=DodatkiSkrypt.ZmienneSkryptowe.PobierzZmienneGadgetuZeZbioruZmiennych(nazwa_gadgetu);
//return promise_data.DodatkiSkryptThen(function(data){
var promise=$(document).DodatkiSkryptPromise(function(resolve,reject){
function Czekaj(){
if(data.gadget_obietnica!==undefined){
data.gadget_obietnica.DodatkiSkryptThen(function(){
data.zaktywowana=true;
resolve();
}).DodatkiSkryptCatch(function(){
data.zaktywowana=false;
console.log("Uzykano błąd w zaktywowaniu skryptu: "+(nazwa_gadgetu||"(główna)")+".");
reject();
})
}else{
setTimeout(Czekaj,0);
}
};
Czekaj();
});
//});
//},null,DodatkiSkrypt.ZmienneSkryptowe.PobierzMuteks());
}
resolve();
})
}catch(error){
console.log("Nastąpił wyjątek w gadżecie: "+(nazwa_gadgetu||"(główna)")+", a oto jego informacja: "+error+".");
reject();
};
}).DodatkiSkryptCatch(function(){
console.log("Nastąpił wyjątek w gadżecie: "+(nazwa_gadgetu||"(główna)")+" przy określaniu zależności.");
reject();
});
}else{
if(__this.CzyUruchomionePrzedWszystkieSkrypty()){
resolve();
}else{
console.log("Uzyskano ostatecznie skrypt pusty w gadżecie: "+(nazwa_gadgetu||"(główna)")+".");
reject();
}
}
}else{
if(__this.CzyUruchomionePrzedWszystkieSkrypty()){
resolve();
}else{
console.log("Brak skryptów do uruchomienia w gadżecie: "+(nazwa_gadgetu||"(główna)")+".");
reject();
}
}
}).DodatkiSkryptCatch(function(){
console.log("Uzyskano wyjątek w gadżecie: "+(nazwa_gadgetu||"(główna)")+".");
reject();
});
}
});
return promise_all.DodatkiSkryptThen(function(){
return Promise.all(tab_promise_zmienne).then(function(tab_parametry){
var tab=new Array();
tab.DodatkiSkrypt=DodatkiSkrypt;
//tab.Parametry=tab_parametry;
/**/
tab.GadgetName=nazwa_gadgetu;
tab.GadgetSpace=new Array();
if(args){
var licznik=0;
for(var p in args){
if((nazwa_gadgetu)&&(nazwa_gadgetu==p)){
tab.Parametry=tab_parametry[licznik];
}
tab.GadgetSpace[p]=new Array();
tab.GadgetSpace[p].GadgetName=p;
tab.GadgetSpace[p].Parametry=tab_parametry[licznik];
licznik=licznik+1;
}
}
return Promise.resolve(tab);
});
}).DodatkiSkryptCatch(function(){
console.log("Nastąpił błąd w ładowaniu skryptów w gadżecie: "+(nazwa_gadgetu||"(główna)")+".");
return Promise.reject();
});
});
}
var tab_projektow_jezykowych={"wikipedia":true,"wikibooks":true,"wiktionary":true,"wikiquote":true,"wikisource":true,"wikivoyage":true,"wikinews":true,"wikiversity":true,};
this.PobierzSkrypt=function(){
var args=arguments;
wszystkie_informacje_o_skryptach=true;
return $(document).DodatkiSkryptGadgetsReady(function(){
function PobierzSkrypt(skrypt,projekt,jezyk){
var promise=function(){
if(typeof(skrypt)=="function"){
console.log("Ładuję anonimową funkcję: "+Object(skrypt).toString()+".");
var fun_promise_js=function(){
return Promise.resolve(skrypt);
}
fun_promise.push(fun_promise_js);
return Promise.resolve()
}
if(jezyk==null){jezyk=mw.config.get('wgContentLanguage');};
if(projekt==null){projekt=mw.config.get('wgSiteName');};
var nazwa_projektu=projekt.replace(/^(.)/g,function(s){return s.toUpperCase();});
jezyk=jezyk.toLowerCase();
projekt=projekt.toLowerCase();
var skrypty=skrypt.split("|");
var modules=new Array();
function ApiRevision(element_skrypt,jezyk,projekt,czy_js,strona){
return jQuery(document).DodatkiSkryptPromise(function(resolve,reject){
var url = window.location.protocol+"//"+((!/^\s*$/g.test(jezyk))?(tab_projektow_jezykowych[projekt]?(jezyk+"."):""):"")+projekt+".org/w/api.php";
var params = {
origin:"*",
action: "query",
prop: "revisions",
titles: element_skrypt,
rvprop: "content",
rvslots: "main",
formatversion: "2",
format: "json"
};
//url = url + "?origin=*";
//Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
DodatkiSkrypt.DodatkiSkryptUserOption.PobierzDaneStron(url,params)/*$.ajax({
url:url,
data:params,
dataType:'json',
})*/.DodatkiSkryptThen(function(response){
var pages = response.query.pages;
for (var p in pages) {
var revisions=pages[p].revisions;
for(var s in revisions){
resolve([true,czy_js,element_skrypt,revisions[s].slots.main.content,strona]);
return;
}
}
reject();
}).DodatkiSkryptCatch(function(error){reject();});
});
}
for(var p in skrypty){
function PojedyncySkrypt(pojedyncy_skrypt){
var element_skrypt=pojedyncy_skrypt.trim();
if(/^[\s_]*$/g.test(element_skrypt)){return;}
var jaki_js=element_skrypt.match(/\.js[\s_]*$/g);
var jaki_css=element_skrypt.match(/\.css[\s_]*/g);
var skrypt_nowe;
if((jaki_js)||(jaki_css)){
skrypt_nowe=element_skrypt.replace(/^[_\s]+/g,"").replace(/[_\s]+$/g,"").replace(/[\s_]+/g,"_").replace(/^([^:]*\S+)[\s_]*:[\s_]*/g,"$1:").replace(/^([^:]+):(.)/g,function(s){return s.toLowerCase();});
if((!((/^[Mm][Ee][Dd][Ii][Aa][Ww][Ii][Kk][Ii]:/g.test(skrypt_nowe))&&((jaki_js)||(jaki_css))))
&&(!((/^[Uu][Ss][Ee][Rr]:/g.test(skrypt_nowe))&&((jaki_js)||(jaki_css))))
&&(!((/^[Mm][Oo][Dd][Uu][Ll][Ee]:/g.test(skrypt_nowe))&&(jaki_css)))
&&(!((/^[Tt][Ee][Mm][Pp][Ll][Aa][Tt][Ee]:/g.test(skrypt_nowe))&&(jaki_css)))){
console.log("Nie załadowałem skryptu: "+skrypt+", z projektu: "+nazwa_projektu+(tab_projektow_jezykowych[projekt]?(", o wersji językowej: "+jezyk):"")+".");
return;
}
}else{
skrypt_nowe=element_skrypt.replace(/^[_\s]+/g,"").replace(/[_\s]+$/g,"").replace(/[\s_]+/g,"_");
}
if((tablica_projekt[jezyk])&&(tablica_projekt[jezyk][projekt])&&(tablica_projekt[jezyk][projekt][skrypt_nowe])){
console.log("Już wcześniej załadowałem "+((jaki_js)?"skrypt":((jaki_css)?"arkusz stylów":"moduł"))+": "+skrypt+", z projektu: "+nazwa_projektu+(tab_projektow_jezykowych[projekt]?(", o wersji językowej: "+jezyk):"")+", w ramach jednej zmiennej skrypt.")
return;
}
if((DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk])&&(DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk][projekt])&&(DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk][projekt][skrypt_nowe])){
console.log("Już wcześniej załadowałem "+((jaki_js)?"skrypt":((jaki_css)?"arkusz stylów":"moduł"))+": "+skrypt+", z projektu: "+nazwa_projektu+(tab_projektow_jezykowych[projekt]?(", o wersji językowej: "+jezyk):"")+", między modułami.")
return;
}else{
wszystkie_zaladowano_wczesniej=false;
}
/**/
if(!tablica_projekt[jezyk]){tablica_projekt[jezyk]=new Array();}
if(!tablica_projekt[jezyk][projekt]){tablica_projekt[jezyk][projekt]=new Array();}
if(!tablica_projekt[jezyk][projekt][skrypt_nowe]){tablica_projekt[jezyk][projekt][skrypt_nowe]=true;}
/**/
if(!DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk]){DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk]=new Array();}
if(!DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk][projekt]){DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk][projekt]=new Array();}
if(!DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk][projekt][skrypt_nowe]){DodatkiSkrypt.TabelaFunkcjiSkryptowych[jezyk][projekt][skrypt_nowe]=true;}
/**/
if(jaki_js!==null){
console.log("Ładuję skrypt JavaScript: "+element_skrypt+", z projektu: "+nazwa_projektu+(tab_projektow_jezykowych[projekt]?(", o wersji językowej: "+jezyk):"")+".");
var fun_promise_js=function(){
return ApiRevision(element_skrypt,jezyk,projekt,true,element_skrypt);
}
fun_promise.push(fun_promise_js);
}else if(jaki_css!==null){
console.log("Ładuję arkusz stylów CSS: "+element_skrypt+", z projektu: "+nazwa_projektu+(tab_projektow_jezykowych[projekt]?(", o wersji językowej: "+jezyk):"")+".");
var fun_promise_css=function(){
return ApiRevision(element_skrypt,jezyk,projekt,false,element_skrypt);
}
fun_promise.push(fun_promise_css);
}else{
if(!modules){modules=new Array();}
modules.push(element_skrypt);
}
}
PojedyncySkrypt(skrypty[p]);
}
if((modules)&&(modules.length>0)){
function LoadModule(element_skrypty,czy_nie_dodac_do_tablicy){
console.log("Ładuję moduły JavaScript: "+element_skrypty.join(",")+", z projektu: "+nazwa_projektu+(tab_projektow_jezykowych[projekt]?(", o wersji językowej: "+jezyk):"")+".");
var fun_promise_js=function(){
return mw.loader.getScript("//"+((!/^\s*$/g.test(jezyk))?(tab_projektow_jezykowych[projekt]?(jezyk+"."):""):"")+projekt+".org/w/load.php?lang=pl&modules="+encodeURIComponent(element_skrypty.join("|")));
}
if(!czy_nie_dodac_do_tablicy){
fun_promise.push(fun_promise_js);
}else{
return fun_promise_js;
}
}
if((jezyk!=mw.config.get('wgContentLanguage').toLowerCase())||(projekt!=mw.config.get('wgSiteName').toLowerCase())){
LoadModule(modules,false);
}else{
function WszystkieModuly(modules){
var module_inne=undefined;
var watek_promise=new Array();
for(var p in modules){
function PojedyncyModul(element_modul){
console.log("Ładuję moduł: ", element_modul);
var status=mw.loader.getState(element_modul);
console.log("Status: "+status);
try{
if(status!="ready"){
watek_promise.push(mw.loader.using([element_modul],function(require){return Promise.resolve();}).DodatkiSkryptThen(function(){
console.log("Ładuję moduł: "+element_modul+", z projektu bieżącego.");
tablica_modulow.push(element_modul);
return Promise.resolve();
}).DodatkiSkryptCatch(function(){
if(!module_inne){module_inne=new Array();}
module_inne.push(element_modul);
tablica_modulow.push(element_modul);
return Promise.reject();
}));
}
}catch(error){};
};
PojedyncyModul(modules[p]);
}
if(watek_promise.length!=0){
var promise=Promise.allSettled(watek_promise).then(function(){
if((module_inne)&&(module_inne.length>0)){
return LoadModule(module_inne,true);
};
return Promise.resolve();
});
return promise;
}
return Promise.resolve();
}
var fun_promise_modules=function(){
return WszystkieModuly(modules);
}
fun_promise.push(fun_promise_modules);
};
}
return Promise.resolve();
};
fun_promise.push(promise);
return promise;
}
//var args=arguments;
var pierwszy_arg=args[0];
if(typeof(pierwszy_arg)!="object"){
return PobierzSkrypt(args[0],args[1],args[2]);
}else{
var tab_promise_all=new Array();
for(var i=0;i<args.length;++i){
if(typeof(args[i])=="object"){
tab_promise_all.push(PobierzSkrypt(args[i][0],args[i][1],args[i][2]));
}else{
tab_promise_all.push(PobierzSkrypt(args[i]));
}
}
return tab_promise_all;
}
});
};
var this_zmienne=this;
this.requireFile=function(script){
var scripts=mw.loader.moduleRegistry[script].script;
if(!scripts){return;}
var main=scripts.main;
if(/^[^\/]*$/g.test(main)){
main="";
}else{
main=main.replace(/[\/][^\/]*$/g,"");
}
function requireFun(file){
if(main!=""){
file=main+"/"+file;
file=file.replace(/\/\.\//g,"/");
}else{
file=file.replace(/^\.\//g,"");
}
while(true){
var tab_s=file.match(/\/[^\/]*\/\.\.\//g);
if(tab_s==null){break;}
if(tab_s.length>0){
file=file.replace(tab_s[0].toString(),"/");
}else{break;}
}
console.log("Ładuję plik modułu: "+file);
return mw.loader.moduleRegistry[script].script.files[file];
}
function plikMain(file){
if(file==null){
var main=mw.loader.moduleRegistry[script].script.main;
if(/^[^\/]*$/g.test(main)){
file="./"+main;
}else{
file="."+(main.match(/\/[^\/]*$/g).toString());
}
}
return file;
}
function require(file){
file=plikMain(file);
if((/^\.\//g.test(file))||(/^\.\.\//g.test(file))){
var ob=requireFun(file);
if(typeof(ob) == "function"){
console.log("Typ danych: function");
var module=new Array();var exports=new Array();
var c=ob(require,module,exports);
return module.exports;
}
console.log("Typ danych: "+typeof(ob));
return ob;
}
var element_modul=file;
console.log("Inny moduł: "+file);
var script=mw.loader.moduleRegistry[element_modul].script;
if(script){
var main=mw.loader.moduleRegistry[element_modul].script.main;
if(main){
var plik;
if(/^[^\/]*$/g.test(main)){
plik="./"+main;
}else{
plik="."+(main.match(/\/[^\/]*$/g).toString());
}
return this_zmienne.requireFile(element_modul)(plik);
}
}else{
mw.loader.load(element_modul);
}
}
return require;
}
};
if(DodatkiSkrypt.IsMediaWikiDodatkiSkrypt()){
console.log("Ładuję stronę: User:<użytkownik>/DodatkiSkrypt.js, użytkownika...")
}else{
console.log("Ładowanie skryptu MediaWiki:DodatkiSkrypt.js. Uruchamianie...");
}
DodatkiSkrypt.skrypt=new DodatkiSkrypt.ZbieraczSkryptowy();
DodatkiSkrypt.skrypt.PobierzSkrypt('mediawiki.util');
DodatkiSkrypt.skrypt.PobierzSkrypt('mediawiki.api');
DodatkiSkrypt.skrypt.PobierzSkrypt('mediawiki.user');
//DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'SHA1.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Zdarzenia.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Libre.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Api.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/LibreLua.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Info.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Ciemny.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Kategorie.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Aktualizacja.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Nawigacja.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Google.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Boksy.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Strona.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/StronaStart.js');
DodatkiSkrypt.skrypt.PobierzSkrypt(MediaWikiGadgetPrefix+'Gadget-DodatkiSkrypt.js/Program.js');
/**/
DodatkiSkrypt.obietnica=DodatkiSkrypt.skrypt.UruchomZebraneSkrypty().DodatkiSkryptThen(function(data){
console.log("Załadowano wszystkie skrypty.");
return Promise.resolve(data);
}).DodatkiSkryptCatch(function(data){
console.log("Niezaładowano żadnych skryptów...");
return Promise.reject(data);
});
DodatkiSkrypt.obietnica.DodatkiSkryptThen(function(data){}).DodatkiSkryptCatch(function(data){});
/**/
})(UruchamiaczSkryptowyApi,DodatkiSkrypt,DodatkiSkrypt_zmienna_z_MediaWiki_Wikibooks);
}catch(error){
console.log("Wykryłem błąd Javaskrypt...",error);
}
})(mediaWiki,jQuery);
/**/