You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Gadget-twinkledeprod-2020.js

از EverybodyWiki Bios & Wiki
پرش به:ناوبری، جستجو

// (function($) { /* **************************************** *** twinkledeprod.js: Batch deletion of expired PRODs (sysops only) **************************************** * Mode of invocation: Tab ("Deprod") * Active on: Categories whose name contains "proposed_deletion" */ Twinkle.deprod = function() { if ( !Morebits.userIsSysop || mw.config.get('wgNamespaceNumber') !== 14 || !(/حذف_زمان‌دار/i).test(mw.config.get('wgPageName')) // localized ) { return; } Twinkle.addPortletLink(Twinkle.deprod.callback, 'حذف زماندار دسته‌جمعی', 'tw-deprod', 'صفحه‌های ایجاد شده در این رده را حذف زماندار کنید'); // localized }; var concerns = {}; Twinkle.deprod.callback = function() { var Window = new Morebits.simpleWindow(800, 400); Window.setTitle('انجام حذف زماندار'); // localized Window.setScriptName('توینکل'); // localized Window.addFooterLink('حذف زماندار', 'وپ:زماندار'); // localized Window.addFooterLink('راهنمای توینکل', 'en:WP:TW/DOC#deprod'); // localized var form = new Morebits.quickForm(callback_commit); var statusdiv = document.createElement('div'); statusdiv.style.padding = '15px'; // just so it doesn't look broken Window.setContent(statusdiv); Morebits.status.init(statusdiv); Window.display(); var query = { 'action': 'query', 'generator': 'categorymembers', 'gcmtitle': mw.config.get('wgPageName'), 'gcmlimit': 'max', // 500 is max for normal users, 5000 for bots and sysops 'gcmnamespace': '0|6|108|2', // mostly to ignore categories 'prop': [ 'info', 'revisions' ], 'rvprop': [ 'content' ], 'inprop': [ 'protection' ] }; var statelem = new Morebits.status('گرفتن فهرست صفحه‌ها'); // localized var wikipedia_api = new Morebits.wiki.api('در حال بارگیری...', query, function(apiobj) { // localized var $doc = $(apiobj.responseXML); var $pages = $doc.find('page[ns!="6"]'); // all non-files var list = []; var re = /\{\{حذف زماندار/; // localized $pages.each(function() { var $page = $(this); var title = $page.attr('title'); var content = $page.find('revisions rev').text(); var $editprot = $page.find('pr[type="edit"][level="sysop"]'); var isProtected = $editprot.length > 0; var metadata = []; var res = re.exec(content); if (res) { var parsed = Morebits.wikitext.template.parse(content, res.index); concerns[title] = parsed.parameters['اهمیت'] || ''; // localized metadata.push(concerns[title]); } if (isProtected) { metadata.push('محافظت کامل' + // localized ($editprot.attr('expiry') === 'infinity' ? ' بی‌پایان' : '، انقضا در ' + $editprot.attr('expiry'))); // localized } list.push({ label: metadata.length ? '(' + metadata.join('; ') + ')' : '', value: title, checked: concerns[title] !== '', style: isProtected ? 'color:red' : '' }); }); apiobj.params.form.append({ type: 'header', label: 'صفحه‌ها برای حذف' }); // localized apiobj.params.form.append({ type: 'button', label: 'انتخاب همه', // localized event: function(e) { $(Morebits.quickForm.getElements(e.target.form, 'pages')).prop('checked', true); } }); apiobj.params.form.append({ type: 'button', label: 'انتخاب هیچ‌کدام', // localized event: function(e) { $(Morebits.quickForm.getElements(e.target.form, 'pages')).prop('checked', false); } }); apiobj.params.form.append({ 'type': 'checkbox', 'name': 'pages', 'list': list }); apiobj.params.form.append({ 'type': 'submit' }); var rendered = apiobj.params.form.render(); apiobj.params.Window.setContent(rendered); $(Morebits.quickForm.getElements(rendered, 'pages')).each(function(index, checkbox) { var $checkbox = $(checkbox); var link = Morebits.htmlNode('a', $checkbox.val()); link.setAttribute('class', 'deprod-page-link'); link.setAttribute('href', mw.util.getUrl($checkbox.val())); link.setAttribute('target', '_blank'); $checkbox.next().prepend([link, ' ']); }); }, statelem); wikipedia_api.params = { form: form, Window: Window }; wikipedia_api.post(); }; var callback_commit = function(event) { var pages = event.target.getChecked('pages'); Morebits.status.init(event.target); var batchOperation = new Morebits.batchOperation('حذف صفحه‌ها'); // localized batchOperation.setOption('chunkSize', Twinkle.getPref('proddeleteChunks')); batchOperation.setOption('preserveIndividualStatusLines', true); batchOperation.setPageList(pages); batchOperation.run(function(pageName) { var params = { page: pageName, reason: concerns[page] }; var query = { 'action': 'query', 'titles': pageName, 'prop': 'redirects', 'rdlimit': 'max' // 500 is max for normal users, 5000 for bots and sysops }; var wikipedia_api = new Morebits.wiki.api('دریافت تغییرمسیرها', query, callback_deleteRedirects); // localized wikipedia_api.params = params; wikipedia_api.post(); query = { 'action': 'query', 'titles': 'Talk:' + pageName }; wikipedia_api = new Morebits.wiki.api('بررسی این که ' + pageName + ' صفحهٔ بحث دارد یا نه', query, // localized callback_deleteTalk); wikipedia_api.params = params; wikipedia_api.post(); var page = new Morebits.wiki.page(pageName, 'در حال حذف مقاله‌ها ' + pageName); // localized page.setEditSummary('سرآمدن [[ویکی‌پدیا:حذف زمان‌دار|حذف زمان‌دار]]، مشکل صفحه: ' + (concerns[pageName] === undefined ? 'نامشخص' : concerns[pageName]) + Twinkle.getPref('deletionSummaryAd')); // localized page.suppressProtectWarning(); page.deletePage(batchOperation.workerSuccess, batchOperation.workerFailure); }); }, callback_deleteTalk = function(apiobj) { var $doc = $(apiobj.responseXML); var exists = $doc.find('page:not([missing])').length > 0; if (!exists) { // no talk page; forget about it return; } var page = new Morebits.wiki.page('Talk:' + apiobj.params.page, 'حذف صفحهٔ بحث ' + apiobj.params.page); // localized page.setEditSummary('[[وپ:محس#ع۸|ع۸]]: [[راهنما:صفحه بحث|صفحهٔ بحث]] صفحهٔ حذف شده «' + apiobj.params.page + '»' + Twinkle.getPref('deletionSummaryAd')); // localized page.deletePage(); }, callback_deleteRedirects = function(apiobj) { var $doc = $(apiobj.responseXML); $doc.find('redirects rd').each(function() { var title = $(this).attr('title'); var page = new Morebits.wiki.page(title, 'حذف تغییر مسیر صفحه ' + title); // localized page.setEditSummary('[[وپ:محس#ع۸|ع۸]]: تغییر مسیر به صفحهٔ حذف شده «' + apiobj.params.page + '»' + Twinkle.getPref('deletionSummaryAd')); // localized page.deletePage(); }); }; })(jQuery); //


This article "Gadget-twinkledeprod-2020.js" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Gadget-twinkledeprod-2020.js. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[ویرایش]