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

صفحه‌ای تازه حاوی «$(function () { 'use strict'; document.title = 'به‌ویکی‌فا انبوه - ویکی‌پدیا، دانشنامهٔ آزاد';...» ایجاد کرد
 
بدون خلاصۀ ویرایش
 
(۲ نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد)
خط ۲: خط ۲:
'use strict';
'use strict';
document.title = 'به‌ویکی‌فا انبوه - ویکی‌پدیا، دانشنامهٔ آزاد';
document.title = 'تغییر مسیر ساز ویکی حج';


if (mw.config.get('wgCanonicalSpecialPageName') !== 'Blankpage' ||
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Blankpage' ||
خط ۹: خط ۹:
}
}
/*if (mw.config.get('wgUserGroups').every(function (x) {
/* if (mw.config.get('wgUserGroups').every(function (x) {
return ['bot', 'autopatrolled', 'patroller', 'sysop', 'eliminator'].indexOf(x) === -1;
return ['bot', 'autopatrolled', 'patroller', 'sysop', 'eliminator'].indexOf(x) === -1;
})) {
})) {
$('#content').empty().append('متأسفانه این ابزار به کاربران دارای دسترسی گشت خودکار محدود شده است.');
$('#content').empty().append('متأسفانه این ابزار به کاربران دارای دسترسی گشت خودکار محدود شده است.');
return;
return;
}*/
} */


