|
|
| (একই ব্যবহারকারী দ্বারা সম্পাদিত ৬টি মধ্যবর্তী সংশোধন দেখানো হচ্ছে না) |
| ১ নং লাইন: |
১ নং লাইন: |
| // Mass Rollback Tool
| | mw.notify("My userscript loaded!"); |
| $(function() {
| |
| // Only run on Special:Contributions pages
| |
| if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') return;
| |
|
| |
| // Add mass rollback button
| |
| var $button = $('<button>')
| |
| .text('Mass Rollback All')
| |
| .css({
| |
| 'margin': '10px',
| |
| 'padding': '10px 20px',
| |
| 'background': '#d33',
| |
| 'color': 'white',
| |
| 'border': 'none',
| |
| 'cursor': 'pointer',
| |
| 'font-weight': 'bold'
| |
| })
| |
| .click(function() {
| |
| if (!confirm('Are you sure you want to rollback ALL visible edits?')) return;
| |
|
| |
| var $rollbackLinks = $('.mw-rollback-link a');
| |
| var total = $rollbackLinks.length;
| |
| var done = 0;
| |
|
| |
| if (total === 0) {
| |
| alert('No rollback links found!');
| |
| return;
| |
| }
| |
|
| |
| mw.notify('Starting mass rollback of ' + total + ' edits...');
| |
|
| |
| $rollbackLinks.each(function(i) {
| |
| var link = this;
| |
| setTimeout(function() {
| |
| $.get(link.href).done(function() {
| |
| done++;
| |
| mw.notify('Rolled back ' + done + '/' + total);
| |
| if (done === total) {
| |
| mw.notify('Mass rollback complete! Refreshing...', {type: 'success'});
| |
| setTimeout(function() { location.reload(); }, 2000);
| |
| }
| |
| }).fail(function() {
| |
| mw.notify('Error rolling back edit ' + (i+1), {type: 'error'});
| |
| });
| |
| }, i * 1000); // 1 second delay between each rollback
| |
| });
| |
| });
| |
|
| |
| // Add button to the page
| |
| $('#mw-content-text').prepend($button);
| |
| });
| |