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

محتوای حذف‌شده محتوای افزوده‌شده
خنثی‌سازی ویرایش 34148978 از Huji (بحث) به دلیل ویژه:تفاوت/34566726
برچسب: خنثی‌سازی
ابزار مبتنی بر فهرست سفید طبق اجماع کاربران؛ آزمایش شد و توسط جناب حجت نیز بازبینی شد. ریسهٔ مرتبط در صفحهٔ بحث را هم ببینید.
خط ۲:
$(function () {
'use strict';
// Create empty object for later use
var tofawiki = {};
document.title = 'به‌ویکی‌فا انبوه - ویکی‌پدیا، دانشنامهٔ آزاد';
 
// Check if the user is allowed to use the gadget
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Blankpage' ||
$.getJSON('/w/index.php', {action: 'raw', ctype: 'application/json',title: 'ویکی‌پدیا:درخواست_برای_دسترسی/به‌ویکی‌فا_انبوه/فهرست_سفید'}, callback);
mw.config.get('wgPageName').split('/')[1] !== 'tofawiki-conosle') {
return;
}
tofawiki.run = function () {
var serverName = mw.config.get('wgServerName');
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Blankpage' ||
if ( mw.config.get('wgUserGroupswgPageName').everysplit(function'/')[1] (x!== 'tofawiki-conosle') {
return;
return ['bot', 'autopatrolled', 'patroller', 'sysop', 'eliminator'].indexOf(x) === -1;
}
}) && serverName === 'fa.wikipedia.org') {
$('#content').empty().append('متأسفانه این ابزار به کاربران دارای دسترسی گشت خودکار محدود شده است.');
var serverName = mw.config.get('wgServerName');
return;
}
if (mw.config.get('wgUserGroups').every(function (x) {
 
return ['bot', 'autopatrolled', 'patroller', 'sysop', 'eliminator'].indexOf(x) === -1;
window.onbeforeunload = function () {
}) && serverName === 'fa.wikipedia.org') {
if ($('#tofawiki-main').width() && $('#tofawiki-main').val() === '') {
$('#content').empty().append('متأسفانه این ابزار به کاربران دارای دسترسی گشت خودکار محدود شده است.');
return;
}
return 'پیش از اتمام صفحه را ترک نکنید';
};
window.onbeforeunload = function () {
var methods = {
if ($('#tofawiki-main').width() && $('#tofawiki-main').val() === '') {
city: {
return;
title: 'شهر و مکان‌های مسکونی',
}
summary: 'Rezabot',
return 'پیش از اتمام صفحه را ترک نکنید';
generateContent: function (request) {
};
return $.getJSON(new mw.Uri('//rezabot.toolforge.org/a.php').extend({
fawiki: request[0],
var methods = {
enwiki: request[1]
}));city: {
title: 'شهر و مکان‌های مسکونی',
summary: 'Rezabot',
generateContent: function (request) {
return $.getJSON(new mw.Uri('//rezabot.toolforge.org/a.php').extend({
fawiki: request[0],
enwiki: request[1]
}));
},
extraInfo: $('<div>').append(
'<div>در پنجرهٔ پایین نام فارسی و انگلیسی مقالهٔ ناموجود را بنویسید و دکمهٔ درخواست را بزنید. بعد از چند دقیقه ربات متن مقاله و پیش‌نمایش آنرا در اختیارتان می‌گذارد. بعد از اعمال تغییرات دکمهٔ ایجاد را بزنید. مانند:</div>',
'<br><div>شیراز@Shiraz</div>',
'<br><div>تهران@Tehran</div>',
'<br><div>اصفهان@Isfahan</div>',
'<br>شهرهای ناموجود مهم در ',
'<b><a href="//fa.wikipedia.org/wiki/ویکی‌پدیا:گزارش_دیتابیس/شهرهای_ناموجود" target="_blank">اینجا</a></b>',
' فهرست شده‌اند؛ با کلیک بر روی موضوع مقاله می‌توانید مقالات شهرها را مشاهده کنید.<br>'
),
placeholder: 'عنوان @ Title',
enableCheckButton: true,
enableFirstAidsButton: true,
isPersianWikipediaOnly: true
},
extraInfo: $('<div>').append(
general: {
'<div>در پنجرهٔ پایین نام فارسی و انگلیسی مقالهٔ ناموجود را بنویسید و دکمهٔ درخواست را بزنید. بعد از چند دقیقه ربات متن مقاله و پیش‌نمایش آنرا در اختیارتان می‌گذارد. بعد از اعمال تغییرات دکمهٔ ایجاد را بزنید. مانند:</div>',
title: 'اشخاص، آرایه‌های زیستی، فیلم، موسیقی، رود، ساختمان و بازی‌های ویدئویی',
'<br><div>شیراز@Shiraz</div>',
summary: 'Dexbot',
'<br><div>تهران@Tehran</div>',
generateContent: function (request) {
'<br><div>اصفهان@Isfahan</div>',
return $.getJSON('//tofawiki.wmcloud.org/translate/enwiki/' + request[1] + '/' + request[0]);
'<br>شهرهای ناموجود مهم در ',
},
'<b><a href="//fa.wikipedia.org/wiki/ویکی‌پدیا:گزارش_دیتابیس/شهرهای_ناموجود" target="_blank">اینجا</a></b>',
extraInfo: $('<div>').append(
' فهرست شده‌اند؛ با کلیک بر روی موضوع مقاله می‌توانید مقالات شهرها را مشاهده کنید.<br>'
'<div>در پنجرهٔ پایین نام فارسی و انگلیسی مقالهٔ ناموجود را بنویسید و دکمهٔ درخواست را بزنید. بعد از چند دقیقه ربات متن مقاله و پیش‌نمایش آنرا در اختیارتان می‌گذارد. بعد از اعمال تغییرات دکمهٔ ایجاد را بزنید.</div>',
),
'<br>مقاله‌های ناموجود مهم در ',
placeholder: 'عنوان @ Title',
'<b><a href="//fa.wikipedia.org/wiki/ویکی‌پدیا:گزارش_دیتابیس/مقاله‌های_مهم_ایجادنشده" target="_blank">اینجا</a></b>',
enableCheckButton: true,
' فهرست شده‌اند؛ با کلیک بر روی موضوع مقاله می‌توانید برپایهٔ موضوع آنها را مرتب و انتخاب کنید.<br>'
enableFirstAidsButton: true,
),
isPersianWikipediaOnly: true
placeholder: 'عنوان @ Title',
},
enableCheckButton: true,
 
enableFirstAidsButton: true,
general: {
isPersianWikipediaOnly: true
title: 'اشخاص، آرایه‌های زیستی، فیلم، موسیقی، رود، ساختمان و بازی‌های ویدئویی',
summary: 'Dexbot',
generateContent: function (request) {
return $.getJSON('//tofawiki.wmcloud.org/translate/enwiki/' + request[1] + '/' + request[0]);
},
extraInfo: $('<div>').append(
redirect: {
'<div>در پنجرهٔ پایین نام فارسی و انگلیسی مقالهٔ ناموجود را بنویسید و دکمهٔ درخواست را بزنید. بعد از چند دقیقه ربات متن مقاله و پیش‌نمایش آنرا در اختیارتان می‌گذارد. بعد از اعمال تغییرات دکمهٔ ایجاد را بزنید.</div>',
title: 'تغییرمسیر',
'<br>مقاله‌های ناموجود مهم در ',
summary: 'تغییرمسیرساز',
'<b><a href="//fa.wikipedia.org/wiki/ویکی‌پدیا:گزارش_دیتابیس/مقاله‌های_مهم_ایجادنشده" target="_blank">اینجا</a></b>',
generateContent: function (request) {
' فهرست شده‌اند؛ با کلیک بر روی موضوع مقاله می‌توانید برپایهٔ موضوع آنها را مرتب و انتخاب کنید.<br>'
return resolveRedirect(request[1]).then(function (title) {
),
return {
placeholder: 'عنوان @ Title',
page_content: '#' + 'تغییرمسیر [' + '[' + title + ']]'
enableCheckButton: true,
};
enableFirstAidsButton: true,
});
isPersianWikipediaOnly: true
},
noLanguageLinks: true,
redirect extraInfo: {'',
placeholder: 'مبدأ تغییر مسیر @ مقصد (عنوان مقالهٔ اصلی)',
title: 'تغییرمسیر',
creationExtraTool: function () {
summary: 'تغییرمسیرساز',
var destination = location.hash.split('|')[1];
generateContent: function (request) {
return resolveRedirect(request[1]).then(function (title) {
returnif {(!destination)
return;
page_content: '#' + 'تغییرمسیر [' + '[' + title + ']]'
destination = decodeURI(destination);
var ns = 0;
var pageNameParts = destination.split(/:/);
if (pageNameParts.length > 1) {
var possibleNs = mw.config.get('wgNamespaceIds')[pageNameParts[0]];
if (possibleNs !== undefined) {
ns = possibleNs;
destination = pageNameParts.slice(1).join(':');
}
}
var namespaces = {
0: '',
2: 'کاربر:',
4: ['وپ:', 'ویکی\u200cپدیا:'],
6: 'پرونده:',
8: 'مدیاویکی:',
10: 'الگو:',
12: 'راهنما:',
14: 'رده:',
100: 'درگاه:',
102: 'کتاب:',
446: 'برنامه آموزشی:',
828: 'پودمان:'
};
})
var append = '@';
},
var buttonText = '@';
noLanguageLinks: true,
if (typeof namespaces[ns] === 'object') {
extraInfo: '',
append = namespaces[ns][0] + '@' + namespaces[ns][1] + destination;
placeholder: 'مبدأ تغییر مسیر @ مقصد (عنوان مقالهٔ اصلی)',
buttonText = namespaces[ns][0] + '@صفحهٔ قبل';
creationExtraTool: function () {
} else if (typeof namespaces[ns] === 'string') {
var destination = location.hash.split('|')[1];
append = namespaces[ns] + '@' + namespaces[ns] + destination;
 
if buttonText = namespaces[ns] + '@' + (!destination);
return;
 
destination = decodeURI(destination);
var ns = 0;
var pageNameParts = destination.split(/:/);
if (pageNameParts.length > 1) {
var possibleNs = mw.config.get('wgNamespaceIds')[pageNameParts[0]];
 
if (possibleNs !== undefined) {
ns = possibleNs;
destination = pageNameParts.slice(1).join(':');
}
}
return $('<span>', {
text: buttonText,
var namespaces = {
class: 'mw-ui-button mw-ui-constructive'
0: '',
}).click(function () {
2: 'کاربر:',
var value = $('#tofawiki-main').val().trim();
4: ['وپ:', 'ویکی\u200cپدیا:'],
6: if (value !== 'پرونده:',)
value = value + '\n';
8: 'مدیاویکی:',
10: value 'الگو:',= value + append;
$('#tofawiki-main').val(value).focus();
12: 'راهنما:',
14: 'رده:',});
100: 'درگاه:'},
102editBoxRows: 'کتاب:'2,
previewHeight: 60,
446: 'برنامه آموزشی:',
autoCreate: true,
828: 'پودمان:'
isPersianWikipediaOnly: true
};
var append = '@';
var buttonText = '@';
if (typeof namespaces[ns] === 'object') {
append = namespaces[ns][0] + '@' + namespaces[ns][1] + destination;
buttonText = namespaces[ns][0] + '@صفحهٔ قبل';
} else if (typeof namespaces[ns] === 'string') {
append = namespaces[ns] + '@' + namespaces[ns] + destination;
buttonText = namespaces[ns] + '@' + destination;
}
 
return $('<span>', {
text: buttonText,
class: 'mw-ui-button mw-ui-constructive'
}).click(function () {
var value = $('#tofawiki-main').val().trim();
if (value !== '')
value = value + '\n';
value = value + append;
$('#tofawiki-main').val(value).focus();
});
},
editBoxRows: 2,
previewHeightcategory: 60,{
autoCreate title: true'رده',
summary: 'فهرست ورودی',
isPersianWikipediaOnly: true
generateContent: function (request) {
},
return $.getJSON('//tofawiki.wmcloud.org/translate/enwiki/' + request[1] + '/' + request[0]);
 
},
category: {
afterSaveAction: function (pageTitle) {
title: 'رده',
var defer = $.Deferred();
summary: 'فهرست ورودی',
var status = $('<span>', { text: 'درخواست پر کردن ' + pageTitle + '…' });
generateContent: function (request) {
mw.notify(status, { autoHide: false });
return $.getJSON('//tofawiki.wmcloud.org/translate/enwiki/' + request[1] + '/' + request[0]);
setTimeout(function () {
return $.get('//rezabot.toolforge.org/fillcat.php', {
title: pageTitle,
fawiki: pageTitle.replace(/ /g, '_'),
user: 'کاربر:' + mw.config.get('wgUserName'),
namespace: 14
}).then(function () {
status.text('درخواست پر کردن ' + pageTitle + ' با موفقیت داده شد.');
defer.resolve();
}, defer.resolve);
}, 2000);
return defer;
},
extraInfo: $('<div>').append(
'درخواست\u200cهای ساخت رده را در خطوط جداگانه مانند مثال زیر وارد کنید:' +
'<br>رده۱@Cateogry1<br>رده۲@Cateogry2<br>رده۳@Cateogry3<br><b>نکات مهم:</b><ol>' +
'<li>رده‌ها باید شیوه‌نامه <a href="//fa.wikipedia.org/w/index.php?title=ویکی‌پدیا:ترجمه_رده‌ها" target="ویکی‌پدیا:ترجمه رده‌ها">ویکی‌پدیا:ترجمه_رده‌ها</a> را رعایت کنند.' +
'<li>رده‌هایی که تازه ساخته می‌شوند نیازی به افزودن به مقالات و صفحات ندارد و این رده‌ها پس از چند ساعت به صورت رباتیک به صفحه‌های مرتبط، اضافه می‌گردند و میان‌ویکی‌شان به ویکی‌داده افزوده می‌شود.' +
'<li>ابزار رده‌هایی که در ویکی‌انگلیسی موجود نباشند را نمی‌سازد.<br>' +
'<li>ابزار رده‌هایی که رده مادر نداشته باشند یا همسنگ رده مادر در ویکی‌پدیای فارسی نباشد یا همهٔ رده‌های مادرشان رده پنهان باشد را نمی‌سازد.(رده رده‌بندی نشده نمی‌سازد)<br>' +
'<li>اگر رده‌ای را که پیشنهاد دادید ساخته نشده‌است، ممکن است [[ویژه:پالایهٔ_خرابکاری/91]] از عمل شما جلوگیری کرده باشد (دقت کنید که شرایط موجود در <a href="//fa.wikipedia.org/w/index.php?title=مدیاویکی:Abusefilter-warning-category" target="مدیاویکی:Abusefilter-warning-category">مدیاویکی:Abusefilter-warning-category</a> را رعایت کرده‌اید.)' +
'</ol>'
),
placeholder: 'عنوان رده به فارسی @ Title',
editBoxRows: 7,
previewHeight: 60,
isPersianWikipediaOnly: true
},
afterSaveAction: function (pageTitle) {
disambig: {
var defer = $.Deferred();
title: 'ابهام‌زدایی و مجموعه نمایه',
var status = $('<span>', { text: 'درخواست پر کردن ' + pageTitle + '…' });
summary: 'Rezabot',
mw.notify(status, { autoHide: false });
setTimeout(generateContent: function (request) {
return $.getgetJSON(new mw.Uri('//rezabot.toolforge.org/fillcatdisambig.php', ).extend({
titlefawiki: pageTitlerequest[0],
enwiki: request[1]
fawiki: pageTitle.replace(/ /g, '_'),
}));
user: 'کاربر:' + mw.config.get('wgUserName'),
namespace: 14},
extraInfo: $('<div>').append(
}).then(function () {
'<div>در پنجرهٔ پایین نام فارسی و انگلیسی مقالهٔ ناموجود را بنویسید و دکمهٔ درخواست را بزنید. بعد از چند دقیقه ربات متن صفحهٔ ابهام‌زدایی و پیش‌نمایش آنرا در اختیارتان می‌گذارد. بعد از اعمال تغییرات دکمهٔ ایجاد را بزنید. مانند:</div>',
status.text('درخواست پر کردن ' + pageTitle + ' با موفقیت داده شد.');
'<br><div>شیراز@Shiraz</div>',
defer.resolve();
'<br><div>تهران@Tehran</div>',
}, defer.resolve);
'<br><div>اصفهان@Isfahan</div>',
}, 2000);
'<br><div>نکته مهم: ممکن است نیاز باشد از الگوهای {{مقالات مجموعه‌نمایه}}، {{نام خانوادگی}}، {{نام کوچک}} و… به جای {{ابهام‌زدایی}} استفاده کنید برای اطلاعات بیشتر <a href="//fa.wikipedia.org/w/index.php?title=ویکی‌پدیا:ابهام‌زدایی" target="ویکی‌پدیا:ابهام‌زدایی">ویکی‌پدیا:ابهام‌زدایی</a> و <a href="//fa.wikipedia.org/w/index.php?title=ویکی‌پدیا:مقالات_مجموعه‌نمایه" target="ویکی‌پدیا:مقالات_مجموعه‌نمایه">ویکی‌پدیا:مقالات مجموعه‌نمایه</a> را مطالعه کنید.</div>',
return defer;
),
placeholder: 'عنوان @ Title',
enableCheckButton: true,
enableFirstAidsButton: true,
isPersianWikipediaOnly: true
},
extraInfo: $('<div>').append(
custom: {
'درخواست\u200cهای ساخت رده را در خطوط جداگانه مانند مثال زیر وارد کنید:' +
title: 'شخصی (پیشرفته)',
'<br>رده۱@Cateogry1<br>رده۲@Cateogry2<br>رده۳@Cateogry3<br><b>نکات مهم:</b><ol>' +
summary: 'الگوی شخصی',
'<li>رده‌ها باید شیوه‌نامه <a href="//fa.wikipedia.org/w/index.php?title=ویکی‌پدیا:ترجمه_رده‌ها" target="ویکی‌پدیا:ترجمه رده‌ها">ویکی‌پدیا:ترجمه_رده‌ها</a> را رعایت کنند.' +
generateContent: function (request) {
'<li>رده‌هایی که تازه ساخته می‌شوند نیازی به افزودن به مقالات و صفحات ندارد و این رده‌ها پس از چند ساعت به صورت رباتیک به صفحه‌های مرتبط، اضافه می‌گردند و میان‌ویکی‌شان به ویکی‌داده افزوده می‌شود.' +
return $.Deferred().resolve({
'<li>ابزار رده‌هایی که در ویکی‌انگلیسی موجود نباشند را نمی‌سازد.<br>' +
page_content: '{{subst:' + $('#tofawiki-customtemplate').val() + '|' + request.map(function (x, i) {
'<li>ابزار رده‌هایی که رده مادر نداشته باشند یا همسنگ رده مادر در ویکی‌پدیای فارسی نباشد یا همهٔ رده‌های مادرشان رده پنهان باشد را نمی‌سازد.(رده رده‌بندی نشده نمی‌سازد)<br>' +
return (i + 1) + '=' + x;
'<li>اگر رده‌ای را که پیشنهاد دادید ساخته نشده‌است، ممکن است [[ویژه:پالایهٔ_خرابکاری/91]] از عمل شما جلوگیری کرده باشد (دقت کنید که شرایط موجود در <a href="//fa.wikipedia.org/w/index.php?title=مدیاویکی:Abusefilter-warning-category" target="مدیاویکی:Abusefilter-warning-category">مدیاویکی:Abusefilter-warning-category</a> را رعایت کرده‌اید.)' +
}).join('</ol>|') + '}}'
}),;
},
placeholder: 'عنوان رده به فارسی @ Title',
afterSaveUtils: function (pageTitle) {
editBoxRows: 7,
if (serverName !== 'fa.wikipedia.org') return;
previewHeight: 60,
return $('<button>', { style: 'font-size: 100%' }).text('درخواست افزودن نگارخانه و ردهٔ همسنگ').click(function () {
isPersianWikipediaOnly: true
var button = $(this);
},
button.text('در حال انجام…').attr('disabled', '');
 
disambig: {
$.get('//rezabot.toolforge.org/getbox.php', {
title: 'ابهام‌زدایی و مجموعه نمایه',
summary: 'Rezabot',
generateContent: function (request) {
return $.getJSON(new mw.Uri('//rezabot.toolforge.org/disambig.php').extend({
fawiki: request[0],
enwiki: request[1]
}));
},
extraInfo: $('<div>').append(
'<div>در پنجرهٔ پایین نام فارسی و انگلیسی مقالهٔ ناموجود را بنویسید و دکمهٔ درخواست را بزنید. بعد از چند دقیقه ربات متن صفحهٔ ابهام‌زدایی و پیش‌نمایش آنرا در اختیارتان می‌گذارد. بعد از اعمال تغییرات دکمهٔ ایجاد را بزنید. مانند:</div>',
'<br><div>شیراز@Shiraz</div>',
'<br><div>تهران@Tehran</div>',
'<br><div>اصفهان@Isfahan</div>',
'<br><div>نکته مهم: ممکن است نیاز باشد از الگوهای {{مقالات مجموعه‌نمایه}}، {{نام خانوادگی}}، {{نام کوچک}} و… به جای {{ابهام‌زدایی}} استفاده کنید برای اطلاعات بیشتر <a href="//fa.wikipedia.org/w/index.php?title=ویکی‌پدیا:ابهام‌زدایی" target="ویکی‌پدیا:ابهام‌زدایی">ویکی‌پدیا:ابهام‌زدایی</a> و <a href="//fa.wikipedia.org/w/index.php?title=ویکی‌پدیا:مقالات_مجموعه‌نمایه" target="ویکی‌پدیا:مقالات_مجموعه‌نمایه">ویکی‌پدیا:مقالات مجموعه‌نمایه</a> را مطالعه کنید.</div>',
),
placeholder: 'عنوان @ Title',
enableCheckButton: true,
enableFirstAidsButton: true,
isPersianWikipediaOnly: true
},
 
custom: {
title: 'شخصی (پیشرفته)',
summary: 'الگوی شخصی',
generateContent: function (request) {
return $.Deferred().resolve({
page_content: '{{subst:' + $('#tofawiki-customtemplate').val() + '|' + request.map(function (x, i) {
return (i + 1) + '=' + x;
}).join('|') + '}}'
});
},
afterSaveUtils: function (pageTitle) {
if (serverName !== 'fa.wikipedia.org') return;
return $('<button>', { style: 'font-size: 100%' }).text('درخواست افزودن نگارخانه و ردهٔ همسنگ').click(function () {
var button = $(this);
button.text('در حال انجام…').attr('disabled', '');
$.get('//rezabot.toolforge.org/getbox.php', {
title: pageTitle,
fawiki: pageTitle.replace(/ /g,'_'),
user: 'کاربر:' + mw.config.get('wgUserName'),
namespace: 0
}).then(function(result) {
return $.get('//rezabot.toolforge.org/fillcatArticle.php', {
title: pageTitle,
fawiki: pageTitle.replace(/ /g,'_'),
user: 'کاربر:' + mw.config.get('wgUserName'),
namespace: 0
}).then(function(result) {
return $.get('//rezabot.toolforge.org/fillcatArticle.php', {
title: pageTitle,
fawiki: pageTitle.replace(/ /g,'_'),
user: 'کاربر:' + mw.config.get('wgUserName'),
namespace: 0
});
}).then(function () {
button.text('انجام شد');
});
}).then(function () {
button.text('انجام شد');
});
});,
extraInfo: $('<div>').append(
},
'راهنمای <b><a href="//fa.wikipedia.org/wiki/راهنما:ساخت_مقاله_به_کمک_الگوی_شخصی_با_ابزار_به_ویکی‌فا_انبوه" target="_blank">ساخت مقاله به کمک الگوی شخصی با ابزار به ویکی‌فا انبوه</a></b> اطلاعات بسیار خوبی رابطه جهت استفاده از این قسمت می‌دهد.<br><br>',
extraInfo: $('<div>').append(
'به طور خلاصه برای استفاده از این ابزار کافی‌ست فایل اکسل را در جعبهٔ زیر کپی کنید و الگوی تراگنجانش را مشخص کنید.',
'راهنمای <b><a href="//fa.wikipedia.org/wiki/راهنما:ساخت_مقاله_به_کمک_الگوی_شخصی_با_ابزار_به_ویکی‌فا_انبوه" target="_blank">ساخت مقاله به کمک الگوی شخصی با ابزار به ویکی‌فا انبوه</a></b> اطلاعات بسیار خوبی رابطه جهت استفاده از این قسمت می‌دهد.<br><br>',
'<br>',
'به طور خلاصه برای استفاده از این ابزار کافی‌ست فایل اکسل را در جعبهٔ زیر کپی کنید و الگوی تراگنجانش را مشخص کنید.',
'<b>نکته:</b> متغیر۱ برابر با نام مقاله و متغیر۲ برابر با میان‌ویکی‌ست و سایر متغیرها هم برای معرفی بخش‌های تغییرپذیر مقاله کاربرد دارند.'
'<br>',
),
'<b>نکته:</b> متغیر۱ برابر با نام مقاله و متغیر۲ برابر با میان‌ویکی‌ست و سایر متغیرها هم برای معرفی بخش‌های تغییرپذیر مقاله کاربرد دارند.'
placeholder: 'متغیر۱ (نام مقاله)\tمتغیر۲ (ترجیحاً عنوان انگلیسی)\tمتغیر۳\tمتغیر۴\t…',
),
enableCheckButton: true,
placeholder: 'متغیر۱ (نام مقاله)\tمتغیر۲ (ترجیحاً عنوان انگلیسی)\tمتغیر۳\tمتغیر۴\t…',
enableCheckButton enableFirstAidsButton: true,
}
enableFirstAidsButton: true
};
function resolveRedirect(title) {
return new mw.Api().get({
action: 'query',
titles: title,
redirects: ''
}).then(function (result) {
return result.query.pages[Object.keys(result.query.pages)[0]].title;
}).catch(function (e) {
console.error(e);
return title;
});
}
// ابزارهای رده
function catParents(title) {
return new mw.Api({ ajax: { url: '//en.wikipedia.org/w/api.php' } }).get({
action: 'query',
prop: 'categories',
titles: title,
clshow: '!hidden',
cllimit: 500,
format: 'json',
origin: window.location.protocol + '//' + window.location.hostname
}).then(function (data) {
return (data.query.pages[Object.keys(data.query.pages)[0]].categories || []).map(function (x) { return x.title; });
});
}
function getWikidataEntity(entitle) {
return new mw.Api({ ajax: { url: '//www.wikidata.org/w/api.php' } }).get({
action: 'wbgetentities',
format: 'json',
sites: 'enwiki',
titles: entitle,
normalize: 'true',
origin: window.location.protocol + '//' + window.location.hostname
}).then(function (x) { return x.entities[Object.keys(x.entities)[0]]; });
}
};
function resolveRedirectpageExists(titlepage) {
return new mw.Api({ ajax: { url: '//fa.wikipedia.org/w/api.php' } }).get({
action: 'query',
titles: titlepage,
redirects format: 'json'
}).then(function (resultdata) { return data.query.pages['-1'] === undefined; });
}
return result.query.pages[Object.keys(result.query.pages)[0]].title;
}).catch(function (e) {
function dePersian(text) {
console.error(e);
return title;text
.replace(/ی/g, 'ي')
});
.replace(/ک/g, 'ك')
}
.replace(/گ/g, 'كی')
.replace(/ژ/g, 'زی')
.replace(/چ/g, 'جی')
.replace(/پ/g, 'بی');
}
////
$('#content').empty().append($('<div>', { id: 'tofawiki-console' }).css({
border: '2px solid #b3000b',
padding: '1em',
'background-color': '#fefce3',
'margin-bottom': '8px',
'border-radius': '15px'
}).append($('<div>', { id: 'tofawiki-console-input' }).append(
'نوع: ',
$('<select>', { id: 'tofawiki-select', style: 'font-size: 120%' }).append(Object.keys(methods).filter(function (id) {
return serverName === 'fa.wikipedia.org' || !methods[id].isPersianWikipediaOnly;
}).map(function (id) {
return $('<option>', { value: id }).text(methods[id].title);
})).change(function () {
if ($(this).val() === 'custom') {
$('#tofawiki-custom').show();
$('#tofawiki-delimiter').val('\t');
} else {
$('#tofawiki-custom').hide();
$('#tofawiki-delimiter').val('@');
}
var method = methods[$(this).val()];
$('#tofawiki-extrainfo').empty().append(method.extraInfo);
$('#tofawiki-main').attr('placeholder', method.placeholder);
$('#tofawiki-creationextratool').empty().append(method.creationExtraTool
? method.creationExtraTool()
: '');
$('#tofawiki-checkbutton').toggle(method.enableCheckButton);
$('#tofawiki-firstaidsbutton').toggle(method.enableFirstAidsButton);
}),
'<br>',
'جداکننده&nbsp;',
$('<select>', { id: 'tofawiki-delimiter' }).append(
$('<option>', { value: '@' }).text('@'),
$('<option>', { value: '|' }).text('|'),
$('<option>', { value: '\t' }).text('تب')
),
'<br>',
$('<div>', { id: 'tofawiki-custom' }).append(
'الگو برای تراگنجانش: ',
$('<input>', { id: 'tofawiki-customtemplate' })
).hide(),
'<br>',
$('<div>', { id: 'tofawiki-extrainfo' }),
'<br>',
$('<div>', { id: 'tofawiki-creationextratool' }).css({ position: 'absolute', left: '2.5em' }),
$('<textarea>', {
id: 'tofawiki-main',
style: 'font-size: 150%',
rows: 10
}),
$('<button>', { style: 'font-size: 100%', text: 'درخواست' }).click(function () {
var method = methods[$('#tofawiki-select').val()];
var delimiter = $('#tofawiki-delimiter').val();
var requests = resolveUserRequests(delimiter);
// ابزارهای رده
$('#tofawiki-console-input').hide();
function catParents(title) {
$('#tofawiki-console').append(
return new mw.Api({ ajax: { url: '//en.wikipedia.org/w/api.php' } }).get({
$('<div>', { id: 'tofawiki-progress' }),
action: 'query',
prop: 'categories<br><hr><br>',
);
titles: title,
var current = 1;
clshow: '!hidden',
var success = 0;
cllimit: 500,
requests.map(function (request) {
format: 'json',
var row = $('<div>', {
origin: window.location.protocol + '//' + window.location.hostname
'class': 'tofawiki-row',
}).then(function (data) {
style: 'border-bottom: 1px solid; margin-bottom: 1em; padding-bottom:1em;'
return (data.query.pages[Object.keys(data.query.pages)[0]].categories || []).map(function (x) { return x.title; });
}).appendTo('#tofawiki-console');
});
return function generateText() {
}
var fawiki = request[0].replace(/ي/g, 'ی').replace(/ك/g, 'ک');
var enwiki = request[1];
var promise = method.generateContent(request).then(function (result) {
return result.error
? $.Deferred().reject(result.error)
: preSavedTransform(result.page_content, fawiki);
});
$('#tofawiki-progress').text('در حال دریافت «' + fawiki
function getWikidataEntity(entitle) {
+ '» (' + (current++).toLocaleString('fa') + ' از ' +
return new mw.Api({ ajax: { url: '//www.wikidata.org/w/api.php' } }).get({
requests.length.toLocaleString('fa') + ')');
action: 'wbgetentities',
format: 'json',
sites: 'enwiki',
titles: entitle,
normalize: 'true',
origin: window.location.protocol + '//' + window.location.hostname
}).then(function (x) { return x.entities[Object.keys(x.entities)[0]]; });
}
 
function pageExists(page) {
return new mw.Api({ ajax: { url: '//fa.wikipedia.org/w/api.php' } }).get({
action: 'query',
titles: page,
format: 'json'
}).then(function (data) { return data.query.pages['-1'] === undefined; });
}
return promise.then(function dePersian(textcontent) {
if (window.persianWikiTools) {
return text
content = persianWikiTools.superTool(content);
.replace(/ی/g, 'ي')
}
.replace(/ک/g, 'ك')
var textarea = $('<textarea>', { cols: 80, rows: method.editBoxRows || 20, text: content });
.replace(/گ/g, 'كی')
var summary = $('<input>', { style: 'width: 500px;' });
.replace(/ژ/g, 'زی')
if (serverName === 'fa.wikipedia.org')
.replace(/چ/g, 'جی')
summary.val('ایجادشده به کمک [[راهنما:ابزار/به ویکی‌فا|به ویکی‌فا]] انبوه و ' + method.summary + '، ابرابزار');
.replace(/پ/g, 'بی');
var previewElement = $('<div>', { 'class': 'tofawiki-preview' });
}
var preview = function () {
////
return parseContent(textarea.val(), fawiki).then(function (result) {
previewElement.css({
$('#content').empty().append($('<div>', { id: 'tofawiki-console' }).css({
'border': '2px1px solid #b3000bgrey',
'padding': '1em',
'height': method.previewHeight || 270,
'background-color': '#fefce3',
'marginoverflow-bottomy': '8pxscroll',
}).html(result).append('<div style="clear: both">');
'border-radius': '15px'
});
}).append($('<div>', { id: 'tofawiki-console-input' }).append(
};
'نوع: ',
preview();
$('<select>', { id: 'tofawiki-select', style: 'font-size: 120%' }).append(Object.keys(methods).filter(function (id) {
var againInput = $('<input>').val(request.join(delimiter));
return serverName === 'fa.wikipedia.org' || !methods[id].isPersianWikipediaOnly;
}).map(function (id) {
row.empty().append(
return $('<option>', { value: id }).text(methods[id].title);
$('<div>', { style: 'font-size: 150%;' }).text(fawiki),
})).change(function () {
textarea,
if ($(this).val() === 'custom') {
'<br>',
$('#tofawiki-custom').show();
summary,
$('#tofawiki-delimiter').val('\t');
'<br><br>',
} else {
previewElement,
$('#tofawiki-custom').hide();
'<br>',
$('#tofawiki-delimiter').val('@');
$('<button>', { style: 'font-size: 100%', 'class': 'tofawiki-row-create-button', text: 'ایجاد' }).click(function () {
}
var content = textarea.val();
var methodsummaryText = methods[$(this)summary.val()];
$('#tofawiki-extrainfo') row.empty().append(method.extraInfo'در حال ایجاد ' + fawiki + '…');
createPage(fawiki, content, summaryText).then(function () {
$('#tofawiki-main').attr('placeholder', method.placeholder);
pageExists(fawiki).then(function (exists) {
$('#tofawiki-creationextratool').empty().append(method.creationExtraTool
if (!exists) {
? method.creationExtraTool()
row.empty().append(
: '');
'«', $('<a>', { text: fawiki, target: '_blank', href: mw.util.getUrl(fawiki) }), '» به دلیل خطا ایجاد نشد! (ممکن است خطای پالایه باشد)',
$('#tofawiki-checkbutton').toggle(method.enableCheckButton);
method.afterSaveUtils ? method.afterSaveUtils(fawiki) : ''
$('#tofawiki-firstaidsbutton').toggle(method.enableFirstAidsButton);
} ),;
} else {
'<br>',
row.empty().append(
'جداکننده&nbsp;',
'«', $('<a>', { text: fawiki, target: '_blank', href: mw.util.getUrl(fawiki) }), '» ایجاد شد ',
$('<select>', { id: 'tofawiki-delimiter' }).append(
method.afterSaveUtils ? method.afterSaveUtils(fawiki) : ''
$('<option>', { value: '@' }).text('@'),
);
$('<option>', { value: '|' }).text('|'),
}
$('<option>', { value: '\t' }).text('تب')
}),;
if (++success === requests.length) {
'<br>',
window.onbeforeunload = undefined;
$('<div>', { id: 'tofawiki-custom' }).append(
'الگو برای تراگنجانش: ',
$('<input>', { id: 'tofawiki-customtemplate' })
).hide(),
'<br>',
$('<div>', { id: 'tofawiki-extrainfo' }),
'<br>',
$('<div>', { id: 'tofawiki-creationextratool' }).css({ position: 'absolute', left: '2.5em' }),
$('<textarea>', {
id: 'tofawiki-main',
style: 'font-size: 150%',
rows: 10
}),
$('<button>', { style: 'font-size: 100%', text: 'درخواست' }).click(function () {
var method = methods[$('#tofawiki-select').val()];
var delimiter = $('#tofawiki-delimiter').val();
 
var requests = resolveUserRequests(delimiter);
$('#tofawiki-console-input').hide();
$('#tofawiki-console').append(
$('<div>', { id: 'tofawiki-progress' }),
'<br><hr><br>'
);
var current = 1;
var success = 0;
requests.map(function (request) {
var row = $('<div>', {
'class': 'tofawiki-row',
style: 'border-bottom: 1px solid; margin-bottom: 1em; padding-bottom:1em;'
}).appendTo('#tofawiki-console');
return function generateText() {
var fawiki = request[0].replace(/ي/g, 'ی').replace(/ك/g, 'ک');
var enwiki = request[1];
var promise = method.generateContent(request).then(function (result) {
return result.error
? $.Deferred().reject(result.error)
: preSavedTransform(result.page_content, fawiki);
});
 
$('#tofawiki-progress').text('در حال دریافت «' + fawiki
+ '» (' + (current++).toLocaleString('fa') + ' از ' +
requests.length.toLocaleString('fa') + ')');
 
return promise.then(function (content) {
if (window.persianWikiTools) {
content = persianWikiTools.superTool(content);
}
var textarea = $('<textarea>', { cols: 80, rows: method.editBoxRows || 20, text: content });
var summary = $('<input>', { style: 'width: 500px;' });
if (serverName === 'fa.wikipedia.org')
summary.val('ایجادشده به کمک [[راهنما:ابزار/به ویکی‌فا|به ویکی‌فا]] انبوه و ' + method.summary + '، ابرابزار');
var previewElement = $('<div>', { 'class': 'tofawiki-preview' });
var preview = function () {
return parseContent(textarea.val(), fawiki).then(function (result) {
previewElement.css({
'border': '1px solid grey',
'padding': '1em',
'height': method.previewHeight || 270,
'overflow-y': 'scroll'
}).html(result).append('<div style="clear: both">');
});
};
preview();
var againInput = $('<input>').val(request.join(delimiter));
row.empty().append(
$('<div>', { style: 'font-size: 150%;' }).text(fawiki),
textarea,
'<br>',
summary,
'<br><br>',
previewElement,
'<br>',
$('<button>', { style: 'font-size: 100%', 'class': 'tofawiki-row-create-button', text: 'ایجاد' }).click(function () {
var content = textarea.val();
var summaryText = summary.val();
row.empty().append('در حال ایجاد ' + fawiki + '…');
createPage(fawiki, content, summaryText).then(function () {
pageExists(fawiki).then(function (exists) {
if (!exists) {
row.empty().append(
'«', $('<a>', { text: fawiki, target: '_blank', href: mw.util.getUrl(fawiki) }), '» به دلیل خطا ایجاد نشد! (ممکن است خطای پالایه باشد)',
method.afterSaveUtils ? method.afterSaveUtils(fawiki) : ''
);
} else {
row.empty().append(
'«', $('<a>', { text: fawiki, target: '_blank', href: mw.util.getUrl(fawiki) }), '» ایجاد شد ',
method.afterSaveUtils ? method.afterSaveUtils(fawiki) : ''
);
}
} if (method.noLanguageLinks)
return;
if (++success === requests.length) {
window.onbeforeunload = undefined;
if (serverName !== 'fa.wikipedia.org') return;
}
if (method.noLanguageLinks)
return $.when(wikidataToken(), getWikidataId(enwiki)).then(function (token, id) {
return;
return addWikidataSitelink(token, id, fawiki, 'fawiki');
 
}).then(undefined, function () { return $.Deferred().resolve(); }).then(function () {
if (serverName !== 'fa.wikipedia.org') return;
return $.get('//dexbot.toolforge.org/interwikidata.php', { page: fawiki });
 
}).then(undefined, function () { return $.whenDeferred(wikidataToken).resolve(),; getWikidataId(enwiki)}).then(function (token, id) {
return if addWikidataSitelink(token,method.afterSaveAction) id,return method.afterSaveAction(fawiki, 'fawiki');
});
}).then(undefined, function () { return $.Deferred().resolve(); }).then(function () {
}, function (error) {
return $.get('//dexbot.toolforge.org/interwikidata.php', { page: fawiki });
var retryInput = $('<input>').val(request.join(delimiter));
}).then(undefined, function () { return $.Deferred().resolve(); }).then(function () {
row.empty().append(
if (method.afterSaveAction) return method.afterSaveAction(fawiki);
$('<span>', {
style: 'color: red;',
text: error === 'articleexists'
? 'صفحه‌ای به این عنوان در حال حاضر وجود دارد'
: error
}),
'<br>',
retryInput,
$('<button>').text('تلاش مجدد').click(function () {
request = retryInput.val().split(delimiter);
row.empty().html('تلاش مجدد…');
generateText();
})
);
});
}),
' ',
$('<button>').css('font-size', '100%').text('به‌روزرسانی پیش‌نمایش').click(function () {
var button = $(this);
button.attr('disabled', '');
preview().then(function () {
button.prop('disabled', false);
});
}, function (error) {
var retryInput = $('<input>').val(request.join(delimiter));
row.empty().append(
$('<span>', {
style: 'color: red;',
text: error === 'articleexists'
? 'صفحه‌ای به این عنوان در حال حاضر وجود دارد'
: error
}),
'<br>',
retryInput,
$('<button>').text('تلاش مجدد').click(function () {
request = retryInput.val().split(delimiter);
row.empty().html('تلاش مجدد…');
generateText();
})
);
});
}),
' ',
$('<button>').css('font-size', '100%').text('به‌روزرسانی پیش‌نمایش').click(function () {
var button = $(this);
button.attr('disabled', '');
preview().then(function () {
button.prop('disabled', false);
});
}),
' ',
window.persianWikiTools ? $('<img>', {
src: '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png'
}).click(function () {
textarea.val(persianWikiTools.superTool(textarea.val()));
}) : '',
'<br><br>',
againInput,
$('<button>').text('تهیه مجدد').click(function () {
request = againInput.val().split(delimiter);
row.empty().html('تهیه مجدد…');
generateText();
})
);
}).then(undefined, function (error) {
error = error || 'ایجاد ' + fawiki + ' ناموفق بود';
parseContent(error).then(function (parsedError) {
var retryInput = $('<input>').val(request.join(delimiter));
row.empty().append(
$('<span>', {
style: 'color: red;',
html: parsedError
}),
retryInput' ',
window.persianWikiTools ? $('<img>', {
$('<button>').text('تلاش مجدد').click(function () {
src: '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png'
request = retryInput.val().split(delimiter);
row.empty(}).htmlclick('تلاشfunction مجدد…'(); {
textarea.val(persianWikiTools.superTool(textarea.val()));
}) : '',
'<br><br>',
againInput,
$('<button>').text('تهیه مجدد').click(function () {
request = againInput.val().split(delimiter);
row.empty().html('تهیه مجدد…');
generateText();
})
);
}).then(undefined, function (error) {
error = error || 'ایجاد ' + fawiki + ' ناموفق بود';
parseContent(error).then(function (parsedError) {
var retryInput = $('<input>').val(request.join(delimiter));
row.empty().append(
$('<span>', {
style: 'color: red;',
html: parsedError
}),
retryInput,
$('<button>').text('تلاش مجدد').click(function () {
request = retryInput.val().split(delimiter);
row.empty().html('تلاش مجدد…');
generateText();
})
);
});
return $.Deferred().resolve();
});
};
return $.Deferred().resolve();
}).reduce(function (defer, job) {
});
return defer.then(job);
};
}, $.Deferred().reduceresolve()).then(function (defer, job) {
$('#tofawiki-progress').empty();
return defer.then(job);
}, $.Deferred().resolve()).then(function () {
function createAll() {
$('#tofawiki-progress').empty();
var createAllButton = $('#tofawiki-createallbutton');
createAllButton.prop('disabled', 'disabled');
function createAll() {
var createAllButton = $('#.tofawiki-createallbuttonrow-create-button');.get().map(function (button) {
return function () {
createAllButton.prop('disabled', 'disabled');
$('.tofawiki-row-create-button').getclick().map(function (button) {;
return var functiondefer = $.Deferred() {;
$ setTimeout(button)defer.click(resolve, 1000);
var return defer = $.Deferred();
setTimeout(defer.resolve, 1000)};
return}).reduce(function (defer;, job) {
} return defer.then(job);
}, $.Deferred().reduceresolve()).then(function (defer, job) {
return defer createAllButton.thenhide(job);
});
}, $.Deferred().resolve()).then(function () {
}
createAllButton.hide();
});
if (mw.config.get('wgUserGroups').indexOf('bot') !== -1) {
$('#tofawiki-progress').append($('<button>', {
id: 'tofawiki-createallbutton',
text: 'ایجاد همه'
}).click(createAll));
}
if (method.autoCreate) {
createAll();
}
});
$('#tofawiki-console').append('<br>اصل درخواست‌ها: ', $('<div>', {
style: 'margin: 1em; padding: 0.4em; border: 1px dotted; white-space: pre-wrap;',
html: requests.map(function (x) { return x.join(delimiter); }).join('<br>')
}));
}),
' ',
$('<button>', { style: 'font-size: 100%', id: 'tofawiki-checkbutton', text: 'بررسی' }).click(function () {
var delimiter = $('#tofawiki-delimiter').val();
var requests = resolveUserRequests(delimiter);
if (requests.some(function (x) { return x.length !== requests[0].length; })) {
mw.notify('❌ اندازه‌های ورودی‌ها در خطوط مختلف یکسان نیست! احتمالاً اشتباهی در ورودی وجود دارد.', { autoHide: false });
}
var button = $(this);
button.text('در حال انجام…');
if (mw.config.get('wgUserGroups').indexOf('bot') !== -1) {
$('#tofawiki-progress').append($('<button>', {
id: 'tofawiki-createallbutton',
text: 'ایجاد همه'
}).click(createAll));
}
if (method.autoCreate) {
createAll();
}
});
$('#tofawiki-console').append('<br>اصل درخواست‌ها: ', $('<div>', {
style: 'margin: 1em; padding: 0.4em; border: 1px dotted; white-space: pre-wrap;',
html: requests.map(function (x) { return x.join(delimiter); }).join('<br>')
}));
}),
' ',
$('<button>', { style: 'font-size: 100%', id: 'tofawiki-checkbutton', text: 'بررسی' }).click(function () {
var delimiter = $('#tofawiki-delimiter').val();
var requests = resolveUserRequests(delimiter);
if (requests.some(function (x) { return x.length !== requests[0].length; })) {
mw.notify('❌ اندازه‌های ورودی‌ها در خطوط مختلف یکسان نیست! احتمالاً اشتباهی در ورودی وجود دارد.', { autoHide: false });
}
var button = $(this);
button.text('در حال انجام…');
$.post('//tofawiki-linkstranslator.wmcloud.org/', {
from: 'fa',
to: 'fa',
p: requests.map(function (x) { return x[0]; }).join('|')
}).then(function (faPages) {
faPages = Object.keys(faPages);
$.post('//tofawiki-linkstranslator.wmcloud.org/', {
from: 'enfa',
to: 'fa',
p: requests.map(function (x) { return x[10]; }).join('|')
}).then(function (enFaEqusfaPages) {
buttonfaPages = Object.textkeys('بررسی'faPages);
$.post('//tofawiki-linkstranslator.wmcloud.org/', {
//mw.notify('✔️ بررسی انجام شد!', { autoHide: false });
from: 'en',
mw.notify('تعداد متغیرهای ورودی ' + requests[0].length.toString() + ' است، مطمئن شوید که الگو تراگنجانش هم همین تعداد متغیر دارد.', { autoHide: false });
to: 'fa',
enFaEqus = Object.keys(enFaEqus);
$('#tofawiki-main').val( p: requests.map(function (x) { return x[1]; }).join('|')
if (faPages}).indexOfthen(x[0])function !== -1(enFaEqus) {
button.text('بررسی');
x[0] = 'خطا: صفحهٔ موجود > ' + x[0];
//mw.notify('✔️ بررسی انجام شد!', { autoHide: false });
}
mw.notify('تعداد متغیرهای ورودی ' + requests[0].length.toString() + ' است، مطمئن شوید که الگو تراگنجانش هم همین تعداد متغیر دارد.', { autoHide: false });
if (enFaEqus.indexOf(x[1]) !== -1) {
enFaEqus = Object.keys(enFaEqus);
x[1] = 'خطا: ترجمهٔ موجود > ' + x[1];
$('#tofawiki-main').val(requests.map(function (x) {
}
if (faPages.indexOf(x[0]) !== -1) {
return x.join(delimiter);
x[0] = 'خطا: صفحهٔ موجود > ' + x[0];
}).join('\n'));
}
if (enFaEqus.indexOf(x[1]) !== -1) {
x[1] = 'خطا: ترجمهٔ موجود > ' + x[1];
}
return x.join(delimiter);
}).join('\n'));
});
});
});,
}) ' ',
window.persianWikiTools ? $('<img>', {
' ',
src: '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png'
window.persianWikiTools ? $('<img>', {
}).click(function () {
src: '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png'
$('#tofawiki-main').val(persianWikiTools.superToolMove($('#tofawiki-main').val()));
}).click(function () {
}) : '',
$('#tofawiki-main').val(persianWikiTools.superToolMove($('#tofawiki-main').val()));
}) ' : '',
$(' <button>', {
id: 'tofawiki-firstaidsbutton',
$('<button>', {
text: 'اصلاح‌های اولیه',
id: 'tofawiki-firstaidsbutton',
style: 'font-size: 40%'
text: 'اصلاح‌های اولیه',
}).click(function () {
style: 'font-size: 40%'
} $('#tofawiki-main').val($('#tofawiki-main').val().split('\n').clickmap(function (x) {
var r = x.split('\t');
$('#tofawiki-main').val($('#tofawiki-main').val().split('\n').map(function (x) {
var if (!r[1]) =return x.split('\t');
var row = r[1].trim().replace(/^en:/, '').replace(/\)$/, '').split('(⎘');
if (!r[1]) return '';
var if (!row = r[1].trim().replace(/^en:/, '').replace(/\)$/,return '').split('(⎘');
row[1] = persianWikiTools.superToolMove(row[1]
if (!row[1]) return '';
.replace(/ي/g, 'ی').replace(/ك/g, 'ک').replace(/ة/g, 'ه')
row[1] = persianWikiTools.superToolMove(row[1]
.replace(/ي^en:/g, 'ی').replace(/كأ/g, 'کا').replace(/ةاء/g, 'ها')
.replace(/^en:/, '').replace(/أ/g, 'ا').replace(/اءإ/g, 'ا')
.replace(/إعبد ال/g, 'اعبدال')
.replace(/عبد([ ال\(\)])لاعب([ \(\)])/g, 'عبدال$1بازیکن$2')
.replace(/([ \(\)])لاعبكرة قدم([ \(\)])/g, '$1بازیکن1فوتبال$2')
.replace(/([ \(\)])كرة قدمموالید([ \(\)])/g, '$1فوتبال1زاده$2')
.replace(/^([ \(\)].*?)موالید([,،] \(\)].*)$/g, '$1زاده1 ($2)'));
return row.replace(/^reverse().*?)[,،] join(.*'@')$/, '$1+ ($2)'))\n';
return row.reverse(}).join('@') + '\n');
}).join(''));
})));
)));
function onHashChange() {
if (location.hash === '#catmaker') {
function onHashChange() {
$('#tofawiki-select').val('category');
if (location.hash === '#catmaker') {
}
$('#tofawiki-select').val('category');
if (location.hash && location.hash.split('|')[0] === '#redirectmaker') {
$('#tofawiki-select').val('redirect');
}
$('#tofawiki-select').change();
}
$(window).on('hashchange', onHashChange);
if (location.hash && location.hash.split('|')[0] === '#redirectmaker') {
onHashChange();
$('#tofawiki-select').val('redirect');
}
$('#tofawiki-select').change();
}
$(window).on('hashchange', onHashChange);
onHashChange();
 
function resolveUserRequests(delimiter) {
return $('#tofawiki-main').val().trim().split('\n')
.filter(function (x) {
return x.indexOf(delimiter) !== -1;
}).map(function (x) {
if ($('#tofawiki-select').val() === 'category') {
x = x.replace(/رده:/, '').replace(/Category:/i, '');
}
 
x = x.split(delimiter);
x[0] = x[0].split('>').slice(-1)[0].trim();
x[1] = x[1].split('>').slice(-1)[0].trim();
 
if ($('#tofawiki-select').val() === 'category') {
x[0] = 'رده:' + x[0];
x[1] = 'Category:' + x[1];
}
return x;
});
}
function parseContentresolveUserRequests(content, titledelimiter) {
return new mw$('#tofawiki-main').Apival().posttrim({).split('\n')
.filter(function (x) {
action: 'parse',
return x.indexOf(delimiter) !== -1;
text: content,
}).map(function (x) {
contentmodel: 'wikitext',
if ($('#tofawiki-select').val() === 'category') {
prop: 'text',
x = x.replace(/رده:/, '').replace(/Category:/i, '');
pst: '',
}
title: title || 'API'
}).then(function (data) { return data.parse.text['*']; });
}
 
function preSavedTransform(content, title) {
return new mw.Api().post({
action: 'parse',
text: content,
contentmodel: 'wikitext',
prop: 'text',
onlypst: '',
title: title || 'API'
}).then(function (data) { return data.parse.text['*']; });
}
x = x.split(delimiter);
function createPage(title, text, summary) {
x[0] = x[0].split('>').slice(-1)[0].trim();
return new mw.Api().post({
x[1] = x[1].split('>').slice(-1)[0].trim();
action: 'edit',
title: title,
text: text,
summary: summary || '',
createonly: '',
bot: '',
token: mw.user.tokens.get('csrfToken')
}).then(function (response) {
return response.error
? $.Deferred().reject(response.error)
: response;
});
}
if ($('#tofawiki-select').val() === 'category') {
var wikidataTokenCache;
x[0] = 'رده:' + x[0];
function wikidataToken() {
x[1] = 'Category:' + x[1];
if (wikidataTokenCache) {
}
return $.Deferred().resolve(wikidataTokenCache);
return x;
});
}
 
function parseContent(content, title) {
return $.ajax({
return new mw.Api().post({
url: '//www.wikidata.org/w/api.php',
data action: {'parse',
actiontext: 'query'content,
metacontentmodel: 'tokenswikitext',
formatprop: 'jsontext',
pst: '',
origin: location.protocol + '//' + location.hostname
title: title || 'API'
},
}).then(function (data) { return data.parse.text['*']; });
xhrFields: { withCredentials: true }
}
}).then(function (data) {
var token = data.query.tokens.csrftoken;
function preSavedTransform(content, title) {
if (token === '+\\') {
return new mw.Api().post({
// not logged in
action: 'parse',
return $.Deferred().reject('login');
} text: else {content,
contentmodel: 'wikitext',
wikidataTokenCache = token;
returnprop: token;'text',
onlypst: '',
title: title || 'API'
}).then(function (data) { return data.parse.text['*']; });
}
function createPage(title, text, summary) {
return new mw.Api().post({
action: 'edit',
title: title,
text: text,
summary: summary || '',
createonly: '',
bot: '',
token: mw.user.tokens.get('csrfToken')
}).then(function (response) {
return response.error
? $.Deferred().reject(response.error)
: response;
});
}
var wikidataTokenCache;
function wikidataToken() {
if (wikidataTokenCache) {
return $.Deferred().resolve(wikidataTokenCache);
}
});
}
 
function getWikidataId(enTitle) {
return new mw.Api({ ajax: { url: '//www.wikidata.org/w/api.php' } }).get({
action: 'wbgetentities',
format: 'json',
sites: 'enwiki',
titles: enTitle,
props: 'info',
origin: location.protocol + '//' + location.hostname
}).then(function (x) {
return x.entities[Object.keys(x.entities)[0]].id;
});
}
return $.ajax({
function addWikidataSitelink(token, wikidataId, title, site) {
url: '//www.wikidata.org/w/api.php',
return $.ajax({
data: {
url: '//www.wikidata.org/w/api.php',
type action: 'POSTquery',
data meta: {'tokens',
action format: 'wbsetsitelinkjson',
origin: location.protocol + '//' + location.hostname
},
xhrFields: { withCredentials: true }
}).then(function (data) {
var token = data.query.tokens.csrftoken;
if (token === '+\\') {
// not logged in
return $.Deferred().reject('login');
} else {
wikidataTokenCache = token;
return token;
}
});
}
function getWikidataId(enTitle) {
return new mw.Api({ ajax: { url: '//www.wikidata.org/w/api.php' } }).get({
action: 'wbgetentities',
format: 'json',
idsites: wikidataId'enwiki',
linksitetitles: siteenTitle,
linktitleprops: title'info',
bot: '1',
token: token,
origin: location.protocol + '//' + location.hostname
}).then(function (x) {
},
return x.entities[Object.keys(x.entities)[0]].id;
xhrFields: { withCredentials: true }
});
}).then(function (data) {
}
return data.error ? $.Deferred().reject(data.error) : data;
});
function addWikidataSitelink(token, wikidataId, title, site) {
return $.ajax({
url: '//www.wikidata.org/w/api.php',
type: 'POST',
data: {
action: 'wbsetsitelink',
format: 'json',
id: wikidataId,
linksite: site,
linktitle: title,
bot: '1',
token: token,
origin: location.protocol + '//' + location.hostname
},
xhrFields: { withCredentials: true }
}).then(function (data) {
return data.error ? $.Deferred().reject(data.error) : data;
});
}
};
function callback(json) {
var u = mw.config.get('wgUserName');
if (json.allowedusers.indexOf(u) === -1) {
$('#content').empty().append(
'<span>پیش از آن که بتوانید از ابزار به‌ویکی‌فا انبوه استفاده کنید، باید در ',
'<b><a href="/wiki/ویکی‌پدیا:درخواست_برای_دسترسی/به‌ویکی‌فا_انبوه" target=_blank">صفحهٔ درخواست برای دسترسی</a></b>',
' برای کسب دسترسی به این ابزار درخواست دهید.</span>');
return;
} else {
tofawiki.run();
}
}
});