window.onbeforeunload = function () {
window.onbeforeunload = function () {
خط ۲۴: خط ۲۴:
var methods = {
var methods = {
city: {
/* city: {
title: 'شهر و مکان‌های مسکونی',
title: 'شهر و مکان‌های مسکونی',
summary: 'Rezabot',
summary: 'Rezabot',
خط ۶۲: خط ۶۲:
enableCheckButton: true,
enableCheckButton: true,
enableFirstAidsButton: true
enableFirstAidsButton: true
},
}, */
redirect: {
redirect: {
title: 'تغییرمسیر',
title: 'تغییرمسیر',
summary: 'فهرست ورودی',
summary: 'تغییرمسیرساز',
generateContent: function (request) {
generateContent: function (request) {
return $.Deferred().resolve({
return resolveRedirect(request[1]).then(function (title) {
page_content: '#' + 'تغییرمسیر [' + '[' + request[1] + ']]'
return {
});
page_content: '#' + 'تغییرمسیر [' + '[' + title + ']]'
};
})
},
},
noLanguageLinks: true,
noLanguageLinks: true,
خط ۱۳۶: خط ۱۳۸:
},
},


category: {
/* category: {
title: 'رده',
title: 'رده',
summary: 'فهرست ورودی',
summary: 'فهرست ورودی',
generateContent: function (request) {
generateContent: function (request) {
var enlink = request[1].replace(/\_/g, ' ');
return $.getJSON('//tofawiki.wmcloud.org/translate/enwiki/' + request[1] + '/' + request[0]);
return $.post('//tofawiki-linkstranslator.wmcloud.org/', { p: enlink }).then(function (result) {
if (Object.keys(result).length) {
return $.Deferred().reject('صفحهٔ معادل قبلاً وجود داشت');
}
return catParents(enlink);
}).then(function (parents) {
if (!parents) {
return $.Deferred().reject('صفحهٔ "' + enlink + '" در ویکی مبدأ وجود ندارد یا خود دارای رده نیست');
}
return $.post('//tofawiki-linkstranslator.wmcloud.org/', {
p: parents.join('|')
})
}).then(function (translatedParents) {
return getWikidataEntity(enlink).then(function (entity) {
var text = Object.keys(translatedParents).map(function (x) {
return translatedParents[x];
}).sort(function (x, y) {
var keyX = dePersian(x),
keyY = dePersian(y);
if (keyX < keyY) { return -1; }
if (keyX > keyY) { return 1; }
return 0;
}).map(function (x) {
return '[[' + x + ']]';
}).join('\n') + '\n\n[' + '[en:' + enlink + ']]';
 
if (entity.claims && entity.claims.P373)
text = '{' + '{انبار-رده}}\n' + text;
if (entity.claims && entity.claims.P301)
text = '{' + '{اصلی رده}}\n' + text;
 
return { page_content: text };
});
});
},
},
afterSaveAction: function (pageTitle) {
afterSaveAction: function (pageTitle) {
خط ۲۶۳: خط ۲۳۱:
extraInfo: $('<div>').append(
extraInfo: $('<div>').append(
'راهنمای <b><a href="//fa.wikipedia.org/wiki/راهنما:ساخت_مقاله_به_کمک_الگوی_شخصی_با_ابزار_به_ویکی‌فا_انبوه" target="_blank">ساخت مقاله به کمک الگوی شخصی با ابزار به ویکی‌فا انبوه</a></b> اطلاعات بسیار خوبی رابطه جهت استفاده از این قسمت می‌دهد.<br><br>',
'راهنمای <b><a href="//fa.wikipedia.org/wiki/راهنما:ساخت_مقاله_به_کمک_الگوی_شخصی_با_ابزار_به_ویکی‌فا_انبوه" target="_blank">ساخت مقاله به کمک الگوی شخصی با ابزار به ویکی‌فا انبوه</a></b> اطلاعات بسیار خوبی رابطه جهت استفاده از این قسمت می‌دهد.<br><br>',
'به طور خلاصه برای استفاده از این ابزار کافی‌ست فایل اکسل را در جعبهٔ زیر کپی کنید و الگوی تراگنجایش را مشخص کنید.',
'به طور خلاصه برای استفاده از این ابزار کافی‌ست فایل اکسل را در جعبهٔ زیر کپی کنید و الگوی تراگنجانش را مشخص کنید.',
'<br>',
'<br>',
'<b>نکته:</b> متغیر۱ برابر با نام مقاله و متغیر۲ برابر با میان‌ویکی‌ست و سایر متغیرها هم برای معرفی بخش‌های تغییرپذیر مقاله کاربرد دارند.'
'<b>نکته:</b> متغیر۱ برابر با نام مقاله و متغیر۲ برابر با میان‌ویکی‌ست و سایر متغیرها هم برای معرفی بخش‌های تغییرپذیر مقاله کاربرد دارند.'
خط ۲۷۰: خط ۲۳۸:
enableCheckButton: true,
enableCheckButton: true,
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) {
/* function catParents(title) {
return new mw.Api({ ajax: { url: '//en.wikipedia.org/w/api.php' } }).get({
return new mw.Api({ ajax: { url: '//en.wikipedia.org/w/api.php' } }).get({
action: 'query',
action: 'query',
خط ۲۸۹: خط ۲۷۰:
function getWikidataEntity(entitle) {
function getWikidataEntity(entitle) {
return new mw.Api({ ajax: { url: '//www.wikidata.org/w/api.php' } }).get({
return new mw.Api({ ajax: { url: '//feqhemoaser.com/api.php' } }).get({
action: 'wbgetentities',
action: 'wbgetentities',
format: 'json',
format: 'json',
خط ۳۱۷: خط ۲۹۸:
}
}
////
////
*/
$('#content').empty().append($('<div>', { id: 'tofawiki-console' }).css({
$('#content').empty().append($('<div>', { id: 'tofawiki-console' }).css({
border: '2px solid #b3000b',
border: '2px solid #b3000b',
خط ۳۵۵: خط ۳۳۶:
'<br>',
'<br>',
$('<div>', { id: 'tofawiki-custom' }).append(
$('<div>', { id: 'tofawiki-custom' }).append(
'الگو برای تراگنجایش: ',
'الگو برای تراگنجانش: ',
$('<input>', { id: 'tofawiki-customtemplate' })
$('<input>', { id: 'tofawiki-customtemplate' })
).hide(),
).hide(),
خط ۴۰۴: خط ۳۸۵:
var textarea = $('<textarea>', { cols: 80, rows: method.editBoxRows || 20, text: content });
var textarea = $('<textarea>', { cols: 80, rows: method.editBoxRows || 20, text: content });
var summary = $('<input>', { style: 'width: 500px;' })
var summary = $('<input>', { style: 'width: 500px;' })
.val('تغییر مسیر ساز');
.val('ایجادشده به کمک [[راهنما:ابزار/به ویکی‌فا|به ویکی‌فا]] انبوه و ' + method.summary + '، ابرابزار');
var previewElement = $('<div>', { 'class': 'tofawiki-preview' });
var previewElement = $('<div>', { 'class': 'tofawiki-preview' });
var preview = function () {
var preview = function () {
خط ۵۷۸: خط ۵۵۹:
button.text('بررسی');
button.text('بررسی');
//mw.notify('✔️ بررسی انجام شد!', { autoHide: false });
//mw.notify('✔️ بررسی انجام شد!', { autoHide: false });
mw.notify('تعداد متغییرهای ورودی '+requests[0].length.toString()+' است، مطمئن شوید که الگو تراگنجایش هم همین تعداد متغییر دارد.', { autoHide: false });
mw.notify('تعداد متغیرهای ورودی ' + requests[0].length.toString() + ' است، مطمئن شوید که الگو تراگنجانش هم همین تعداد متغیر دارد.', { autoHide: false });
enFaEqus = Object.keys(enFaEqus);
enFaEqus = Object.keys(enFaEqus);
$('#tofawiki-main').val(requests.map(function (x) {
$('#tofawiki-main').val(requests.map(function (x) {
خط ۶۰۱: خط ۵۸۲:
$('<button>', {
$('<button>', {
id: 'tofawiki-firstaidsbutton',
id: 'tofawiki-firstaidsbutton',
text: 'اصلاح‌های اولیه ربات استخراج',
text: 'اصلاح‌های اولیه',
style: 'font-size: 40%'
style: 'font-size: 40%'
}).click(function () {
}).click(function () {
خط ۶۱۶: خط ۵۹۷:
.replace(/([ \(\)])لاعب([ \(\)])/g, '$1بازیکن$2')
.replace(/([ \(\)])لاعب([ \(\)])/g, '$1بازیکن$2')
.replace(/([ \(\)])كرة قدم([ \(\)])/g, '$1فوتبال$2')
.replace(/([ \(\)])كرة قدم([ \(\)])/g, '$1فوتبال$2')
.replace(/([ \(\)])موالید([ \(\)])/g, '$1زاده$2'));
.replace(/([ \(\)])موالید([ \(\)])/g, '$1زاده$2')
.replace(/^(.*?)[,،] (.*)$/, '$1 ($2)'));
return row.reverse().join('@') + '\n';
return row.reverse().join('@') + '\n';
}).join(''));
}).join(''));
خط ۷۰۰: خط ۶۸۲:


return $.ajax({
return $.ajax({
url: '//www.wikidata.org/w/api.php',
url: '//wikihaj.com/api.php',
data: {
data: {
action: 'query',
action: 'query',
خط ۷۲۱: خط ۷۰۳:


function getWikidataId(enTitle) {
function getWikidataId(enTitle) {
return new mw.Api({ ajax: { url: '//www.wikidata.org/w/api.php' } }).get({
return new mw.Api({ ajax: { url: '//wikihaj.com/api.php' } }).get({
action: 'wbgetentities',
action: 'wbgetentities',
format: 'json',
format: 'json',
خط ۷۳۵: خط ۷۱۷:
function addWikidataSitelink(token, wikidataId, title, site) {
function addWikidataSitelink(token, wikidataId, title, site) {
return $.ajax({
return $.ajax({
url: '//www.wikidata.org/w/api.php',
url: '//wikihaj.com/api.php',
type: 'POST',
type: 'POST',
data: {
data: {