ব্যবহারকারী:DeloarAkram/massRollback.js
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন।
- অপেরা: Ctrl-F5 টিপুন।
//Copy From MdsShakil
//গণ-রোলব্যাক করার প্রক্রিয়া
//নির্দেশাবলী: ব্যবহারকারীর অবদানের ইতিহাস দেখার সময় "সবগুলো রোলব্যাক করুন" ট্যাবটি নির্বাচন করুন
//will open all rollback links displayed there. (Use with caution)
if(typeof wkContribsCheckboxInit === "undefined")
{
wkContribsCheckboxInit = false;
}
function rollbackEverythingWKMR(editSummary)
{
if(editSummary === null)
{
return false;
}
mw.loader.using( 'mediawiki.api' ).done( function()
{
var rbMetadata = {};
rbMetadata.api = new mw.Api();
rbMetadata.userName = mw.config.get("wgRelevantUserName");
rbMetadata.ipRange = (rbMetadata.userName === null);
rbMetadata.titleRegex = /title=([^&]+)/;
rbMetadata.editSummary = editSummary;
$("a[href*='action=rollback']").each(function(ind, el)
{
rollbackOneThingWKMR(el, rbMetadata);
} );
} );
return false;
}
function rollbackSomeThingsWKMR(editSummary)
{
if(editSummary === null)
{
return false;
}
mw.loader.using( 'mediawiki.api' ).done( function()
{
var rbMetadata = {};
rbMetadata.api = new mw.Api();
rbMetadata.userName = mw.config.get("wgRelevantUserName");
rbMetadata.titleRegex = /title=([^&]+)/;
rbMetadata.editSummary = editSummary;
var rollbackList = $("input.revdelIds:checked").parents("li.mw-contributions-current").find("a[href*='action=rollback']");
if(rollbackList.length <= 0)
{
mw.notify("আপনি রোলব্যাক করার জন্য কোন সম্পাদনা নির্বাচন করেননি!");
return;
}
$("input.revdelIds:checked").parents("li.mw-contributions-current").find("a[href*='action=rollback']").each(function(ind, el)
{
rollbackOneThingWKMR(el, rbMetadata);
} );
} );
}
function rollbackOneThingWKMR(edit, rbMetadata)
{
var userName;
//if we're in an anonymous IP range, we have to figure out each username on its own, since they might be different for each edit.
if(rbMetadata.userName === null)
{
//the not clause is probably not necessary, but I'm including it just to be sure.
userName = $(edit).parents("li:first").children("a.mw-anonuserlink").not(".mw-contributions-title").text();
}
else
{
userName = rbMetadata.userName;
}
var params = {};
if( rbMetadata.editSummary != '' )
{
params.summary = rbMetadata.editSummary;
}
rbMetadata.api.rollback( decodeURIComponent(rbMetadata.titleRegex.exec(edit.href)[1]), userName, params).done( function()
{
$(edit).after("reverted");
$(edit).remove();
} );
}
$(document).ready(function()
{
if(mw.config.get("wgCanonicalSpecialPageName") == "Contributions" && $("span.mw-rollback-link").length > 0)
{
mw.loader.using("mediawiki.util").done( function ()
{
mw.util.addPortletLink('p-cactions', '#', "সবগুলো রোলব্যাক করুন", "ca-rollbackeverything", "rollback all edits displayed here");
if(!wkContribsCheckboxInit)
{
if($("ul.mw-contributions-list .mw-revdelundel-link").length > 0)
{
$("ul.mw-contributions-list .mw-revdelundel-link").each(function(ind,el){
if($(this).children("a").length > 0)
{
var revId = /ids=(\d+)/.exec($(this).children("a").attr("href"))[1];
var pageTitle = /target=([^&]+)/.exec($(this).children("a").attr("href"))[1];
$(el).prepend("<input type='checkbox' name='"+decodeURIComponent(pageTitle)+"' class='revdelIds' value='"+revId+"'> ");
$(el).children(".revdelIds").data("index", ind);
}
});
}
else
{
$("ul.mw-contributions-list a.mw-changeslist-date").each(function(ind,el){
$(el).before("<input type='checkbox' class='revdelIds'> ");
});
}
wkContribsCheckboxInit = true;
}
mw.util.addPortletLink('p-cactions', '#', "নির্বাচিতগুলো রোলব্যাক করুন", "ca-rollbacksome", "rollback selected edits");
$("#ca-rollbackeverything").click( function(event)
{
event.preventDefault();
mw.loader.load( 'mediawiki.api' ); //start loading, while the user is in the prompt
return rollbackEverythingWKMR(prompt("সম্পাদনা সারাংশ লিখুন, অথবা পূর্বনির্ধারিত সারাংশ ব্যবহার করতে চাইলে বাক্সটি খালি রাখুন (অথবা রোলব্যাক করতে না চাইলে বাতিল এ ক্লিক করুন)"));
});
$("#ca-rollbacksome").click( function(event)
{
event.preventDefault();
mw.loader.load( 'mediawiki.api' ); //start loading, while the user is in the prompt
return rollbackSomeThingsWKMR(prompt("সম্পাদনা সারাংশ লিখুন, অথবা পূর্বনির্ধারিত সারাংশ ব্যবহার করতে চাইলে বাক্সটি খালি রাখুন (অথবা রোলব্যাক করতে না চাইলে বাতিল এ ক্লিক করুন)"));
});
});
}
});