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

Gadget-twinkleimage-2020.js

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

// (function($) { /* **************************************** *** twinkleimage.js: Image CSD module **************************************** * Mode of invocation: Tab ("DI") * Active on: Local nonredirect file pages (not on Commons) */ Twinkle.image = function twinkleimage() { if (mw.config.get('wgNamespaceNumber') === 6 && mw.config.get('wgArticleId') && !document.getElementById('mw-sharedupload') && !Morebits.wiki.isPageRedirect()) { Twinkle.addPortletLink(Twinkle.image.callback, 'تصاویر', 'tw-di', 'نامزد کردن تصاویر برای حذف سریع با تأخیر'); // localized } }; Twinkle.image.callback = function twinkleimageCallback() { var Window = new Morebits.simpleWindow(600, 330); Window.setTitle('نامزد کردن برای حذف سریع با تأخیر'); // localized Window.setScriptName('توینکل'); // localized Window.addFooterLink('سیاست حذف سریع', 'وپ:محس#پرونده‌ها'); // localized Window.addFooterLink('راهنمای توینکل', 'en:WP:TW/DOC#image'); // localized var form = new Morebits.quickForm(Twinkle.image.callback.evaluate); form.append({ type: 'checkbox', list: [ { label: 'آگاه‌سازی بارگذار اصلی', value: 'notify', name: 'notify', tooltip: "اگر می‌خواهید چندین تصویری که یک کاربر بارگذاری کرده را نامزد کنید، این گزینه را غیرفعال کنید تا صفحهٔ بحث‌شان بر اثر تعدد پیام‌ها شلوغ نشود.", // localized checked: Twinkle.getPref('notifyUserOnDeli') } ] } ); var field = form.append({ type: 'field', label: 'نوع کنش مورد نیاز' // localized }); field.append({ type: 'radio', name: 'type', event: Twinkle.image.callback.choice, list: [ { label: 'بدون منبع (محس پ۴)', // localized value: 'no source', checked: true, tooltip: 'تصویر یا پروندهٔ بدون منبع' // localized }, { label: 'بدون مجوز (محس پ۴)', // localized value: 'no license', tooltip: 'تصویر یا پرونده فاقد اطلاعات در مورد وضعیت حق تکثیر' // localized }, { label: 'بدون منبع و بدون مجوز (محس پ۴)', // localized value: 'no source no license', tooltip: 'تصویر یا پرونده‌ای که نه اطلاعاتی راجع به منبع دارد و نه راجع به وضعیت حق تکثیر' // localized }, { label: 'استفادهٔ منصفانهٔ یتیم (محس پ۵)', // localized value: 'orphaned fair use', tooltip: 'تصویر یا پرونده‌ای که برای استفادهٔ منصفانه در ویکی‌پدیا بارگذاری شده‌است اما در هیچ مقاله‌ای استفاده نمی‌شود' // localized }, { label: 'فاقد توضیح در مورد استفادهٔ منصفانه (محس پ۶)', // localized value: 'no fair use rationale', tooltip: 'تصویر یا پرونده برای استفادهٔ منصفانه در ویکی‌پدیا بارگذاری شده‌است اما توضیحی داده نشده که چرا شرایط استفادهٔ منصفانه را داراست' // localized }, { label: 'ادعای نادرست در مورد استفادهٔ منصفانه (محس پ۷)', // localized value: 'disputed fair use rationale', tooltip: 'تصویر یا پرونده‌ای که استدلال ارائه شده برای استفادهٔ منصفانه از آن به چالش کشیده شده‌است' // localized }, { label: 'استفادهٔ منصفانه قابل جایگزینی (محس پ۷)', // localized value: 'replaceable fair use', tooltip: 'تصویر یا پرونده‌ای که شرط اول استفادهٔ منصفانه برایش صادق نیست، یعنی موضوعی را نمایش می‌دهد که برایش پروندهٔ آزاد قابل تهیه است' // localized }, { label: 'بدون مدرک در مورد مجوز (محس پ۱۱)', // localized value: 'no permission', tooltip: 'تصویر یا پرونده‌ای که مستندات کافی برای آن‌که نشان دهد خالق اثر اجازهٔ استفاده از آن را داده‌است، موجود نیست' // localized } ] }); form.append({ type: 'div', label: 'Work area', name: 'work_area' }); form.append({ type: 'submit' }); var result = form.render(); Window.setContent(result); Window.display(); // We must init the parameters var evt = document.createEvent('Event'); evt.initEvent('change', true, true); result.type[0].dispatchEvent(evt); }; Twinkle.image.callback.choice = function twinkleimageCallbackChoose(event) { var value = event.target.values; var root = event.target.form; var work_area = new Morebits.quickForm.element({ type: 'div', name: 'work_area' }); switch (value) { case 'no source no license': case 'no source': work_area.append({ type: 'checkbox', name: 'non_free', list: [ { label: 'غیر آزاد', // localized tooltip: 'پرونده با ادعای استفادهٔ منصفانه بارگذاری شده‌است' // localized } ] }); /* falls through */ case 'no license': work_area.append({ type: 'checkbox', name: 'derivative', list: [ { label: 'تصویر اشتقاقی که منبع اثر اصلی برای ذکر نشده‌است', // localized tooltip: 'پرونده از اشتقاق یک یا چند اثر دیگر حاصل شده‌است و منبع آن آثار مشخص نشده‌است' // localized } ] }); break; case 'no permission': work_area.append({ type: 'input', name: 'source', label: 'منبع: ' // localized }); break; case 'disputed fair use rationale': work_area.append({ type: 'textarea', name: 'reason', label: 'اشکال: ' // localized }); break; case 'orphaned fair use': work_area.append({ type: 'input', name: 'replacement', label: 'جایگزین: ', // localized tooltip: 'Optional file that replaces this one. The "File:" prefix is optional.' }); break; case 'replaceable fair use': work_area.append({ type: 'textarea', name: 'reason', label: 'دلیل: ' // localized }); break; default: break; } root.replaceChild(work_area.render(), $(root).find('div[name="work_area"]')[0]); }; Twinkle.image.callback.evaluate = function twinkleimageCallbackEvaluate(event) { var type, non_free, source, reason, replacement, derivative; var notify = event.target.notify.checked; var types = event.target.type; for (var i = 0; i < types.length; ++i) { if (types[i].checked) { type = types[i].values; break; } } if (event.target.non_free) { non_free = event.target.non_free.checked; } if (event.target.source) { source = event.target.source.value; } if (event.target.reason) { reason = event.target.reason.value; } if (event.target.replacement && event.target.replacement.value.trim()) { replacement = event.target.replacement.value; replacement = /^\s*(Image|File):/i.test(replacement) ? replacement : 'File:' + replacement; } if (event.target.derivative) { derivative = event.target.derivative.checked; } var csdcrit; switch (type) { case 'no source no license': case 'no source': case 'no license': csdcrit = 'پ۴'; // localized break; case 'orphaned fair use': csdcrit = 'پ۵'; // localized break; case 'no fair use rationale': csdcrit = 'پ۶'; // localized break; case 'disputed fair use rationale': case 'replaceable fair use': csdcrit = 'پ۷'; // localized break; case 'no permission': csdcrit = 'پ۱۱'; // localized break; default: throw new Error('Twinkle.image.callback.evaluate: unknown criterion'); } var lognomination = Twinkle.getPref('logSpeedyNominations') && Twinkle.getPref('noLogOnSpeedyNomination').indexOf(csdcrit.toLowerCase()) === -1; var templatename = derivative ? 'dw ' + type : type; var params = { 'type': type, 'templatename': templatename, 'normalized': csdcrit, 'non_free': non_free, 'source': source, 'reason': reason, 'replacement': replacement, 'lognomination': lognomination }; Morebits.simpleWindow.setButtonsEnabled(false); Morebits.status.init(event.target); Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName'); Morebits.wiki.actionCompleted.notice = 'برچسب زدن کامل شد'; // localized // Tagging image var wikipedia_page = new Morebits.wiki.page(mw.config.get('wgPageName'), 'افزودن برچسب حذف به پرونده'); // localized wikipedia_page.setCallbackParameters(params); wikipedia_page.load(Twinkle.image.callbacks.taggingImage); // Notifying uploader if (notify) { wikipedia_page.lookupCreation(Twinkle.image.callbacks.userNotification); } else { // add to CSD log if desired if (lognomination) { params.fromDI = true; Twinkle.speedy.callbacks.user.addToLog(params, null); } // No auto-notification, display what was going to be added. var noteData = document.createElement('pre'); noteData.appendChild(document.createTextNode('{{subst:di-' + templatename + '-notice|1=' + mw.config.get('wgTitle') + '}} ~~~~')); Morebits.status.info('آگاه‌سازی', [ 'این اطلاعات یا مشابه آن باید به بارگذار اصلی پرونده فرستاده شود:', document.createElement('br'), noteData ]); // localized } }; Twinkle.image.callbacks = { taggingImage: function(pageobj) { var text = pageobj.getPageText(); var params = pageobj.getCallbackParameters(); // remove "move to Commons" tag - deletion-tagged files cannot be moved to Commons text = text.replace(/\{\{(mtc|(copy |move )?to ?commons|move to wikimedia commons|copy to wikimedia commons)[^}]*\}\}/gi, ''); var tag = '{{di-' + params.templatename + '|date={{subst:#time:j F Y||en}}'; switch (params.type) { case 'no source no license': case 'no source': tag += params.non_free ? '|non-free=yes' : ''; break; case 'no permission': tag += params.source ? '|source=' + params.source : ''; break; case 'disputed fair use rationale': tag += params.reason ? '|concern=' + params.reason : ''; break; case 'orphaned fair use': tag += params.replacement ? '|replacement=' + params.replacement : ''; break; case 'replaceable fair use': tag += params.reason ? '|1=' + params.reason : ''; break; default: break; // doesn't matter } tag += '|help=off}}\n'; pageobj.setPageText(tag + text); pageobj.setEditSummary('این پرونده طبق [[وپ:محس#' + params.normalized + '|مسح ' + params.normalized + ']] نامزد حذف شده‌است (' + params.type + ').' + Twinkle.getPref('summaryAd')); // localized switch (Twinkle.getPref('deliWatchPage')) { case 'yes': pageobj.setWatchlist(true); break; case 'no': pageobj.setWatchlistFromPreferences(false); break; default: pageobj.setWatchlistFromPreferences(true); break; } pageobj.setCreateOption('nocreate'); pageobj.save(); }, userNotification: function(pageobj) { var params = pageobj.getCallbackParameters(); var initialContrib = pageobj.getCreator(); // disallow warning yourself if (initialContrib === mw.config.get('wgUserName')) { pageobj.getStatusElement().warn('این پرونده را شما (' + initialContrib + ') ایجاد کرده‌اید؛ از آگاه‌سازی صرف نظر شد'); // localized } else { var usertalkpage = new Morebits.wiki.page('User talk:' + initialContrib, 'آگاه‌سازی بارگذار اصلی (' + initialContrib + ')'); // localized var notifytext = '\n{{subst:di-' + params.templatename + '-notice|1=' + mw.config.get('wgTitle'); if (params.type === 'no permission') { notifytext += params.source ? '|source=' + params.source : ''; } notifytext += '}} ~~~~'; usertalkpage.setAppendText(notifytext); usertalkpage.setEditSummary('آگاه‌سازی: برچسب زدن برای حذف [[:' + Morebits.pageNameNorm + ']].' + Twinkle.getPref('summaryAd')); // localized usertalkpage.setCreateOption('recreate'); switch (Twinkle.getPref('deliWatchUser')) { case 'yes': usertalkpage.setWatchlist(true); break; case 'no': usertalkpage.setWatchlistFromPreferences(false); break; default: usertalkpage.setWatchlistFromPreferences(true); break; } usertalkpage.setFollowRedirect(true); usertalkpage.append(); } // add this nomination to the user's userspace log, if the user has enabled it if (params.lognomination) { params.fromDI = true; Twinkle.speedy.callbacks.user.addToLog(params, initialContrib); } } }; })(jQuery); //


This article "Gadget-twinkleimage-2020.js" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Gadget-twinkleimage-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[ویرایش]