ব্যবহারকারী:SHEIKH/গণ অপসারণ.js
অবয়ব
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন।
- অপেরা: Ctrl-F5 টিপুন।
//মূল স্ক্রিপ্ট [[User:Animum]]
//অনুবাদ ও মোবাইল উপযোগী করণ [[User:SHEIKH]]
mw.loader.using(['mediawiki.api', 'mediawiki.Title'], function () {
"use strict";
var config = mw.config.get(['wgNamespaceNumber', 'wgTitle', 'wgUserGroups', 'skin']);
function removeBlanks(arr) {
var ret = [];
var i, len;
for (i = 0, len = arr.length; i < len; i++) {
var s = arr[i];
s = s.trim();
if (s) {
ret.push(s);
}
}
return ret;
}
function doMassDelete() {
document.getElementById("wpMassDeleteSubmit").disabled = true;
var articles = document.getElementById("wpMassDeletePages").value.split("\n");
articles = removeBlanks(articles);
if (!articles.length) {
return;
}
var
api = new mw.Api(),
wpMassDeleteReasons = document.getElementById("wpMassDeleteReasons").value,
wpMassDeleteReason = document.getElementById("wpMassDeleteReason").value,
deleted = 0,
failed = [],
error = [],
deferreds = [],
reason = wpMassDeleteReasons == "other" ?
wpMassDeleteReason :
wpMassDeleteReasons + (wpMassDeleteReason ? " (" + wpMassDeleteReason + ")" : ""),
onSuccess = function () {
deleted++;
document.getElementById("wpMassDeleteSubmit").value = "(" + deleted + ")";
};
function makeDeleteFunc(article) {
return function () {
return $.Deferred(function (deferred) {
var promise = api.postWithToken('delete', {
format: 'json',
action: 'delete',
title: article,
reason: reason
});
promise.done(onSuccess);
promise.fail(function (code, obj) {
failed.push(article);
error.push(obj.error.info);
});
promise.always(function () {
deferred.resolve();
});
});
};
}
// Make a chain of deferred objects. We chain them rather than execute them in
// parallel so that we don't make 1000 simultaneous delete requests and bring the
// site down. We use deferred objects rather than the promise objects returned
// from the API request so that the chain continues even if some articles gave
// errors.
var deferred = makeDeleteFunc(articles[0])();
for (var i = 1, len = articles.length; i < len; i++) {
deferred = deferred.then(makeDeleteFunc(articles[i]));
}
// Show the output and do cleanup once all the requests are done.
$.when(deferred).then(function () {
document.getElementById("wpMassDeleteSubmit").value = "সম্পন্ন (" + deleted + ")";
if (failed.length) {
var $failedList = $('<ul>');
for(var x = 0; x < failed.length; x++) {
// Link the titles in the "failed" array
var failedTitle = mw.Title.newFromText(failed[x]);
var $failedItem = $('<li>');
if (failedTitle) {
$failedItem.append( $('<a>')
.attr('href', failedTitle.getUrl())
.text(failed[x])
);
} else {
$failedItem.text(failed[x]);
}
$failedItem.append(document.createTextNode(': ' + error[x]));
$failedList.append($failedItem);
}
$('#wpMassDeleteFailedContainer')
.append($('<br />'))
.append($('<b>')
.text('Failed deletions:')
)
.append($failedList);
}
});
}
function massdeleteform() {
var bodyContent = (config.skin == "cologneblue" ? "নিবন্ধ" : "bodyContent");
document.getElementsByTagName("h1")[0].textContent = "গন অপসারণ";
document.getElementById(bodyContent).innerHTML = '<form id="wpMassDelete" name="wpMassDelete">' +
'<b>আপনি যদি এই সরঞ্জামটির অপব্যবহার করেন তবে এটি আপনার দোষ, আমার নয়।</b>' +
'<div id="wpMassDeleteFailedContainer"></div>' +
'<br />' +
'পাতার তালিকা (প্রতি লাইনে একটি):<br />' +
'<textarea tabindex="1" accesskey="," name="wpMassDeletePages" id="wpMassDeletePages" rows="10" cols="80"></textarea>' +
'<br /><br /><table style="background-color:transparent">' +
'<tr><td>সাধারণ কারণ:</td>' +
'<td><select id="wpMassDeleteReasons">' +
'<optgroup label="অন্যান্য মানদণ্ড">' +
'<option value="অন্যান্য">অন্যান্য কারণ</option>' +
'</optgroup>' +
'<optgroup label="সাধারণ মানদণ্ড">' +
'<option value="অপ্রয়োজনীয় বা ভাঙা পুনঃনির্দেশ">অপ্রয়োজনীয় বা ভাঙা পুনঃনির্দেশ</option>' +
'<option value="[[WP:CSD#G2|G2]]: Test page">স২: পরীক্ষামূলক পাতা</option>' +
'<option value="[[WP:CSD#G3|G3]]: [[WP:Vandalism|Vandalism]]">স৩: নিশ্চিত ধ্বংসপ্রবণতা ও ভয়ানক ধোঁকাবাজি</option>' +
'<option value="[[WP:CSD#G3|G3]]: Blatant [[WP:Do not create hoaxes|hoax]]">স৩: ধোঁকাবাজি</option>' +
'<option value="[[WP:CSD#G4|G4]]: Recreation of a page that was [[WP:DEL|deleted]] per a [[WP:XFD|deletion discussion]]">স৪: আলোচনার মাধ্যমে অপসারিত পাতা পুনরায় তৈরিকরণ</option>' +
'<option value="[[WP:CSD#G5|G5]]: Creation by a [[WP:BLOCK|blocked]] or [[WP:BAN|banned]] user in violation of block or ban">স৫: নিষিদ্ধ বা অবরুদ্ধ ব্যবহারকারী দ্বারা সৃষ্ট পাতা</option>' +
'<option value="[[WP:CSD#G6|G6]]: Housekeeping and routine (non-controversial) cleanup">স৬: প্রযুক্তিগত অপসারণ</option>' +
'<option value="[[WP:CSD#G7|G7]]: One author who has requested deletion or blanked the page">স৭: লেখক বা প্রনেতা কর্তৃক অপসারণের অনুরোধ</option>' +
'<option value="[[WP:CSD#G8|G8]]: Page dependent on a deleted or nonexistent page">স৮: অনাথ আলাপ পাতা</option>' +
'<option value="[[WP:CSD#G10|G10]]: [[WP:ATP|Attack page]] or negative unsourced [[WP:BLP|BLP]]">স১০: আক্রমণাত্মক পাতা</option>' +
'<option value="[[WP:CSD#G11|G11]]: Unambiguous [[WP:NOTADVERTISING|advertising]] or promotion">স১১: দ্ব্যর্থহীন বিজ্ঞাপন বা প্রচারণা</option>' +
'<option value="[[WP:CSD#G12|G12]]: Unambiguous [[WP:CV|copyright infringement]]">স১২: কপিরাইট লঙ্ঘন</option>' +
'<option value="[[WP:CSD#G13|G13]]: Abandoned draft or [[WP:AFC|Articles for Creation]] submission – to retrieve it, see [[WP:REFUND/G13]]">স১৩: পরিত্যক্ত খসড়া</option>' +
'</optgroup>' +
'<optgroup label="নিবন্ধ">' +
'<option value="[[WP:CSD#A1|A1]]: Short article without enough context to identify the subject">নি১: কোন প্রসঙ্গ নেই</option>' +
'<option value="[[WP:CSD#A2|A2]]: Article in a foreign language that exists on another project">নি২: অন্য কোন উইকিমিডিয়া প্রকল্পে বিদ্যমান বিদেশি ভাষার নিবন্ধ</option>' +
'<option value="[[WP:CSD#A3|A3]]: Article that has no meaningful, substantive content">নি৩: বিষয়বস্তু বিহীন নিবন্ধ</option>' +
'<option value="[[WP:CSD#A5|A5]]: Article that has been transwikied to another project">নি৫: অন্য কোনো উইকি প্রকল্পে বিদ্যমান নিবন্ধ</option>' +
'<option value="[[WP:CSD#A7|A7]]: No credible indication of importance (individuals, animals, organizations, web content, events)">নি৭: গুরুত্বের ব্যাখ্যা নেই (ব্যক্তি, প্রাণি, সংস্থা, ওয়েব বিষয়বস্তু বা ঘটনা)</option>' +
'<option value="[[WP:CSD#A9|A9]]: Music recording by redlinked artist and no indication of importance or significance">নি৯: গুরুত্বের ব্যাখ্যা নেই (সঙ্গীত রেকর্ড)</option>' +
'<option value="[[WP:CSD#A10|A10]]: Recently created article that duplicates an existing topic">নি১০: সাম্প্রতিক তৈরি নিবন্ধ যা বিদ্যমান কোন বিষয়ের অনুলিপি</option>' +
'<option value="[[WP:CSD#A11|A11]]: [[Wikipedia:Wikipedia is not for things made up one day|Made up]] by article creator or an associate, and no indication of importance/significance">নি১১: স্পষ্টত আবিষ্কৃত বা উদ্ভাবিত</option>' +
'</optgroup>' +
'<optgroup label="পুনঃনির্দেশ">' +
'<option value="[[WP:CSD#R2|R2]]: Cross-[[WP:NS|namespace]] [[WP:R|redirect]] from mainspace">প২: আন্তঃ-নামস্থান পুনর্নির্দেশনা</option>' +
'<option value="[[WP:CSD#R3|R3]]: Recently created, implausible [[WP:R|redirect]]">প৩: অসঙ্গত পুনঃনির্দেশ</option>' +
'</optgroup>' +
'<optgroup label="ছবি এবং অন্যান্য মিডিয়া">' +
'<option value="[[WP:CSD#F1|F1]]: File redundant to another on Wikipedia">চ১: অপ্রয়োজনীয়</option>' +
'<option value="[[WP:CSD#F2|F2]]: Corrupt or empty file, or a file description page for a file on Commons">চ২: ত্রুটিপূর্ণ, অনুপস্থিত অথবা শুন্য ফাইল</option>' +
'<option value="[[WP:CSD#F3|F3]]: File with improper license">চ৩: অসম্পূর্ণ লাইসেন্স</option>' +
'<option value="[[WP:CSD#F4|F4]]: Lack of licensing information">চ৪: লাইসেন্স তথ্যের অপ্রতুলতা</option>' +
'<option value="[[WP:CSD#F5|F5]]: Unused non-free media">চ৫: অনাথ মুক্ত-নয় চিত্রসমূহের ব্যবহার</option>' +
'<option value="[[WP:CSD#F6|F6]]: Non-free file without [[WP:RAT|fair-use rationale]]">চ৬: মুক্ত-নয় উপাদান ব্যবহারের যৌক্তিকতার অভাব</option>' +
'<option value="[[WP:CSD#F7|F7]]: [[WP:NFCC|Invalid]] fair-use claim">চ৭: অকার্যকর ন্যায্য ব্যবহারের দাবী</option>' +
'<option value="[[WP:CSD#F8|F8]]: Media file available on Commons">চ৮: উইকিমিডিয়া কমন্স এ অভিন্ন চিত্রের প্রাপ্যতা</option>' +
'<option value="[[WP:CSD#F9|F9]]: File [[WP:COPYVIO|copyright violation]]">চ৯: সুস্পষ্টভাবে কপিরাইট লঙ্ঘন</option>' +
'<option value="[[WP:CSD#F10|F10]]: Useless media file">চ১০: অপ্রয়োজনীয় নন-মিডিয়া ফাইলসমুহ</option>' +
'<option value="[[WP:CSD#F11|F11]]: No evidence of permission">চ১১: অনুমোদনের প্রমাণ অনুপস্থিত</option>' +
'</optgroup>' +
'<optgroup label="বিষয়শ্রেণী">' +
'<option value="[[WP:CSD#C1|C1]]: Empty category">বি১: খালি বিষয়শ্রেণী</option>' +
'<option value="[[WP:CSD#C2|C2]]: Speedy renaming">বি২: দ্রুত পুনঃনামকরণ</option>' +
'<option value="[[WP:CSD#G8|G8]]: Populated by deleted or retargeted template">স৮: অস্তিত্বহীন বা অপসারণকৃত পাতার উপর নির্ভরশীল পাতা</option>' +
'</optgroup>' +
'<optgroup label="ব্যবহারকারী">' +
'<option value="[[WP:CSD#U1|ব্য১]]: ব্যবহারকারী তার নিজের উপপাতা মোছার অনুরোধ করেছেন">ব্য১: ব্যবহারকারীর অনুরোধ</option>' +
'<option value="[[WP:CSD#U2|U2]]: Userpage or subpage of a nonexistent user">ব্য২: অস্তিত্বহীন ব্যবহারকারী</option>' +
'<option value="[[WP:CSD#U3|U3]]: [[WP:NFC|Non-free]] [[Help:Gallery|gallery]]">ব্য৩: মুক্ত নয় ছবির গ্যালারি</option>' +
'<option value="[[WP:CSD#U5|U5]]: [[WP:NOTWEBHOST|Misuse of Wikipedia as a web host]]">ব্য৫: ওয়েব হোস্ট হিসাবে উইকিপিডিয়ার ভয়ানক অপব্যবহার</option>' +
'</optgroup>' +
'<optgroup label="টেমপ্লেট">' +
'<option value="[[WP:CSD#T2|T2]]: Template that unambiguously misrepresents established policy">ট২: স্পষ্ট ভুল উপস্থাপনা</option>' +
'<option value="[[WP:CSD#T3|T3]]: Unused, redundant template">ট৩: অপ্রয়োজনীয় এবং অব্যবহৃত</option>' +
'<option value="[[WP:CSD#G8|G8]]: Component or documentation of a deleted template">স৮: অস্তিত্বহীন টেমপ্লেট</option>' +
'</optgroup>' +
'<optgroup label="প্রবেশদ্বার">' +
'<option value="[[WP:CSD#P1|P1]]: [[WP:P|Portal]] page that would be subject to speedy deletion as an article">প১: কোন পোর্টাল যা একটি নিবন্ধ হিসাবে দ্রুত অপসারণের যোগ্য</option>' +
'<option value="[[WP:CSD#P2|P2]]: [[WP:P|Portal]] without a substantial topic base">প২: অসম্পূর্ণ পোর্টাল.</option>' +
'</optgroup>' +
'<optgroup label="অন্যান্য">' +
'<option value="[[WP:PROD]]: Nominated for seven days with no objection">কোন আপত্তি ছাড়াই সাত দিনেরও বেশি সময় মনোনীত</option>' +
'<option value="[[WP:BLPPROD]]: Nominated for seven days with no reliable sources present in the article">উৎস ছাড়া সাত দিনেরও বেশি সময় ধরে পরে থাকা নিবন্ধ</option>' +
'<option value="Listed at [[Wikipedia:Copyright problems]] for over seven days">সাত দিনেরও বেশি সময় ধরে কপিরাইট সমস্যায় তালিকাভুক্ত</option>' +
'</optgroup>' +
'</optgroup>' +
'</select></td></tr>' +
'<tr><td>অন্যান্য/অতিরিক্ত কারণ:</td>' +
'<td><input type="text" id="wpMassDeleteReason" name="wpMassDeleteReason" maxlength="255" /></td></tr>' +
'<tr><td><input type="button" id="wpMassDeleteSubmit" name="wpMassDeleteSubmit" value="অপসারণ" /></td>' +
'</form>';
document.getElementById("wpMassDeleteReasons").onchange = function() {
var maxlength = (document.getElementById("wpMassDeleteReasons").value == "অন্যান্য" ? 255 : 252-document.getElementById("wpMassDeleteReasons").value.length); //It's 252 because of the three characters (" ()") in addition to the selected summary.
document.getElementById("wpMassDeleteReason").setAttribute("maxlength", maxlength);
};
document.getElementById("wpMassDeleteSubmit").addEventListener("click", function (e) {
doMassDelete();
});
}
if ( mw.config.get('wgCanonicalSpecialPageName') === 'Blankpage' && mw.config.get('wgTitle').split('/', 2)[1] === 'Massdelete' ) {
massdeleteform();
}
});
$.when(mw.loader.using('mediawiki.util'), $.ready).then(function () {
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:BlankPage/Massdelete'),
'গন-অপসারণ'
);
});