User:Mohammad/common.js

(function {    'use strict';    // افزودن ابزار ترجمه    importScript("User:MohammadtheEditor/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, 'انسان و اشخاص': PEOPLE_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 pageExists(page) { return $.ajax({           url: '//fa.wikiquote.org/w/api.php',            data: {                action: 'query',                titles: page,                format: 'json',                origin: location.protocol + '//' + location.hostname            }        }).then(function (data) { return data.query.pages['-1'] === undefined; }); }   var passedHtml = ' ✓ '; var failedHtml = ' ✗ '; function validityCheck { var origValue = $('#tofawiki-name').val, page = 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                return;            }            if (!exists) {                $('#tofawiki-status').html(passedHtml + ' صفحه‌ای با نام «' + page + '» ' + 'در ویکی‌پدیای فارسی موجود نیست پس روند ایجاد را ادامه می‌دهیم!');           } else {                $('#tofawiki-status').html(failedHtml + ' عنوان «' + page + '» ' + 'در ویکی‌پدیای فارسی وجود دارد. مطمئن شوید که صفحهٔ تکراری نیست!');               if ($('#tofawiki-select').val === DISAMBIGUATION_BOT) {                    $('#tofawiki-status').append('  ', $('', {                        text: 'برای افزودن (ابهام‌زدایی) به‌عنوان کلیک کنید',                        href: '#'                    }).click(function (e) {                        e.preventDefault;                        $('#tofawiki-name').val($('#tofawiki-name').val + ' (ابهام‌زدایی)');                        validityCheck;                    }));                }            }        }); }   $.when($.ready, mw.loader.using('jquery.ui')).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') === 6 && $('#catlinks a[href="/wiki/Category:GFDL_files"], ' +                '#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(                'p-views',                new mw.Uri('//tools.wmflabs.org/commonshelper/').extend({ lang: mw.config.get('wgContentLanguage'), image: mw.config.get('wgTitle'), interface: mw.config.get('wgContentLanguage') }),               'انتقال به ویکی‌انبار'            )).find('a').prop('target', '_blank').prepend($(' ', {                src: '//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/14px-Commons-logo.svg.png'            }), ' ');            return;        }        mw.util.addCSS( "#tofawiki-form * { font-family: 'Segoe UI', Tahoma, 'Iranian Sans', 'DejaVu Sans', 'Noto Sans', 'Droid Arabic Kufi', sans-serif !important; } " + "#tofawiki-form .ui-dialog-buttonset { float: left; } " + "#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.wikiquote.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-persiantools.js&action=raw&ctype=text/javascript');        	mw.loader.load('//fa.wikiquote.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-persianwikitools.js&action=raw&ctype=text/javascript');        	mw.loader.load('//fa.wikiquote.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($(' ', {               style: 'margin-top: 0.4em;',                text: 'ایجاد توسط: '            }).append($('', { text: 'راهنما', tabindex: '-1', title: 'راهنمای کار با ابزار', target: '_blank', style: 'float: left; font-size: smaller;', href: '//fa.wikiquote.org/wiki/' + encodeURI('راهنما:ابزار/به_ویکی‌فا') }), $(' ', {               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 $(' ', { value: item, text: description, disabled: disabled }); })           )), $(' ', {                style: 'padding-top: 1em', text: 'تحت نام: ' }).append($(' ', {               dir: 'rtl',                id: 'tofawiki-name',                style: 'font-family: inherit; width: 50%'            }).on('input', validityCheck), ' ', $(' ', { 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 ? $(' ', {           		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($(' ', { style: 'font-size: 90%; color: #d33', text: 'نویسه‌گردانی عنوان با موفقیت وارد شد. احتمال خطا وجود دارد، لطفاً به دقت بازبینی کنید!' })); $('#tofawiki-name').val(response.result); }, function { button.replaceWith($(' ', { style: 'font-size: 70%', text: 'درخواست نویسه‌گردانی موفق نبود' })); });           	})            	: ''            ), $(' ', {                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.wikiquote.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.wikiquote.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');        }); }); });