مدیاویکی:Gadget-RedirectMaker.js: تفاوت میان نسخهها
Nazarzadeh (بحث | مشارکتها) بدون خلاصۀ ویرایش |
Nazarzadeh (بحث | مشارکتها) بدون خلاصۀ ویرایش برچسب: برگرداندهشده |
||
خط ۱: | خط ۱: | ||
// <nowiki> // DO NOT REMOVE THIS LINE EVER | |||
/*jslint browser: true, white: true*/ | |||
/*global mediaWiki, jQuery*/ | |||
/*! | |||
* @author User:Ebraminio, User:Yamaha5 | |||
*/ | |||
(function ($, mw) { | (function ($, mw) { | ||
'use strict'; | |||
' | |||
' | function createPage(title, text, summary, callback) { | ||
'تغییرمسیر\u200cساز', | 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)); | }(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));