کاربر:MohandesWiki/common.js: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
MohandesWiki (بحث | مشارکتها) بدون خلاصۀ ویرایش |
MohandesWiki (بحث | مشارکتها) بدون خلاصۀ ویرایش |
||
خط ۱:
(function () {
'use strict';
// افزودن ابزار ترجمه
importScript("User:Ebrahim/ArticleTranslator.js");
if (mw.config.get('wgAction') !== 'view' ||
(mw.config.get('wgNamespaceNumber') !== 0 &&
mw.config.get('wgNamespaceNumber') !== 4 &&
mw.config.get('wgNamespaceNumber') !== 6 &&
mw.config.get('wgNamespaceNumber') !== 10 &&
mw.config.get('wgNamespaceNumber') !== 14 &&
mw.config.get('wgNamespaceNumber') !== 108)) {
return;
}
var GENERAL_BOT = 'ویکیپدیا:درخواست ایجاد مقاله (رباتیک)';
var CITIES_BOT = 'ویکیپدیا:ویکیپروژه ایجاد مقالههای شهرها با ربات/درخواست ساخت رباتیک';
var PEOPLE_BOT = 'ویکیپدیا:درخواست ایجاد مقاله (رباتیک)/انسان';
var OTHER_REQUESTS = 'ویکیپدیا:مقالههای درخواستی';
var CATEGORIES_BOT = 'ویکیپدیا:درخواست ایجاد رده (رباتیک)';
var FAIRUSE_IMAGES = 'تصاویر استفادهٔ منصفانه';
var TEMPLATE_BOOK_TRANSLATOR = 'مترجم الگو و کتاب';
var DISAMBIGUATION_BOT = 'صفحهٔ ابهامزدایی';
var WIKIPEDIA_TRANSLATOR='مترجم فضای نام ویکیپدیا';
var requestingPages = {
'آرایههای زیستی، فیلم، موسیقی، رود، ساختمان و بازیهای ویدئویی': GENERAL_BOT,
'شهرها و مکانهای مسکونی': CITIES_BOT,
'انسان و اشخاص':
'صفحهٔ ابهامزدایی': DISAMBIGUATION_BOT,
'مطالب عمومی': OTHER_REQUESTS,
'ردهها': CATEGORIES_BOT,
'تصاویر منصفانه': FAIRUSE_IMAGES,
'الگوها و کتابها': TEMPLATE_BOOK_TRANSLATOR,
'فضای نام ویکیپدیا': WIKIPEDIA_TRANSLATOR
};
function suggestRequestPlace() {
if ($('.infobox.geography').length !== 0 && ($('#catlinks a[href^="/wiki/Category:Rivers"]').length === 0)&& mw.config.get('wgNamespaceNumber') === 0) {
return CITIES_BOT;
} else if (($('.infobox.biota, .infobox.haudio, .description a[href="/wiki/Single_(music)"]').length !== 0) ||
($('#coordinates').length !== 0 && $('.infobox.vcard .fn').length !== 0) ||
($('#catlinks a[href^="/wiki/Category:Rivers"]').length !== 0) ||
($('#catlinks a[href^="/wiki/Category:Songs"]').length !== 0) ||
($('#catlinks a[href^="/wiki/Category:Films"]').length !== 0) ||
($('#catlinks a[href$="films"]').length !== 0) ||
($('#catlinks a[href*="video_games"], #catlinks a[href*="Video_game"]').length !== 0)&& mw.config.get('wgNamespaceNumber') === 0) {
return GENERAL_BOT;
} else if (( $('#catlinks a[href^="/wiki/Category:All_article_disambiguation_pages"]').length !== 0 || $('#catlinks a[href^="/wiki/Category:All_set_index_articles"]').length !== 0) && mw.config.get('wgNamespaceNumber') === 0) {
return DISAMBIGUATION_BOT;
} else if ($('#catlinks a[href^="/wiki/Category:Island"]').length !== 0&& mw.config.get('wgNamespaceNumber') === 0) {
return CITIES_BOT;
} else if (mw.config.get('wgNamespaceNumber') === 4) {
return WIKIPEDIA_TRANSLATOR;
} else if (mw.config.get('wgNamespaceNumber') === 14) {
return CATEGORIES_BOT;
} else if (mw.config.get('wgNamespaceNumber') === 10 || mw.config.get('wgNamespaceNumber') === 108) {
return TEMPLATE_BOOK_TRANSLATOR;
} else if (mw.config.get('wgNamespaceNumber') === 6) {
return FAIRUSE_IMAGES;
} else if (($('.infobox.vcard .fn, #catlinks a[href^="people"]').length !== 0&& mw.config.get('wgNamespaceNumber') === 0) &&
($('#catlinks a[href*="Ethnic_groups"]').length === 0)) {
return PEOPLE_BOT;
}
return OTHER_REQUESTS;
}
function
return new mw.Api({ ajax: { url: '//fa.wikipedia.org/w/api.php' } }).get({
action: 'query',
format: 'json',
origin: location.protocol + '//' + location.hostname
}).then(function (data) { return data.query.pages['-1'] === undefined; });
}
function
return new mw.Api({ ajax: { url: '//fa.wikipedia.org/w/api.php' } }).get({
action: 'query',
list: 'users',
ususers: mw.config.get('wgUserName'),
usprop:
origin: location.protocol + '//' + location.hostname
}).then(function (res) {
return res.query.users[0].groups.some(function (x) {
return ['bot', 'autopatrolled', 'patroller', 'sysop'].indexOf(x) !== -1;
});
});
}
var passedHtml = '<span style="color: #00af89; font-size: 140%">✓</span>';
var failedHtml = '<span style="color: #d33; font-size: 140%">✗</span>';
function validityCheck() {
var origValue =
if (page === '') { $('#tofawiki-status').html(''); return; }
if (mw.config.get('wgNamespaceNumber') === 14) { page = 'رده:' + page.replace(/^رده:/, ''); }
if (mw.config.get('wgNamespaceNumber') === 10) { page = 'الگو:' + page.replace(/^الگو:/, ''); }
if (mw.config.get('wgNamespaceNumber') === 108) { page = 'کتاب:' + page.replace(/^کتاب:/, ''); }
if (mw.config.get('wgNamespaceNumber') === 6) { page = 'پرونده:' + page.replace(/^پرونده:/, ''); }
pageExists(page).then(function (exists) {
if ($('#tofawiki-name').val() !== origValue) { // that request is no longer relevant
if
$('#tofawiki-status').empty().append(passedHtml + ' صفحهای با نام «' + page + '» ' +
'در ویکیپدیای فارسی موجود نیست پس روند ایجاد را ادامه میدهیم!');
} else
$('#tofawiki-status').empty().append(failedHtml, ' عنوان «', $('<a>', {
target: '_blank',
href: '//fa.wikipedia.org' +
text:
}), '» در ویکیپدیای فارسی وجود دارد. مطمئن شوید که صفحهٔ تکراری نیست!');
text: 'برای افزودن (ابهامزدایی) بهعنوان کلیک کنید',
$('#tofawiki-name').val($('#tofawiki-name').val() + ' (ابهامزدایی)');
}));
}
}
});
}
$.when($.ready, mw.loader.using('jquery.ui.dialog')).then(function () {
// if already has a link to fawiki, give up
if ($('.interlanguage-link.interwiki-fa').length !== 0) { return; }
// if is commons image, give up
if ($('#ca-view-foreign').length !== 0) { return; }
$('#ca-tofawiki').remove();
if ($('#mw-imagepage-nofile, #noarticletext').length !== 0) {
return;
}
// if it is a free image, bring TransferToCommons instead
if (mw.config.get('wgNamespaceNumber') ===
'#catlinks a[href^="/wiki/Category:Creative_Commons_Attribution"], ' +
'#catlinks a[href="/wiki/Category:Move_to_Commons_Priority_Candidates"],' +
'#catlinks a[href="/wiki/Category:Convert_to_SVG_and_copy_to_Wikimedia_Commons"], ' +
'#catlinks a[href^="/wiki/Category:Copy_to_Wikimedia_Commons"]').length !== 0 &&
$('#catlinks a[href^="/wiki/Category:Wikipedia_files_not_suitable_for_Commons"]').length === 0) {
$(mw.util.addPortletLink(
'
new mw.Uri('//
lang: mw.config.get('wgContentLanguage'),
image: mw.config.get('wgTitle'),
'انتقال به ویکیانبار'
)).find('a').prop('target', '_blank').prepend($('<img>', {
src: '//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/14px-Commons-logo.svg.png'
}), '
return;
}
"#tofawiki-form * { font-family: 'Segoe UI', Tahoma, 'Iranian Sans', 'DejaVu Sans', 'Noto Sans', 'Droid Arabic Kufi', sans-serif !important; } " +
"#tofawiki-form .ui-dialog-titlebar-close { right: initial; left: .75em; } " +
"#tofawiki-form .ui-dialog-title { float: right; }"
);
$(mw.util.addPortletLink($('#p-views').length !== 0 ? 'p-views' : 'p-cactions', '#', 'tofawiki!', 'ca-tofawiki', null, null, '#ca-view')).click(function (e) {
mw.loader.load('//fa.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-persiantools.js&action=raw&ctype=text/javascript');
mw.loader.load('//fa.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-persianwikitools.js&action=raw&ctype=text/javascript');
mw.loader.load('//fa.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-dictionary.js&action=raw&ctype=text/javascript');
e.preventDefault();
$('#tofawiki-form').remove();
dir: 'rtl',
style: "position: relative;"
}).append($('<div>', { style: 'font-size: 90%; float: left' }).append($('<a>', {
id: 'tofawiki-consolelink',
html: 'ابزار ایجاد انبوه',
tabindex: '-1',
title: 'ابزار ایجاد انبوه',
target: '_blank',
href: '//fa.wikipedia.org' + mw.util.getUrl('ویژه:صفحهٔ_خالی/tofawiki-conosle') + '?withJS=MediaWiki:TofawikiConsole.js'
}).hide()), '<br style="clear: both">', $('<div>', {
style: 'margin-top: 0.4em;',
text: 'ایجاد توسط: '
}).append($('<a>', {
text: 'راهنما',
tabindex: '-1',
title: 'راهنمای کار با ابزار',
target: '_blank',
style: 'float: left; font-size: smaller;',
href: '//fa.wikipedia.org' + mw.util.getUrl('راهنما:ابزار/به_ویکیفا')
}), $('<select>', {
id: 'tofawiki-select',
style: 'padding: 1px; vertical-align: baseline; font-family: inherit;'
}).append(
$.map(requestingPages, function (item, description) {
var disabled =
mw.config.get('wgNamespaceNumber') === 14 && item !== CATEGORIES_BOT ||
mw.config.get('wgNamespaceNumber') === 0 && item === CATEGORIES_BOT ||
mw.config.get('wgNamespaceNumber') === 4 && item !== WIKIPEDIA_TRANSLATOR ||
mw.config.get('wgNamespaceNumber') === 0 && item === WIKIPEDIA_TRANSLATOR ||
mw.config.get('wgNamespaceNumber') === 6 && item !== FAIRUSE_IMAGES ||
mw.config.get('wgNamespaceNumber') === 0 && item === FAIRUSE_IMAGES ||
(mw.config.get('wgNamespaceNumber') === 10 || mw.config.get('wgNamespaceNumber') === 108) && item !== TEMPLATE_BOOK_TRANSLATOR ||
mw.config.get('wgNamespaceNumber') === 0 && item === TEMPLATE_BOOK_TRANSLATOR;
return $('<option>', { value: item, text: description, disabled: disabled });
})
)), $('<div>', {
style: 'padding-top: 1em',
text: 'تحت نام: '
}).append($('<input>', {
dir: 'rtl',
id: 'tofawiki-name',
style: 'font-family: inherit; width: 50%'
}).on('input', validityCheck), ' ', $('<img>', { src: '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png' }).click(function () {
$('#tofawiki-name').val(persianWikiTools.superToolMove($('#tofawiki-name').val()));
}), ' ', mw.config.get('wgNamespaceNumber') === 0
? $('<button>', {
id: 'tofawiki-transliteration-suggestion',
style: 'font-size: 70%',
text: 'پیشنهاد',
title: 'دریافت عنوان پیشنهادی از طریق نویسهگردانی رباتیک'
}).click(function () {
var button = $(this).prop('disabled', 'disabled').text('لطفاً منتظر بمانید…');
$.get('https://tools.wmflabs.org/rezabot/TileTransliteration.php', { page: mw.config.get('wgTitle') }).then(function (response) {
button.replaceWith($('<div>', { style: 'font-size: 90%; color: #d33', text: 'نویسهگردانی عنوان با موفقیت وارد شد. احتمال خطا وجود دارد، لطفاً به دقت بازبینی کنید!' }));
$('#tofawiki-name').val(response.result);
}, function () {
button.replaceWith($('<span>', { style: 'font-size: 70%', text: 'درخواست نویسهگردانی موفق نبود' }));
});
})
: ''
), $('<div>', {
id: 'tofawiki-status'
})).dialog({
width: 500,
title: 'ایجاد در ویکیپدیای فارسی',
open: function () {
$('#tofawiki-select').val(suggestRequestPlace());
if (mw.config.get('wgNamespaceNumber') === 10) {
$('#tofawiki-name').val(mw.config.get('wgTitle'));
validityCheck();
}
if (mw.config.get('wgNamespaceNumber') === 6) {
$('#tofawiki-name').val(mw.config.get('wgTitle')).prop('dir', 'ltr').css('width', '80%');
validityCheck();
}
},
buttons: [mw.config.get('wgNamespaceNumber') === 0 ? {
text: 'ترجمه به کمک ترجمه محتوا (آزمایشی)',
title: 'در این حالت از ابزار آزمایشی ترجمه استفاده میشود، برای متن عمومی و ترجمههای طولانی توصیه میشود',
class: 'ui-button-green',
style: 'direction: rtl',
click: function () {
window.open(new mw.Uri('//fa.wikipedia.org/w/index.php')
.extend({
title: 'Special:CX',
page: mw.config.get('wgPageName'),
from: 'en',
to: 'fa',
targettitle: $('#tofawiki-name').val().replace(/_/g, '+').replace(/ي/g, 'ی').replace(/ك/g, 'ک'),
withJS: 'MediaWiki:EnableCX.js'
}).toString());
$(this).dialog('close');
}
} : { style: 'display: none;' }, {
text: mw.config.get('wgNamespaceNumber') === 6 ? 'بارگذاری' : 'ایجاد از طریق ابزار توفاویکی',
title: 'در این حالت خود میتواند به انجام درخواست نظارت داشته باشید',
class: 'ui-button-blue',
click: function () {
var faName = $('#tofawiki-name').val().replace(/ي/g, 'ی').replace(/ك/g, 'ک');
var requestingPage = $('#tofawiki-select').val();
var uri = new mw.Uri('//fa.wikipedia.org/w/index.php');
if (!faName || !requestingPage) {
$('#tofawiki-status').text('ابتدا نامی وارد کنید!');
return;
}
if (requestingPage === FAIRUSE_IMAGES) {
uri.query = {
title: 'ویژه:بارگذاری_پرونده',
wpDestFile: faName,
enName: mw.config.get('wgRelevantPageName'),
withJS: 'MediaWiki:TofawikiUpload.js',
wpUploadDescription: '----'
};
} else {
if (requestingPage === CATEGORIES_BOT) { faName = "رده:" + faName.replace(/^رده:/, ''); }
if (mw.config.get('wgNamespaceNumber') === 10) { faName = "الگو:" + faName.replace(/^الگو:/, ''); }
if (mw.config.get('wgNamespaceNumber') === 108) { faName = "کتاب:" + faName.replace(/^کتاب:/, ''); }
if (requestingPage === WIKIPEDIA_TRANSLATOR) { faName = "ویکیپدیا:" + faName.replace(/^ویکیپدیا:/, ''); }
uri.query = {
title: faName,
enName: mw.config.get('wgRelevantPageName'),
enOldid: mw.config.get('wgRevisionId'),
redlink: 1,
action: 'edit',
withJS: 'MediaWiki:TofawikiHelper.js',
requestingPage: requestingPage,
editintro: 'الگو:به ویکیفا/ادیتنوتیس'
};
}
window.open(uri.toString());
$(this).dialog('close');
}
}],
close: function () {
$(this).remove();
$('#tofawiki-name').remove();
}
}).parent().prop('id', 'tofawiki-form');
isAllowedToUseTofawikiConsole().then(function (allowed) {
if (allowed) {
$('#tofawiki-consolelink').show();
}
});
});
});
}());
|