ব্যবহারকারী:ARI/common.js
অবয়ব
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন।
- অপেরা: Ctrl-F5 টিপুন।
mw.loader.using(['mediawiki.api'], function () {
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') return;
const api = new mw.Api();
const username = mw.util.getParamValue('user');
if (!username) return;
const btn = $('<button>')
.text('Rollback all visible edits')
.css({
marginLeft: '10px',
padding: '4px 8px',
fontSize: '90%'
})
.on('click', async function () {
if (!confirm('Rollback all visible top edits by "' + username + '" ?')) return;
let rolled = 0;
try {
const data = await api.get({
action: 'query',
list: 'usercontribs',
ucuser: username,
uclimit: 100,
ucprop: 'title|flags'
});
for (const edit of data.query.usercontribs) {
if (!edit.top) continue;
await api.postWithToken('csrf', {
action: 'rollback',
title: edit.title,
user: username,
summary: 'Rollback spam edits'
});
rolled++;
await new Promise(r => setTimeout(r, 1200)); // VERY important
}
alert('Rollback finished. Reverted: ' + rolled + ' edits.');
} catch (e) {
console.error(e);
alert('Stopped due to an error. Check console.');
}
});
$('#firstHeading').append(btn);
});