<link href="../fonts/font.css" rel="stylesheet" type="text/css">

<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fa">
		<id>https://wiki.imaroof.ir/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C%3AGadget-ImageDelete.js</id>
		<title>مدیاویکی:Gadget-ImageDelete.js - تاریخچهٔ ویرایش‌ها</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.imaroof.ir/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C%3AGadget-ImageDelete.js"/>
		<link rel="alternate" type="text/html" href="https://wiki.imaroof.ir/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-ImageDelete.js&amp;action=history"/>
		<updated>2026-08-02T06:21:25Z</updated>
		<subtitle>تاریخچهٔ ویرایش‌های این صفحه در ویکی</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://wiki.imaroof.ir/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-ImageDelete.js&amp;diff=318&amp;oldid=prev</id>
		<title>Admin: صفحه‌ای تازه حاوی «/**  * Immediate delete and move files for Image-reviewer group  *   * Author: User:Ebraminio  */ (function ($, mw) { 	'use strict';  	if (...» ایجاد کرد</title>
		<link rel="alternate" type="text/html" href="https://wiki.imaroof.ir/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-ImageDelete.js&amp;diff=318&amp;oldid=prev"/>
				<updated>2016-03-01T08:39:21Z</updated>
		
		<summary type="html">&lt;p&gt;صفحه‌ای تازه حاوی «‏&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;*  * Immediate delete and move files for Image-reviewer group  *   * Author: User:Ebraminio: &lt;/span&gt; (function ($, mw) { 	&amp;#039;use strict&amp;#039;;  	if (...» ایجاد کرد&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحهٔ تازه&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Immediate delete and move files for Image-reviewer group&lt;br /&gt;
 * &lt;br /&gt;
 * Author: User:Ebraminio&lt;br /&gt;
 */&lt;br /&gt;
(function ($, mw) {&lt;br /&gt;
	'use strict';&lt;br /&gt;
&lt;br /&gt;
	if (mw.config.get('wgNamespaceNumber') !== 6 ||&lt;br /&gt;
			mw.config.get('wgAction') !== 'view') {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	function imageDelete(dialog, file, reason, extra) {&lt;br /&gt;
		$.ajax({&lt;br /&gt;
			url: '//tools.wmflabs.org/fawikiauto/',&lt;br /&gt;
			data: {&lt;br /&gt;
				action: 'requestDeletion',&lt;br /&gt;
				file: file,&lt;br /&gt;
				reason: reason,&lt;br /&gt;
				extra: extra&lt;br /&gt;
			},&lt;br /&gt;
			dataType: 'json',&lt;br /&gt;
			xhrFields: { withCredentials: true }&lt;br /&gt;
		}).then(function (data) {&lt;br /&gt;
			if (data === null) {&lt;br /&gt;
				$('#imageReviewerDeleteDialog').text('خطای اساسی');&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			if (data.error) {&lt;br /&gt;
				$('#imageReviewerDeleteDialog').text('خطای ابزار: ' + data.error);&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			if (data.url) {&lt;br /&gt;
				$('#imageReviewerDeleteDialog').html($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
					style: 'font-size: 200%',&lt;br /&gt;
					href: '//' + data.url,&lt;br /&gt;
					text: 'خود را به ابزار بشناسانید!',&lt;br /&gt;
					target: '_blank'&lt;br /&gt;
				}).click(function () {&lt;br /&gt;
					$(dialog).dialog('close');&lt;br /&gt;
				}));&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			$(dialog).dialog('close');&lt;br /&gt;
			mw.notify('با تشکر، حذف با موفقیت انجام شد!');&lt;br /&gt;
			location.href = location.href;&lt;br /&gt;
		}, function (e) {&lt;br /&gt;
			$('#imageReviewerDeleteDialog').text('خطای ربات: ' + e);&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var deleteReasons = {&lt;br /&gt;
		F8: 'تصویر تکراری با تصویری در انبار (پیوند تصویر انبار را در زیر وارد کنید)',&lt;br /&gt;
		F1: 'تکراری (پیوند تصویر دیگر را در زیر وارد کنید)',&lt;br /&gt;
		F2: 'تصویر خراب',&lt;br /&gt;
		F4: 'حق تکثیر یا منبع نامعلوم',&lt;br /&gt;
		F5: 'تصویر منصفانه یتیم',&lt;br /&gt;
		F9: 'تصویر ناقض حق تکثیر (پیوند مستقیم تصویر را در زیر وارد کنید)'&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	function deleteDialog(e) {&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
		mw.util.addCSS(&amp;quot;#imageReviewerDeleteDialogMain * { font-family: Tahoma, 'Iranian Sans', 'DejaVu Sans', 'Noto Sans', 'Droid Arabic Kufi', sans-serif !important; } &amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		$('&amp;lt;div id=&amp;quot;imageReviewerDeleteDialog&amp;quot;&amp;gt;&amp;lt;select style=&amp;quot;width: 100%;&amp;quot; id=&amp;quot;imageReviewerDeleteSelect&amp;quot;&amp;gt;' +&lt;br /&gt;
				$.map(deleteReasons, function (desc, reason) { return '&amp;lt;option value=&amp;quot;' + reason + '&amp;quot;&amp;gt;' + desc + '&amp;lt;/option&amp;gt;'; }).join('\n') +&lt;br /&gt;
			'&amp;lt;/select&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;input id=&amp;quot;deleteReasonAdditional&amp;quot; style=&amp;quot;width: 70%&amp;quot; placeholder=&amp;quot;توضیح اضافی در صورت نیاز&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;'&lt;br /&gt;
			).dialog({&lt;br /&gt;
			title: 'حذف رباتیک تصویر (آزمایشی)',&lt;br /&gt;
			width: '40%',&lt;br /&gt;
			open: function () {&lt;br /&gt;
				var that = $(this);&lt;br /&gt;
				$.ajax({&lt;br /&gt;
					url: '//tools.wmflabs.org/fawikiauto/?action=identify',&lt;br /&gt;
					dataType: 'json',&lt;br /&gt;
					xhrFields: { withCredentials: true }&lt;br /&gt;
				}).then(function (data) {&lt;br /&gt;
					if (data.url) {&lt;br /&gt;
						$('#imageReviewerDeleteDialog').html($('&amp;lt;a&amp;gt;', {&lt;br /&gt;
							style: 'font-size: 200%',&lt;br /&gt;
							href: '//' + data.url,&lt;br /&gt;
							text: 'خود را به ابزار بشناسانید!',&lt;br /&gt;
							target: '_blank'&lt;br /&gt;
						}).click(function () {&lt;br /&gt;
							that.dialog('close');&lt;br /&gt;
						}));&lt;br /&gt;
						return;&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
				$(&amp;quot;#deleteReasonAdditional&amp;quot;).val($('.mw-imagepage-duplicates a[href^=&amp;quot;//commons&amp;quot;]:first()').text());&lt;br /&gt;
			},&lt;br /&gt;
			buttons: {&lt;br /&gt;
				'درخواست حذف': function () {&lt;br /&gt;
					$(&amp;quot;#imageReviewerDeleteDialogMain .ui-dialog-buttonpane&amp;quot;).hide();&lt;br /&gt;
					imageDelete(&lt;br /&gt;
						this,&lt;br /&gt;
						mw.config.get('wgTitle'),&lt;br /&gt;
						$('#imageReviewerDeleteSelect').val(),&lt;br /&gt;
						$('#deleteReasonAdditional').val()&lt;br /&gt;
					);&lt;br /&gt;
					&lt;br /&gt;
					$(&amp;quot;#imageReviewerDeleteDialogMain .ui-dialog-buttonpane&amp;quot;).hide();&lt;br /&gt;
					$('#imageReviewerDeleteDialog').html($('&amp;lt;center&amp;gt;').append($.createSpinner({&lt;br /&gt;
						size: 'large',&lt;br /&gt;
						type: 'block'&lt;br /&gt;
					})));&lt;br /&gt;
				}&lt;br /&gt;
			},&lt;br /&gt;
			close: function () {&lt;br /&gt;
				$(this).remove();&lt;br /&gt;
			}&lt;br /&gt;
		}).parent().prop('id', 'imageReviewerDeleteDialogMain');&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	var moveReasons = {&lt;br /&gt;
		M1: 'درخواست بارگذار',&lt;br /&gt;
		M2: 'تغییر نام‌های کاملاً بی‌معنی به نام‌های مناسب، بر طبق آن‌چه تصویر نشان می‌دهد',&lt;br /&gt;
		M3: 'تصحیح نام‌های گمراه‌کننده به نام‌های صحیحشان',&lt;br /&gt;
		M4: 'تغییر نام‌های گونه‌های زیست‌شناسی به نام‌های علمی دوبخشی',&lt;br /&gt;
		M5: 'تصحیح اشتباهات آشکار در نام پرونده‌ها',&lt;br /&gt;
		M6: 'هماهنگ کردن نام پرونده‌های مجموعه‌ای از تصاویر',&lt;br /&gt;
		M7: 'ابهام‌زدایی پرونده‌ها با نام‌های بیش از حد مشابه',&lt;br /&gt;
		M8: 'حذف نام‌های تحقیرآمیز، توهین‌آمیز یا بی‌ادبانه که برای توصیف پرونده مناسب نیستند',&lt;br /&gt;
		other: 'سایر دلایل'&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	// Token could be retrieved from mw.user.tokens but currently it doesn't have csrf explicitly&lt;br /&gt;
	var csrfToken;&lt;br /&gt;
	function getCsrfToken() {&lt;br /&gt;
		return new mw.Api().post({&lt;br /&gt;
			action: 'query',&lt;br /&gt;
			meta: 'tokens',&lt;br /&gt;
			format: 'json'&lt;br /&gt;
		}).then(function (data) {&lt;br /&gt;
			csrfToken = data.query.tokens.csrftoken;&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	function moveFile(from, to, reason) {&lt;br /&gt;
		return new mw.Api().post({&lt;br /&gt;
			reason: reason,&lt;br /&gt;
			action: 'move',&lt;br /&gt;
			from: from,&lt;br /&gt;
			to: to,&lt;br /&gt;
			token: csrfToken,&lt;br /&gt;
			movetalk: '',&lt;br /&gt;
			format: 'json'&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Image-reviewers doesn't have move without redirect right so doing it in another pass&lt;br /&gt;
	function deleteRedirect(title, reason) {&lt;br /&gt;
		return new mw.Api().post({&lt;br /&gt;
			action: 'delete',&lt;br /&gt;
			title: title,&lt;br /&gt;
			reason: reason,&lt;br /&gt;
			token: csrfToken&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	function moveDialog(e) {&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
		mw.util.addCSS(&amp;quot;#imageReviewerMoveDialogMain * { font-family: Tahoma, 'Iranian Sans', 'DejaVu Sans', 'Noto Sans', 'Droid Arabic Kufi', sans-serif !important; } &amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		$('&amp;lt;div id=&amp;quot;imageReviewerMoveDialog&amp;quot;&amp;gt;' +&lt;br /&gt;
				'&amp;lt;div&amp;gt;نام جدید: &amp;lt;input id=&amp;quot;newFileMove&amp;quot; style=&amp;quot;width: 70%&amp;quot; placeholder=&amp;quot;نام جدید برای پرونده&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;' +&lt;br /&gt;
				'&amp;lt;div&amp;gt;دلیل:&amp;lt;br&amp;gt;&amp;lt;select style=&amp;quot;width: 100%;&amp;quot; id=&amp;quot;imageReviewerMoveSelect&amp;quot;&amp;gt;' +&lt;br /&gt;
					$.map(moveReasons, function (desc, reason) { return '&amp;lt;option value=&amp;quot;' + reason + '&amp;quot;&amp;gt;' + desc + '&amp;lt;/option&amp;gt;'; }).join('\n') +&lt;br /&gt;
				'&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;' +&lt;br /&gt;
				'&amp;lt;div&amp;gt;&amp;lt;input id=&amp;quot;moveReason&amp;quot; style=&amp;quot;width: 70%&amp;quot; placeholder=&amp;quot;توضیح اضافی در صورت نیاز&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;' +&lt;br /&gt;
				'&amp;lt;div&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; checked=&amp;quot;checked&amp;quot; id=&amp;quot;moveBacklinks&amp;quot;&amp;gt; انتقال استفاده‌های در مقاله‌ها&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;' +&lt;br /&gt;
				'&amp;lt;div&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;moveDelete&amp;quot;&amp;gt;حذف تغییر مسیر پس از انتقال&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;' +&lt;br /&gt;
				'&amp;lt;div&amp;gt;* اگر نام جدید پرونده‌ای در ویکی‌انبار است بهتر است از ابزار حذف استفاده کنید.&amp;lt;/div&amp;gt;' +&lt;br /&gt;
				'&amp;lt;/div&amp;gt;').dialog({&lt;br /&gt;
			title: 'انتقال خودکار',&lt;br /&gt;
			width: '40%',&lt;br /&gt;
			open: function () {&lt;br /&gt;
				$(&amp;quot;#newFileMove&amp;quot;).val(mw.config.get('wgTitle'));&lt;br /&gt;
			},&lt;br /&gt;
			buttons: { 'انتقال': function () {&lt;br /&gt;
				var that = $(this);&lt;br /&gt;
				$(&amp;quot;#imageReviewerMoveDialogMain .ui-dialog-buttonpane&amp;quot;).hide();&lt;br /&gt;
				$('#imageReviewerMoveDialog *').hide();&lt;br /&gt;
				$('#imageReviewerMoveDialog').append($('&amp;lt;center&amp;gt;').append($.createSpinner({&lt;br /&gt;
					size: 'large',&lt;br /&gt;
					type: 'block'&lt;br /&gt;
				})).append('&amp;lt;div&amp;gt;', { id: 'movestatus' }));&lt;br /&gt;
				var reason = $('#moveReason').val();&lt;br /&gt;
				if ($('#imageReviewerMoveSelect').val() !== 'other') {&lt;br /&gt;
					reason = moveReasons[$('#imageReviewerMoveSelect').val()];&lt;br /&gt;
					if ($('#moveReason').val() !== '') {&lt;br /&gt;
						reason = reason + ': ' + $('#moveReason').val();&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				var newName = $('#newFileMove').val().replace(/^(File:|پرونده:|Image:|تصویر:)/g, '');&lt;br /&gt;
				$('#movestatus').text('گرفتن توکن');&lt;br /&gt;
				getCsrfToken().then(function () {&lt;br /&gt;
					$('#movestatus').text('انتقال پرونده');&lt;br /&gt;
					return moveFile('پرونده:' + mw.config.get('wgTitle'), 'پرونده:' + newName, reason);&lt;br /&gt;
				}).then(function () {&lt;br /&gt;
					if ($(&amp;quot;#moveBacklinks&amp;quot;).val() !== &amp;quot;on&amp;quot;) { return; }&lt;br /&gt;
					$('#movestatus').text('ویرایش صفحه‌های استفاده‌شده');&lt;br /&gt;
					return mw.libs.globalReplace(&lt;br /&gt;
						mw.config.get('wgTitle'),&lt;br /&gt;
						newName,&lt;br /&gt;
						'تغییر نام',&lt;br /&gt;
						reason&lt;br /&gt;
					);&lt;br /&gt;
				}).then(function () {&lt;br /&gt;
					if ($(&amp;quot;#moveDelete&amp;quot;).val() !== &amp;quot;on&amp;quot;) { return; }&lt;br /&gt;
					$('#movestatus').text('حذف تغییرمسیر');&lt;br /&gt;
					return deleteRedirect('پرونده:' + mw.config.get('wgTitle'), reason);&lt;br /&gt;
				}).then(function () {&lt;br /&gt;
					that.dialog('close');&lt;br /&gt;
					mw.notify('انتقال موفقیت‌آمیز بود، ویرایش‌هایتان را بررسی کنید.');&lt;br /&gt;
					location.href = mw.util.getUrl('ویژه:مشارکت‌ها/' + mw.config.get('wgUserName'));&lt;br /&gt;
				}, function () {&lt;br /&gt;
					that.dialog('close');&lt;br /&gt;
					mw.notify('انتقال به دلایلی موفقیت‌آمیر نبود.');&lt;br /&gt;
					location.href = mw.util.getUrl('ویژه:مشارکت‌ها/' + mw.config.get('wgUserName'));&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		}, close: function () {&lt;br /&gt;
			$(this).remove();&lt;br /&gt;
		} }).parent().prop('id', 'imageReviewerMoveDialogMain');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$.when($.ready, mw.loader.using(['jquery.ui.dialog', 'jquery.spinner', 'ext.gadget.libGlobalReplace'])).then(function () {&lt;br /&gt;
		if (mw.config.get('wgNamespaceNumber') !== 6 ||&lt;br /&gt;
				mw.config.get('wgAction') !== 'view' ||&lt;br /&gt;
				$('#ca-view-foreign, #mw-imagepage-nofile').length !== 0) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		$('#ca-imagedelete, #ca-imagemove, #ca-move').remove();&lt;br /&gt;
		$(mw.util.addPortletLink('p-cactions', '#', 'حذف رباتیک', 'ca-imagedelete', 'درخواست حذف خودکار تصویر، ویژهٔ بازبینان تصاویر و مدیران'))&lt;br /&gt;
			.click(deleteDialog);&lt;br /&gt;
		$(mw.util.addPortletLink('p-cactions', '#', 'انتقال خودکار', 'ca-imagemove', 'انتقال خودکار')).click(moveDialog);&lt;br /&gt;
	});&lt;br /&gt;
}(jQuery, mediaWiki));&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>