Użytkownik:Michał56/common.js
Z Nonsensopedii, polskiej encyklopedii humoru
Uwaga: aby zobaczyć zmiany po zapisaniu, 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: Przytrzymaj Ctrl jednocześnie klikając Odśwież lub naciśnij klawisze Ctrl+F5
- Konqueror: Kliknij polecenie Odśwież lub naciśnij klawisz F5
- Opera: Wyczyść pamięć podręczną w Narzędzia → Preferencje
//importy
importScript('User:Michał56/ostatnie zmiany.js');
importScript('User:Expert3222/RollbackAll.js');
//dodatkowe przyciski w edytorze
if (typeof (mwCustomEditButtons) != 'undefined') {
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/commons/2/26/Button_latinas.png",
"speedTip": "Wstaw polskie cudzysłowy",
"tagOpen": "„",
"tagClose": "”",
"sampleText": ""
};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "https://upload.wikimedia.org/wikipedia/commons/3/3f/Button_headline_-_2.png",
"speedTip": "Wstaw półpauzę",
"tagOpen": "–",
"tagClose": "",
"sampleText": ""
};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "https://commons.wikimedia.org/wiki/Category:MediaWiki_edit_toolbar_formatting_buttons#/media/File:Pulsante_tmp.png",
"speedTip": "Wstaw podpis",
"tagOpen": "{{Michał56}} <nowiki>{{subst:#time:H:i, M d, Y|+1 hour}} (CET)</nowiki>",
"tagClose": "",
"sampleText": ""
};
}
c
//fast delete buttons
window.fdButtons = [];
window.fdButtons.push(
{
summary: '[[Nonsensopedia:Bo tak|Bo tak]]',
label: 'Bo tak'
},
{
summary: '[[Nonsensopedia:Wandalizm|Wandalizm]]',
label: 'Wandalizm'
},
{
summary: '[[Nonsensopedia:Prywata|Prywata]]',
label: 'Prywata'
}
);
importArticles( {
type: 'script',
articles: [
// ...
'u:dev:FastDelete/code.js',
// ...
]
} );
/*
** narzędzie umożliwiające łatwe zablokowanie użytkownika, oraz usunięcie jego działalności
** dodatkowo dołączone jest narzędzie MultiLookup które jest w fazie rozwoju
** autorem skryptu jest użytkownik Michał56
** działa ono na wszystkich dostępnych skórkach
** wszelkie błędy lub niedopracowania proszę zgłaszać użytkownikowi Michał56
** ~
*/
;(function($, mw) {
switch (mw.config.get('wgCanonicalSpecialPageName')) {
case "Contributions":
$('#contentSub a:nth-child(8)').after(' • <a id="nuke" href="http://nonsensopedia.wikia.com/wiki/Special:Nuke/' + mw.config.get('wgPageName').split('/')[1] + '">masowe usuwanie</a>');
break;
}
}) (this.jQuery, this.mediaWiki);
;(function($, mw) {
switch (mw.config.get('wgCanonicalSpecialPageName')) {
case "Contributions":
function info() {
alert('Ta funkcjonalność jest w trakcie rozwoju, niestety nie jest jeszcze dostępna.');
}
$('#contentSub a:nth-child(7)').after(' • <a href="#" id="MultiLookupLink">MultiLookup</a>');
break;
}
$('#MultiLookupLink').click(function() {
info();
});
}) (this.jQuery, this.mediaWiki);
;(function($, mw) {
switch (mw.config.get('wgCanonicalSpecialPageName')) {
case "Contributions":
$('#contentSub a:nth-child(9)').after(' • <a href="#" id="contribs-tools">narzędzia</a>');
break;
}
}) (this.jQuery, this.mediaWiki);
;(function($, mw) {
var username = mw.config.get("wgPageName").split("/")[1];
var token = mw.user.tokens.get("editToken");
var walls = [
"Message Wall",
"Nachrichtenseite",
"Muro",
"Viestiseinä",
"Mur",
"Üzenőfal",
"Bacheca",
"メッセージ ウォール",
"Prikbord",
"Tablica wiadomości",
"Mural de mensagens",
"Стіна обговорення",
"Стена обсуждения",
"留言墙"
];
$('#contribs-tools').click(function() {
$.showCustomModal('Narzędzia — <span id="nazwa_usera">' + username + '</span>', '<div class="input-group"><label>Powód:</label><input id="reason" type="text" maxlength="150" value="[[w:c:community:help:vandalism|Vandalism]]"> <span id="banReasonV" class="button">V</span> <span id="banReasonS" class="button">S</span> <span id="banReasonP" class="button">P</span> <span id="banReasonOB" class="button">OB</span> </div><br/><div class="input-group"><label>Czas blokady:</label><input id="time" type="text" maxlength="150" value="2 weeks"> <span id="banTime12h" class="button">12h</span> <span id="banTime2w" class="button">2w</span> <span id="banTime3m" class="button">3m</span> <span id="banTimeInf" class="button">inf</span> </div><br/><fieldset><legend style="font-family: Arial; font-weight: bold">Inne operacje</legend><center><a href="/wiki/Specjalna:Rejestr/block?page=Użytkownik:' + username + '" id="blockLog">Blokady</a> • <a href="/wiki/Specjalna:Rejestr/' + username + '" id="log">Rejestry</a> • <a href="/wiki/User Talk:' + username + '" id="talk">Dyskusja</a> • <a href="/wiki/Specjalna:Pliki/' + username + '" id="files">Pliki</a> • <a href="/wiki/Specjalna:Usunięty_wkład/' + username + '" id="deleteCo">Usunięty wkład</a> • <a href="/wiki/Specjalna:Uprawnienia/' + username + '" id="rights">Uprawnienia</a>', {
id: 'tools',
width: 650,
buttons: [{
message: 'Cofnij wszystko',
id: 'RollbackAllButton',
defaultButton: true,
handler: function() {
rollbackAll();
}
}, {
message: 'Cofnij i usuń',
id: 'DeleteAndRollbackButton',
defaultButton: true,
handler: function() {
deleteAll();
rollbackAll();
}
}, {
message: 'Wszystkie poprzednie',
id: 'AllBeforeButton',
defaultButton: true,
handler: function() {
deleteAll();
rollbackAll();
}
}, {
message: 'Usuń wszystko',
id: 'DeleteAllButton',
defaultButton: true,
handler: function() {
deleteAll();
}
}, {
message: 'Zablokuj',
id: 'BlockButton',
defaultButton: true,
handler: function() {
block();
}
}, {
message: 'Nuke',
id: 'NukeButton',
defaultButton: true,
handler: function() {
deleteNuke();
}
}]
});
var ReasonBan = document.getElementById("reason");
var TimeBan = document.getElementById("time");
document.getElementById("banReasonV").onclick = function() {
ReasonBan.value = '[[w:c:community:help:vandalism|Vandalism]]';
}
document.getElementById("banReasonS").onclick = function() {
ReasonBan.value = '[[w:c:community:help:spam|Spam]]';
}
document.getElementById("banReasonP").onclick = function() {
ReasonBan.value = '[[w:c:nonsensopedia:Nonsensopedia:Prywata|Prywata]]';
}
document.getElementById("banReasonOB").onclick = function() {
ReasonBan.value = 'Omijanie bana';
TimeBan.value = 'infinite';
}
document.getElementById("banTime12h").onclick = function() {
TimeBan.value = '12 hours';
}
document.getElementById("banTime2w").onclick = function() {
TimeBan.value = '2 weeks';
}
document.getElementById("banTime3m").onclick = function() {
TimeBan.value = '3 months';
}
document.getElementById("banTimeInf").onclick = function() {
TimeBan.value = 'infinite';
}
});
function apiDelete(page,reason) {
new mw.Api().post({
format: 'json',
action: 'delete',
title: page,
reason: reason,
bot: true,
token: token
})
.done(function(d) {
if (!d.error) {
console.log('done');
} else {
console.log('Wystąpił błąd podczas usuwania strony: - '+ d.error.code);
}
})
.fail(function() {
console.log('Wystąpił błąd podczas usuwania strony: '+page+'!');
});
}
function rollbackAll() {
$('.mw-rollback-link a').each(function() {
var href = $(this).attr('href');
$.get(href);
$(this).text('Gotowe!').parents().eq(2).css({'color':'grey','text-decoration':'line-through'}).removeAttr('href');
});
}
function block() {
var czas = document.getElementById("time").value;
var powod = document.getElementById("reason").value;
var duration = prompt('Wybrany czas:', czas),
blockReason = prompt('Wybrany powód:', powod);
if (!duration) {
alert('Pole „Wybrany czas” nie może być puste!');
return;
} else if (!blockReason) {
alert('Pole „Wybrany powód” nie może być puste!');
return;
}
new mw.Api().post({
format: 'json',
action: 'block',
user: username,
expiry: duration,
nocreate: 0,
autoblock: 0,
reason: blockReason,
bot: true,
token: token
})
.done(function(d) {
if (!d.error) {
alert(username+' został pomyślnie zablokowany!');
}
else {
alert('Wystąpił błąd podczas blokowania');
}
})
.fail(function() {
alert('Wystąpił błąd podczas blokowania: '+username+'!');
})
}
function deleteAll() {
var deleteReason = 'Cleanup';
$('li .newpage ~ a').each(function() {
var title = $(this).attr('title');
if (walls.indexOf(title.split(':')[0]) !== -1)
return;
apiDelete(title,deleteReason);
$(this).parent().css({'color':'grey','text-decoration':'line-through'}).removeAttr('href');
});
$('#mw-content-text ul li').each(function() {
var title = $(this).children('a').first().attr('title');
if (title.split('-').length == 1 || title.split('/@comment').length == 1)
return;
apiDelete(title,deleteReason);
$(this).css({'color':'grey','text-decoration':'line-through'}).removeAttr('href');
});
}
function deleteNuke() {
window.open('http://nonsensopedia.wikia.com/wiki/Special:Nuke/' + username);
}
function closeTools() {
$('#tools').closeModal();
}
}) (this.jQuery, this.mediaWiki);