مدیاویکی:Gadget-RedirectMaker.js: تفاوت میان نسخه‌ها

از ویکی پاسخ
(صفحه‌ای تازه حاوی «(function ($, mw) { $(mw.util.addPortletLink( 'p-tb', '//fa.wikipasokh.com/view/%D9%88%DB%8C%DA%98%D9%87:%D8%B5%D9%81%D8%AD%D9%87%D9%9...» ایجاد کرد)
 
بدون خلاصۀ ویرایش
خط ۱: خط ۱:
// <nowiki> // DO NOT REMOVE THIS LINE EVER
/*jslint browser: true, white: true*/
/*global mediaWiki, jQuery*/
/*!
* @author User:Ebraminio, User:Yamaha5
*/
(function ($, mw) {
(function ($, mw) {
$(mw.util.addPortletLink(
'use strict';
'p-tb',
'//fa.wikipasokh.com/view/%D9%88%DB%8C%DA%98%D9%87:%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%AE%D8%A7%D9%84%DB%8C/tofawiki-conosle?withJS=MediaWiki:TofawikiConsole.js#redirectmaker|' + encodeURI(mw.config.get('wgPageName').replace(/_/g, ' ')),
function createPage(title, text, summary, callback) {
'تغییرمسیر\u200cساز',
return new mw.Api().post({
't-redirectmaker',
action: 'edit',
'ایجاد تغییرمسیر به صورت خودکار'
title: title,
)).attr('target', '_blank');
text: text,
summary: summary,
createonly: '',
minor: '',
token: mw.user.tokens.get('csrfToken')
}).then(
function (data) {
if (data.error && data.error.info) {
mw.notify(title + ' انجام نشد: ' + data.error.info);
} else {
callback();
}
return data;
},
function (data) {
mw.notify(title + ' انجام نشد: ' + data);
return data;
}
);
}
function startRedirect(redirect, dest) {
return createPage(
redirect,
'#تغییرمسیر [[' + dest + ']]',
'ایجاد تغییرمسیر برای [[' + dest + ']] (ابزار تغییرمسیرساز)',
function () {
mw.notify('ساخت ' + redirect + ' با موفقیت انجام شد.');
}
);
}
function init(e) {
e.preventDefault();
$('<div>' +
'<div style="width: 40em">درخواست\u200cهای ساخت تغییرمسیرها را در خطوط جداگانه وارد کنید:</div>' +
'<textarea style="width: 100%; background-color: white;" placeholder="تغییرمسیر۱@صفحه مقصد۱" id="redirectmakerinput" rows="7"></textarea>' +
'</div>'
).dialog({
modal: true,
width: 700,
buttons: [{
id: 'redirectmaker-button-import',
text: 'ساخت تغییرمسیر',
click: function () {
var formInput = $('#redirectmakerinput').val();
if (formInput === '') { mw.notify('لطفاً فرم درخواست را به درستی پر کنید'); return; }
$.when.apply(null, $.map(formInput.split('\n'), function (x) {
var req = x.split('@');
if (req.length !== 2) { return; }
return startRedirect(req[0], req[1]);
})).then(function () {
mw.notify('ساخت تغییرمسیرها\u200cها به پایان رسید، لطفاً بررسی کنید.');
window.location = '/wiki/Special:Contributions/' + mw.config.get('wgUserName');
});
}
}]
});
}
$(function () {
mw.util.addCSS('#t-redirectmaker { font-weight: bold; }');
$(mw.util.addPortletLink('p-tb', '#', 'تغییرمسیر\u200cساز', 't-redirectmaker', 'ساخت تغییرمسیر به صورت خودکار')).click(init);
});
}(jQuery, mediaWiki));
}(jQuery, mediaWiki));

نسخهٔ ‏۴ اکتبر ۲۰۲۰، ساعت ۱۶:۲۴

// <nowiki> // DO NOT REMOVE THIS LINE EVER
/*jslint browser: true, white: true*/
/*global mediaWiki, jQuery*/
/*!
 * @author User:Ebraminio, User:Yamaha5
 */
(function ($, mw) {
	'use strict';
 
	function createPage(title, text, summary, callback) {
		return new mw.Api().post({
			action: 'edit',
			title: title,
			text: text,
			summary: summary,
			createonly: '',
			minor: '',
			token: mw.user.tokens.get('csrfToken')
		}).then(
			function (data) {
				if (data.error && data.error.info) {
					mw.notify(title + ' انجام نشد: ' + data.error.info);
				} else {
					callback();
				}
				return data;
			},
			function (data) {
				mw.notify(title + ' انجام نشد: ' + data);
				return data;
			}
		);
	}
 
	function startRedirect(redirect, dest) {
		return createPage(
			redirect,
			'#تغییرمسیر [[' + dest + ']]',
			'ایجاد تغییرمسیر برای [[' + dest + ']] (ابزار تغییرمسیرساز)',
			function () {
				mw.notify('ساخت ' + redirect + ' با موفقیت انجام شد.');
			}
		);
	}
 
	function init(e) {
		e.preventDefault();
		$('<div>' +
			'<div style="width: 40em">درخواست\u200cهای ساخت تغییرمسیرها را در خطوط جداگانه وارد کنید:</div>' +
			'<textarea style="width: 100%; background-color: white;" placeholder="تغییرمسیر۱@صفحه مقصد۱" id="redirectmakerinput" rows="7"></textarea>' +
			'</div>'
			).dialog({
				modal: true,
				width: 700,
				buttons: [{
					id: 'redirectmaker-button-import',
					text: 'ساخت تغییرمسیر',
					click: function () {
						var formInput = $('#redirectmakerinput').val();
						if (formInput === '') { mw.notify('لطفاً فرم درخواست را به درستی پر کنید'); return; }
						$.when.apply(null, $.map(formInput.split('\n'), function (x) {
							var req = x.split('@');
							if (req.length !== 2) { return; }
							return startRedirect(req[0], req[1]);
						})).then(function () {
							mw.notify('ساخت تغییرمسیرها\u200cها به پایان رسید، لطفاً بررسی کنید.');
							window.location = '/wiki/Special:Contributions/' + mw.config.get('wgUserName');
						});
					}
				}]
			});
	}
 
	$(function () {
		mw.util.addCSS('#t-redirectmaker { font-weight: bold; }');
		$(mw.util.addPortletLink('p-tb', '#', 'تغییرمسیر\u200cساز', 't-redirectmaker', 'ساخت تغییرمسیر به صورت خودکار')).click(init);
	});
}(jQuery, mediaWiki));