User:BZPN/Zgłaszarka.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
Line 1: | Line 1: | ||
mw.loader.using(['oojs-ui', 'mediawiki.util']).done(function () { |
mw.loader.using(['oojs-ui', 'mediawiki.util']).done(function () { |
||
function addReportButton() { |
function addReportButton() { |
||
// Znajdź każdą edycję |
// Znajdź każdą edycję w historii zmian strony |
||
$('.mw-changeslist- |
$('.mw-changeslist-history .mw-changeslist-links a').each(function () { |
||
var diffUrl = $(this).attr('href'); |
var diffUrl = $(this).attr('href'); |
||
var |
var diffNumberMatch = diffUrl.match(/diff=(\d+)/); |
||
if (diffNumberMatch) { |
|||
var diffNumber = diffNumberMatch[1]; |
|||
// Dodaj przycisk, jeśli go jeszcze nie ma |
// Dodaj przycisk, jeśli go jeszcze nie ma |
||
if ($(this).siblings('.pt-report').length === 0) { |
if ($(this).siblings('.pt-report').length === 0) { |
||
var $button = $('<a>') |
var $button = $('<a>') |
||
.attr('href', '#') |
.attr('href', '#') |
||
.text('(zgłoś)') |
.text('(zgłoś)') |
||
.addClass('pt-report') |
.addClass('pt-report') |
||
.css({ 'margin-left': '10px', 'cursor': 'pointer', 'color': 'red' }); |
.css({ 'margin-left': '10px', 'cursor': 'pointer', 'color': 'red' }); |
||
$(this).after($button); |
$(this).after($button); |
||
// Obsługa kliknięcia w przycisk |
// Obsługa kliknięcia w przycisk |
||
$button.click(function (e) { |
$button.click(function (e) { |
||
e.preventDefault(); |
e.preventDefault(); |
||
// Popup do wpisania uzasadnienia |
// Popup do wpisania uzasadnienia |
||
var reason = prompt('Podaj uzasadnienie zgłoszenia:'); |
var reason = prompt('Podaj uzasadnienie zgłoszenia:'); |
||
if (!reason || reason.trim() === '') { |
if (!reason || reason.trim() === '') { |
||
alert('Uzasadnienie jest wymagane.'); |
alert('Uzasadnienie jest wymagane.'); |
||
return; |
return; |
||
} |
} |
||
// Potwierdzenie zgłoszenia |
// Potwierdzenie zgłoszenia |
||
var doThis = confirm('Czy na pewno chcesz zgłosić edycję?'); |
var doThis = confirm('Czy na pewno chcesz zgłosić edycję?'); |
||
if (doThis) { |
if (doThis) { |
||
var api = new mw.Api(); |
var api = new mw.Api(); |
||
// Stwórz nowy wątek na Wikipedia:Prośby do administratorów |
// Stwórz nowy wątek na Wikipedia:Prośby do administratorów |
||
api.postWithToken('csrf', { |
api.postWithToken('csrf', { |
||
action: 'edit', |
action: 'edit', |
||
title: 'User:BZPN/Wikipedia:Prośby do administratorów', |
title: 'User:BZPN/Wikipedia:Prośby do administratorów', |
||
section: 'new', |
section: 'new', |
||
sectiontitle: 'Prośba o ukrycie', |
sectiontitle: 'Prośba o ukrycie', |
||
text: '[[Specjalna:Diff/' + diffNumber + '|Edycja ' + diffNumber + ']] - ' + reason + '\n\nZgłasza:'+'~~'+'~~', |
text: '[[Specjalna:Diff/' + diffNumber + '|Edycja ' + diffNumber + ']] - ' + reason + '\n\nZgłasza:'+'~~'+'~~', |
||
summary: 'Zgłoszono edycję do ukrycia: ' + diffNumber |
summary: 'Zgłoszono edycję do ukrycia: ' + diffNumber |
||
}).done(function () { |
}).done(function () { |
||
alert('Edycja została zgłoszona.'); |
alert('Edycja została zgłoszona.'); |
||
}).fail(function (error) { |
}).fail(function (error) { |
||
console.error('Błąd podczas zgłaszania:', error); |
console.error('Błąd podczas zgłaszania:', error); |
||
alert('Wystąpił błąd podczas zgłaszania edycji.'); |
alert('Wystąpił błąd podczas zgłaszania edycji.'); |
||
}); |
}); |
||
} |
} |
||
}); |
}); |
||
} |
|||
} |
} |
||
}); |
}); |
Revision as of 19:17, 6 October 2024
mw.loader.using(['oojs-ui', 'mediawiki.util']).done(function () {
function addReportButton() {
// Znajdź każdą edycję w historii zmian strony
$('.mw-changeslist-history .mw-changeslist-links a').each(function () {
var diffUrl = $(this).attr('href');
var diffNumberMatch = diffUrl.match(/diff=(\d+)/);
if (diffNumberMatch) {
var diffNumber = diffNumberMatch[1];
// Dodaj przycisk, jeśli go jeszcze nie ma
if ($(this).siblings('.pt-report').length === 0) {
var $button = $('<a>')
.attr('href', '#')
.text('(zgłoś)')
.addClass('pt-report')
.css({ 'margin-left': '10px', 'cursor': 'pointer', 'color': 'red' });
$(this).after($button);
// Obsługa kliknięcia w przycisk
$button.click(function (e) {
e.preventDefault();
// Popup do wpisania uzasadnienia
var reason = prompt('Podaj uzasadnienie zgłoszenia:');
if (!reason || reason.trim() === '') {
alert('Uzasadnienie jest wymagane.');
return;
}
// Potwierdzenie zgłoszenia
var doThis = confirm('Czy na pewno chcesz zgłosić edycję?');
if (doThis) {
var api = new mw.Api();
// Stwórz nowy wątek na Wikipedia:Prośby do administratorów
api.postWithToken('csrf', {
action: 'edit',
title: 'User:BZPN/Wikipedia:Prośby do administratorów',
section: 'new',
sectiontitle: 'Prośba o ukrycie',
text: '[[Specjalna:Diff/' + diffNumber + '|Edycja ' + diffNumber + ']] - ' + reason + '\n\nZgłasza:'+'~~'+'~~',
summary: 'Zgłoszono edycję do ukrycia: ' + diffNumber
}).done(function () {
alert('Edycja została zgłoszona.');
}).fail(function (error) {
console.error('Błąd podczas zgłaszania:', error);
alert('Wystąpił błąd podczas zgłaszania edycji.');
});
}
});
}
}
});
}
$(document).ready(function () {
addReportButton();
});
});