|
|
| ১ নং লাইন: |
১ নং লাইন: |
| importScript('ব্যবহারকারী:রবি/minerva.js');
| |
| // This script aligns dates into one of two formats allowed by [[WP:MOSNUM]]. | | // This script aligns dates into one of two formats allowed by [[WP:MOSNUM]]. |
| // PLEASE READ THE DOCUMENTATION at [[User:Ohconfucius/script/MOSNUM dates]] (click on the link above) before using. | | // PLEASE READ THE DOCUMENTATION at [[User:Ohconfucius/script/MOSNUM dates]] (click on the link above) before using. |
| ১,৩৬৭ নং লাইন: |
১,৩৬৬ নং লাইন: |
| //</nowiki> | | //</nowiki> |
|
| |
|
| 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="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="স৬: গৃহস্থালি ও নিয়মমাফিক (অবিতর্কিত) পরিষ্করণ">স৬: প্রযুক্তিগত অপসারণ</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|U1]]: User request to delete page in own userspace">ব্য১: ব্যবহারকারীর অনুরোধ</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="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="P2: Portal without a substantial topic base">প২: অসম্পূর্ণ পোর্টাল.</option>' +
| |
| '</optgroup>' +
| |
| '<optgroup label="অন্যান্য">' +
| |
| '<option value="PROD: Nominated for seven days with no objection">কোন আপত্তি ছাড়াই সাত দিনেরও বেশি সময় মনোনীত</option>' +
| |
| '<option value="BLP: Nominated for seven days with no reliable sources present in the article">উৎস ছাড়া সাত দিনেরও বেশি সময় ধরে পরে থাকা নিবন্ধ</option>' +
| |
| '<option value="Listed at 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'),
| |
| 'গন-অপসারণ'
| |
| );
| |
| });
| |
| //<nowiki> | | //<nowiki> |
| ( function () { | | ( function () { |