مدیاویکی:Gadget-AfD.js
نسخهٔ تاریخ ۱ ژوئیهٔ ۲۰۱۴، ساعت ۰۶:۲۸ توسط Rostamfarokhzad (گفتگو | مشارکتها) (صفحهای جدید حاوی «←jslint indent: 2, browser: true: ←global jQuery, mediaWiki, persianWikiTools, alert: var kiiir = ''; function ConvertYearToFarsi(year)...» ایجاد کرد)
نکته: پس از ذخیره کردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- اینترنت اکسپلورر: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
- اپرا: بروید به Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/*jslint indent: 2, browser: true*/ /*global jQuery, mediaWiki, persianWikiTools, alert*/ var kiiir = ''; function ConvertYearToFarsi(year) { var i = 0; for (i = 0; i <= 9; i = i + 1) { year = year.replace(new RegExp('[' + '0123456789' [i] + ']', 'g'), '۰۱۲۳۴۵۶۷۸۹' [i]); } return year } function ConvertMonthToFarsi(month) { if (month == 'January') { return 'ژانویه' }; if (month == 'February') { return 'فوریه' }; if (month == 'March') { return 'مارس' }; if (month == 'April') { return 'آوریل' }; if (month == 'May') { return 'مه' }; if (month == 'June') { return 'ژوئن' }; if (month == 'July') { return 'ژوئیه' }; if (month == 'August') { return 'اوت' }; if (month == 'September') { return 'سپتامبر' }; if (month == 'October') { return 'اکتبر' }; if (month == 'November') { return 'نوامبر' }; if (month == 'December') { return 'دسامبر' }; } function creationdate(title) { mw.loader.using( 'mediawiki.api', function () { ( new mw.Api() ).get( { action: 'query', prop: 'revisions', titles: title, rvprop: 'timestamp', rvdir: 'newer', format: 'json', rvlimit: '1', } ).done(function ( data ) { kiiir = data["query"]["pages"][Object.keys(data["query"]["pages"])]["revisions"][0]["timestamp"]; }); } ); } function ArchiveMonth() { var ArchiveMonthLink = ''; var crdate = new Date(kiiir); var ArchiveMonthLink = ConvertMonthToFarsi(crdate.getUTCMonthName()) + ' ' + ConvertYearToFarsi(String(crdate.getUTCFullYear())); return ArchiveMonthLink; } (function ($, mw) { 'use strict'; function loadPage(title, callback) { new mw.Api().get({ action: 'query', prop: 'revisions', titles: title, rvprop: 'content', format: 'json' }).done(function (data) { try { callback($.map(data.query.pages, function (value) { return value; })[0].revisions[0]['*']); } catch (exception) { callback('');} }).fail(function (data) { callback($.map(data.query.pages, function (value) { return value; })[0].revisions[0]); }); } function savePage(title, text, summary, callback) { new mw.Api().post({ action: 'edit', title: title, text: text, summary: summary, minor: '', token: mw.user.tokens.get('editToken') }).done(function (data) { if (data.error && data.error.info) { mw.notify(data.error.info); } else { callback(); } }).fail(function (data) { mw.notify(data); }); } function ClosePage(text, comment) { text = '{{آغاز بایگانی حذف}}\n\n' + comment + ' ~~' + '~~\n' + text + '\n{{پایان بایگانی حذف}}'; mw.notify('نظرخواهی بسته شد!'); return text; } function CloseTalkPage(text,article_name, comment) { text = '{{پیشینه حذف| تاریخ =~~' + '~~' + '~| نتیجه =' + comment + ' | صفحه =' + article_name.replace(/\_/g, ' ') + ' |کوچک=}}' + text; mw.notify('الگو پیشینه حذف به بحث صفحه افزوده شد!'); return text; } function ArchivePage(text, pagelink, comment) { text = text + '\n* [[' + pagelink.replace(/\_/g, ' ') + ']] -- ' + comment + ' ~~' + '~~' mw.notify('بایگانی بهروز شد.'); return text; } function RemoveLink(text, pagelink) { var text2 = text; pagelink = pagelink.replace(/\_/g, ' '); text = text.replace('{{' + pagelink + '}}\n', '') if (text2 == text) { mw.notify('توجه:برداشتن نظرخواهی از وپ:نبح با خطا مواجه شد!') } else { mw.notify('نظرخواهی از وپ:نبح برداشته شد!') } return text; } function RemoveTemplate(text, pagelink) { var text2 = text; text = text.replace(/\<!--(.+?)--\>\n*{{پیشنهاد حذف۲(.+?)\n*\<!--(.+?)--\>/g, ''); if (text2 == text) { mw.notify('توجه:برداشتن الگو از مقاله با مشکل مواجه شد!'); } else { mw.notify('الگو پیشنهاد حذف از صفحه برداشته شد!'); } text=text.trim() return text; } function loadSavePageRefresh(page, replaceCallback, summary) { loadPage(page, function (text) { savePage(page, replaceCallback(text), summary, function () { //window.location = mw.util.wikiGetlink(page) + '?action=purge'; }); }); } function DeletePageRefresh(page, summary) { deltok(function (deltokk) { deletePage(page, summary, deltokk, function () { }); }); } function deltok(callback) { new mw.Api().post({ action: 'tokens', type: 'delete' }).done(function (data) { if (data.error && data.error.info) { mw.notify(data.error.info); } else { callback(data.tokens.deletetoken); } }).fail(function (data) { mw.notify(data); }); } function deletePage(title, summary, deltokk, callback) { new mw.Api().post({ action: 'delete', title: title, summary: summary, token: deltokk, }).done(function (data) { if (data.error && data.error.info) { mw.notify(data.error.info); } else { mw.notify('مقاله حذف شد!'); } }).fail(function (data) { mw.notify(data); }); } if (mw.config.get('wgAction') === 'view' && (wgPageName.search("نظرخواهی_برای_حذف/") > -1)) { $(function () { $(mw.util.addPortletLink('p-views', '#', 'جمعبندی', 'ca-afd', 'ابزار جمعبندی')) .click(function (e) { e.preventDefault(); var comment = prompt('لطفاً نتیجه جمعبندی را با عبارتهای «بماند» یا «حذف شود» یا «ادغام شود» اعلام نمائید.'); if (comment) { var OurPage = mw.config.get('wgPageName'); var article_name = mw.config.get('wgPageName'); article_name = article_name.replace("ویکیپدیا:نظرخواهی_برای_حذف/", "") //Closing The RFD page creationdate(OurPage) loadSavePageRefresh(OurPage, function (text) { return ClosePage(text, comment); }, 'بستن نظرخواهی [[وپ:نبح]] ([[مدیاویکی:Gadget-AfD.js|ابزار جمعبندی]])' ); if (comment.search("حذف شود") == -1) { if (article_name.search("کاربر:") > -1 || article_name.search("الگو:") > -1 || article_name.search("رده:") > -1 || article_name.search("ویکیپدیا:") > -1|| article_name.search("درگاه:") > -1 || article_name.search("راهنما:") > -1 ) { var TalkLink = 'بحث '; } else { var TalkLink = 'بحث:'; } loadSavePageRefresh(TalkLink + article_name, function (text) { return CloseTalkPage(text, OurPage, comment); }, 'افزودن [[الگو:پیشینه حذف]] به بحث صفحه ([[مدیاویکی:Gadget-AfD.js|ابزار جمعبندی]])' ); } //Archiving the RFD link setTimeout(function(){ loadSavePageRefresh('ویکیپدیا:نظرخواهی_برای_حذف/بایگانی/' + ArchiveMonth(), function (text) { return ArchivePage(text, OurPage, comment); }, 'بایگانی نظرخواهی [[وپ:نبح]] ([[مدیاویکی:Gadget-AfD.js|ابزار جمعبندی]])' ); },3000); //Remove RFD link form wp:RFD loadSavePageRefresh('ویکیپدیا:نظرخواهی_برای_حذف', function (text) { return RemoveLink(text, OurPage); }, 'حذف نظرخواهی از [[وپ:نبح]] ([[مدیاویکی:Gadget-AfD.js|ابزار جمعبندی]])' ); if (comment.search("حذف شود") > -1) { //Deleting the Articel //var wikipedia_page = new Wikipedia.page(article_name, "حذف "); //wikipedia_page.setFollowRedirect(true); //wikipedia_page.setEditSummary('حذف صفحه بر اساس [[' + OurPage + '|نظرخواهی برای حذف]] ([[مدیاویکی:Gadget-AfD.js|ابزار جمعبندی]])'); //wikipedia_page.deletePage(); //mw.notify('مقاله حذف شد!'); DeletePageRefresh(article_name, 'حذف صفحه بر اساس [[' + OurPage + '|نظرخواهی برای حذف]] ([[مدیاویکی:Gadget-AfD.js|ابزار جمعبندی]])' ); } else { //Removing RFD template from article loadSavePageRefresh(article_name, function (text) { return RemoveTemplate(text, article_name); }, 'حذف [[الگو:پیشنهاد حذف]] از مقاله ([[مدیاویکی:Gadget-AfD.js|ابزار جمعبندی]])' ); } //mw.notify('جمع بندی با موفقیت انجام پذیرفت'); } }) .insertBefore('#ca-view'); }); } }(jQuery, mediaWiki));