User:Encrypt0r/common.js

// mw.loader.load("//fa.wikipedia.org/w/index.php?title=MediaWiki:Tofawiki.js&action=raw&ctype=text/javascript");

(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 = 'Wikipedia: Request to create an article (Robotics)';     var CITIES_BOT = 'Wikipedia: Wikipedia ‌ Creating articles for cities with robots / Robotics Request';     var PEOPLE_BOT = 'Wikipedia: Article Creation (Robotics) / Human';     var OTHER_REQUESTS = 'Wikipedia: Requested Articles';     var CATEGORIES_BOT = 'Wikipedia: Category Request (Robotics)';     var FAIRUSE_IMAGES = 'Fair Use Images';     var TEMPLATE_BOOK_TRANSLATOR = 'Template and book translator';     var DISAMBIGUATION_BOT = 'Disambiguation page'; var WIKIPEDIA_TRANSLATOR='Wikipedia name space translator'; var requestingPages = { 'Arrays, movies, music, rivers, buildings and video games': GENERAL_BOT, 'Cities and Residences': CITIES_BOT, 'People & People': PEOPLE_BOT, 'Disambiguation page': DISAMBIGUATION_BOT, 'General Content': OTHER_REQUESTS, 'Categories': CATEGORIES_BOT, 'Fair pictures': FAIRUSE_IMAGES, 'Templates and Books': TEMPLATE_BOOK_TRANSLATOR, 'Wikipedia name space': 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 new mw.Api({ ajax: { url: '//ckb.wikipedia.org/w/api.php' } }).get({            action: 'query',             titles: page,             format: 'json',             origin: location.protocol + '//' + location.hostname         }).then(function (data) { return data.query.pages['-1'] === undefined; }); }    function isAllowedToUseTofawikiConsole { return new mw.Api({ ajax: { url: '//ckb.wikipedia.org/w/api.php' } }).get({    		action: 'query',     		list: 'users',     		ususers: mw.config.get('wgUserName'),     		usprop: 'groups',             origin: location.protocol + '//' + location.hostname     	}).then(function (res) {     		return res.query.users[0].groups.some(function (x) { return ['bot', 'autopatrolled', 'patroller', 'sysop', 'eliminator'].indexOf(x) !== -1; });    	});     }     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').empty.append(passedHtml + ' صفحه‌ای با نام «' + page + '» ' + 'It does not exist in Kurdish Wikipedia, so we will continue the creation process!');            } else {                 $('#tofawiki-status').empty.append(failedHtml, ' Title  «', $('', {                 	target: '_blank',                 	href: '//ckb.wikipedia.org' + mw.util.getUrl(page),                 	text: page                 }), '»Exists in Kurdish Wikipedia. Make sure the page is not duplicate! ');                if ($('#tofawiki-select').val === DISAMBIGUATION_BOT) {                     $('#tofawiki-status').append('  ', $('', {                         text: 'Click to add (disambiguation) as',                         href: '#'                     }).click(function (e) {                         e.preventDefault;                         $('#tofawiki-name').val($('#tofawiki-name').val + ' (disambiguation)');                         validityCheck;                     }));                 }             }         }); }    $.when($.ready, mw.loader.using('jquery.ui')).then(function  {         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('//commonshelper.toolforge.org/').extend({ lang: mw.config.get('wgContentLanguage'), image: mw.config.get('wgTitle'), interface: mw.config.get('wgContentLanguage') }),                'Transfer to Wikinews'             )).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('//ckb.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-persiantools.js&action=raw&ctype=text/javascript'); mw.loader.load('//ckb.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-persianwikitools.js&action=raw&ctype=text/javascript'); mw.loader.load('//ckb.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($(' ', { style: 'font-size: 90%; float: left' }).append($('', {             	id: 'tofawiki-consolelink',                 html: 'Mass creation tool',                 tabindex: '-1',                 title: 'Mass creation tool',                 target: '_blank',                 href: '//ckb.wikipedia.org' + mw.util.getUrl('ویژه:صفحهٔ_خالی/tofawiki-conosle') + '?withJS=MediaWiki:TofawikiConsole.js'             }).hide), '', $(' ', { style: 'margin-top: 0.4em;', text: 'Created by:' }).append($('', {                text: 'Guide',                 tabindex: '-1',                 title: 'Tools guide',                 target: '_blank',                 style: 'float: left; font-size: smaller;',                 href: '//ckb.wikipedia.org' + mw.util.getUrl('راهنما:ابزار/به_ویکی‌فا')             }), $(' ', {                 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: 'Title: ' }).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: 'Preview',             		title: 'Receive Suggested Title via Robotic Characterization'             	}).click(function  {             		var button = $(this).prop('disabled', 'disabled').text('لطفاً منتظر بمانید…');             		$.get('https://rezabot.toolforge.org/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: 'The transcript request failed'})); });            	})             	: ''             ), $(' ', {                 id: 'tofawiki-status' })).dialog({                width: 500,                 title: 'Create in Persian Wikipedia',                 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: 'Content-assisted translation',                     title:'In this case a translation tool is used, it is recommended for general text and long translations', class: 'ui-button-green', style: 'direction: rtl', click: function { window.open(new mw.Uri('//ckb.wikipedia.org/w/index.php')                            .extend({ title: 'Special:CX', page: mw.config.get('wgPageName'), from: 'en', to: 'ckb', 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 ? 'Upload': 'Create via Tofaviki tool', title:'In this case you can monitor the request', 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('//ckb.wikipedia.org/w/index.php'); if (!faName || !requestingPage) { $('#tofawiki-status').text('Enter a name first!'); 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; }            });         });     }); });