مدیاویکی: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));