Użytkownik:Szprot/monobook.js: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
Znacznik: edytor źródłowy |
M (Ale ze mnie lama, wandalizuję Nonsensopedię... Byłbym bardzo wdzięczny za otrzymanie bana) Znacznik: edytor źródłowy |
||
Linia 1: | Linia 1: | ||
// |
|||
// <nowiki> |
|||
/* |
|||
Wikinarzędzia |
|||
Copyright (C) 2008-2010 by adiblol <adiblol(at)chommik(dot)eu> |
|||
Licencja: GNU GPL 3+ - http://www.gnu.org/licenses/gpl.html |
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
You should have received a copy of the GNU General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
*/ |
|||
/////////////////////////////////////////////////// |
|||
///// OPISY ZMIAN I AUTOWKLEJANIE DO ARTÓW |
|||
/////////////////////////////////////////////////// |
|||
function RegisterDescs() { |
|||
descs=Array(); |
|||
texts=Array(); |
|||
descs['ek'] = '{{[[Szablon:Ek|ek]]}}'; |
|||
descs['ek-prywata'] = 'ek ([[N:P|prywata]])'; |
|||
descs['ek-total'] = 'ek (totalne zło)'; |
|||
descs['red'] = 'red.'; |
|||
descs['lit'] = 'literówka'; |
|||
descs['popr.format'] = 'popr. format. wiki'; |
|||
descs['sdu'] = 'SdU'; |
|||
descs['worek'] = '[[N:W|worek]]'; |
|||
descs['kat.'] = 'kategoria'; |
|||
descs['półpauzy'] = 'półpauzy'; |
|||
texts['ek'] = '{{ek}}'; |
|||
texts['ek-prywata'] = '{{ek|[[Nonsensopedia:Prywata|Prywata]]}}'; |
|||
texts['ek-total'] = '{{ek|TOTALNE ZŁO I BEZSENS!!!}}'; |
|||
texts['sdu'] = '{{Kasacja}}'; |
|||
texts['worek'] = '{{worek}}'; |
|||
var s=''; |
|||
for (dn in descs) { |
|||
s+='<a href="#" onclick="addToSummary(''+descs[dn]+'');return false;">'+dn+'</a>, '; |
|||
} |
|||
document.getElementById('editOptions').innerHTML = |
|||
'<small style="border:1px solid #444;background:#eee;padding:2px"> <b>Gotowce</b>: '+s+ |
|||
'</small>'+document.getElementById('editOptions').innerHTML; |
|||
s=''; |
|||
var c=''; |
|||
for (dn in texts) { |
|||
if (descs[dn]) { |
|||
c+='<button style="height:23px" onclick="addToTextAndSummary(''+texts[dn]+'',''+descs[dn]+ |
|||
'');return false;">'+dn+'</button> '; |
|||
} |
|||
s+='<a href="#" onclick="addToText(''+texts[dn]+'');return false;">'+dn+'</a>, '; |
|||
} |
|||
if (wgCanonicalNamespace=='Gra') { |
|||
var gl = '<a href="#" onclick="addGameCategory();return false;"><b>Kategoria Gra</b></a>; '; |
|||
} else var gl=''; |
|||
document.getElementById('editform').innerHTML = |
|||
'<small style="border:1px solid #444;background:#eee;padding:2px"> <b>Dodatkowe</b>: '+gl+s+ |
|||
'</small>'+document.getElementById('editform').innerHTML; |
|||
document.getElementById('editOptions').innerHTML += '<br /><b>GOTOWCE (tekst & opis)</b>: '+c+'<br /><br />'; |
|||
} |
|||
function addToSummary(v) { |
|||
document.getElementById('wpSummary').value += v; |
|||
} |
|||
function addToText(v) { |
|||
document.getElementById('wpTextbox1').value=v+"\n\n\n"+document.getElementById('wpTextbox1').value; |
|||
} |
|||
function addToTextAndSummary(t,s) { |
|||
addToText(t); |
|||
addToSummary(s); |
|||
} |
|||
function addGameCategory() { |
|||
document.getElementById('wpTextbox1').value += "\n\n[[kategoria:Gra|"+wgTitle.substring(wgTitle.indexOf(' ')+1, wgTitle.length)+']]'; |
|||
} |
|||
/////////////////////////////////////////////////// |
|||
///// AUTOMATYCZNY REVERT |
|||
/////////////////////////////////////////////////// |
|||
function RegisterRevert() { |
|||
d = document.getElementById('mw-diff-otitle1').firstChild.firstChild; |
|||
nu = document.getElementById('mw-diff-ntitle2').firstChild; |
|||
document.getElementById('mw-diff-otitle1').innerHTML += '(<a href="#" onclick="revertArticle(''+d.innerHTML+'',''+escape(nu.innerHTML)+'',''+d.href+'');">przywróć</a>)'; |
|||
} |
|||
var conn = new XMLHttpRequest; |
|||
var revertEditToken=''; |
|||
var revertAutoSummary=''; |
|||
var revertVersion=''; |
|||
var revertAddress=''; |
|||
var revertStartTime=''; |
|||
var revertEditTime=''; |
|||
var revertContents=''; |
|||
var revertNewerUser=''; |
|||
function revertShowMsg(text) { |
|||
document.getElementById('revertMessage').innerHTML = text; |
|||
} |
|||
function revertGetContents() { |
|||
if (conn.readyState==4 && conn.status==200) { |
|||
revertContents = conn.responseText; |
|||
document.getElementById('revertConfirm').disabled = ''; |
|||
revertShowMsg('Gotowy.'); |
|||
} |
|||
} |
|||
function revertDo() { |
|||
revertShowMsg('Trwa wysyłanie danych...'); |
|||
var f = document.createElement('form'); |
|||
function HiddenInput(name, value) { |
|||
var e = document.createElement('input'); |
|||
e.type='hidden'; |
|||
e.name = name; |
|||
e.value = value; |
|||
return e; |
|||
} |
|||
f.action = '/index.php?title='+encodeURI(wgPageName)+'&action=submit'; |
|||
f.method = 'post'; |
|||
f.enctype = 'multipart/form-data'; |
|||
f.appendChild(HiddenInput('wpLogin', '')); |
|||
f.appendChild(HiddenInput('wpSection', '')); |
|||
f.appendChild(HiddenInput('wpStarttime', revertStartTime)); |
|||
f.appendChild(HiddenInput('wpEdittime', revertEditTime)); |
|||
f.appendChild(HiddenInput('wpScrolltop', '')); |
|||
f.appendChild(HiddenInput('wpMinoredit', '1')); |
|||
f.appendChild(HiddenInput('wpTextbox1', revertContents)); |
|||
var subm = document.createElement('button'); |
|||
subm.type='submit'; |
|||
subm.name='s_u_b_m_i_t'; |
|||
subm.value='s-u-b-m-i-t'; |
|||
subm.innerHtml='wyslij'; |
|||
f.appendChild(subm); |
|||
var rdesc = ''; |
|||
var opt = document.getElementById('revertReason').selectedIndex; |
|||
if (opt==0) rdesc=''; else |
|||
if (opt==1) rdesc = document.getElementById('revertDesc').value; else |
|||
rdesc = document.getElementById('revertReason').options[opt].innerHTML; |
|||
f.appendChild(HiddenInput('wpSummary', 'Revert: '+revertVersion+((rdesc!='')?' ('+rdesc+')':'')+'. Anulowano wersję użytk. '+revertNewerUser)); |
|||
f.appendChild(HiddenInput('wpSave', 'Zapisz')); |
|||
f.appendChild(HiddenInput('wpEditToken', revertEditToken)); |
|||
f.appendChild(HiddenInput('wpAutoSummary', revertAutoSummary)); |
|||
f.appendChild(HiddenInput('antispam', '')); |
|||
document.getElementById('globalWrapper').appendChild(f); |
|||
f.submit(); |
|||
revertShowMsg('Wysłano!<br /><a href="javascript:history.back();">Wstecz</a>'); |
|||
} |
|||
function revertGetEditToken() { |
|||
if (conn.readyState==4 && conn.status==200) { |
|||
revertEditToken = conn.responseText.substr(conn.responseText.indexOf('name="wpEditToken"')-36, 34); |
|||
revertAutoSummary = conn.responseText.substr(conn.responseText.indexOf('name="wpAutoSummary"')+42, 32); |
|||
revertStartTime = conn.responseText.substr(conn.responseText.indexOf('name="wpStarttime"')-16, 14); |
|||
revertEditTime = conn.responseText.substr(conn.responseText.indexOf('name="wpEdittime"')-16, 14); |
|||
conn = new XMLHttpRequest; |
|||
conn.open('GET', revertAddress, true); |
|||
conn.onreadystatechange = revertGetContents; |
|||
conn.send(null); |
|||
revertShowMsg('Pobieranie treści...'); |
|||
} |
|||
} |
|||
function revertReasonChange() { |
|||
document.getElementById('revertDesc').style.visibility = ((document.getElementById('revertReason').selectedIndex==1)?'visible':'hidden'); |
|||
} |
|||
function revertArticle(ver,nusr,addr) { |
|||
document.getElementById('mw-diff-otitle1').parentNode.innerHTML = '<span id="revertMessage" style="color:#006600;font-size:14pt"></span>'; |
|||
s = '<h3>Przyczyna revertu:</h3><select id="revertReason" style="width:80%" onchange="revertReasonChange();"><option value="noreason">(brak)</option><option value="custom">(własny)</option>'; |
|||
reasons=Array('wandalizm', 'blank', 'bezsens', 'bo tak', 'głupoty', 'celebrities'); |
|||
for (var i=0;i<reasons.length;i++) { |
|||
s += '<option value="n">'+reasons[i]+'</option>'; |
|||
} |
|||
s += '</select><button id="revertConfirm" onclick="revertDo();" disabled="disabled" style="width:16%">OK</button><input type="text" id="revertDesc" value="" style="width:98%;visibility:hidden" />'; |
|||
document.getElementById('mw-diff-ntitle1').parentNode.innerHTML=s; |
|||
//d = document.getElementById('jump-to-nav'); |
|||
conn.open('GET', '/index.php?title='+encodeURI(wgPageName)+'&action=edit', true); |
|||
conn.onreadystatechange = revertGetEditToken; |
|||
revertVersion = ver; |
|||
revertAddress = addr+'&action=raw'; |
|||
revertNewerUser = unescape(nusr); |
|||
conn.send(null); |
|||
revertShowMsg('Pobieranie danych...'); |
|||
} |
|||
function RegisterContribs() { |
|||
/*alert(document.getElementById('p-cactions')); |
|||
alert(document.getElementById('p-cactions').lastChild); |
|||
alert(document.getElementById('p-cactions').lastChild.firstChild);*/ |
|||
document.getElementById('ca-history').parentNode.innerHTML += |
|||
'<li id="ca-contribs"><a href="/index.php?title='+encodeURI('Special:Contributions/'+wgTitle)+'" title="Pokaż wkład tego użytkownika">Wkład</a></li>'; |
|||
} |
|||
function CheckHistory() { |
|||
if (document.getElementById('mw-diff-otitle1')) { |
|||
RegisterRevert(); |
|||
} |
|||
} |
|||
//if (wgUserName=='Adiblol') { // Zmień to na swoją nazwę użytkownika. |
|||
// Poniżej znajdują się linie służące do włączania funkcjonalności. |
|||
// Jeśli nie chcesz z jakiejś korzystać, wykomentuj ją, stawiając na początku linii dwa slash'e. |
|||
if ((wgAction=='edit') || (wgAction=='submit')) { |
|||
addOnloadHook(RegisterDescs); // Pomocnicze narzędzia dla opisów zmian, daje gotową listę, podobną jak na Wikipedii, ponadto daje przyciski automatycznie dodające szablony takie jak ek, worek itp. do artykułów. |
|||
} |
|||
/*if (wgCanonicalNamespace=='User') { |
|||
addOnloadHook(RegisterContribs); // Dodaje w "cactions" strony użytkownika (dyskusja, edytuj, historia itp.) przycisk "wkład", nie jest on potrzebny ponieważ podobny link istnieje w "narzędziach" w sidebarze. |
|||
}*/ |
|||
addOnloadHook(CheckHistory); // Automatyczny rewert dowolnej wersji. |
|||
/*} else { |
|||
alert("Wygląda na to, że skopiowałeś sobie bezprawnie moje narzędzia! Aby ich używać, wykaż choć trochę inteligencji, pogrzeb w plikach monobooka i zmień co trzeba ;)\n\n[Ma to na celu zapewnienie ochrony Nonsensopedii przed noobami wykorzystującymi cudze skrypty (script-kiddies) do niecnych celów. Nie mam nic przeciwko wykorzystywaniu moich skryptów przez innych, o ile robią to sensownie.]"); |
|||
}*/ |
|||
// </nowiki> |