User:Jutyaar/common.js

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

var articleTranslatorConf = { 'homeWiki': 'ckb', 'fromLang': 'en', 'translatorBarFormat': '/ links from $3 to $4 ($5) $1Translate$2', 'templateTranslatorText': "Translating Template", 'removeLinksAliasesText': "Deleting Link_Aliases", 'doneText': "Done!", 'name': 'Name', 'interwikiCount': 'InterWikiCount', 'linkedTo': 'Linkto', 'listOfUnavailablePagesOn': 'List of Unavilable Pages on' };

//

(function($) {

/* **************************************** *** twinklebatchundelete.js: مۆدیوولی ھێنانەوەی بەکۆمەڵ **************************************** * Mode of invocation:    تابی ("ھێنانەوەی بەکۆمەڵ") * Active on:             Existing user and project pages */

Twinkle.batchundelete = function twinklebatchundelete { if (!Morebits.userIsSysop || !mw.config.get('wgArticleId') || ( mw.config.get('wgNamespaceNumber') !== mw.config.get('wgNamespaceIds').user && mw.config.get('wgNamespaceNumber') !== mw.config.get('wgNamespaceIds').project)) { return; }	Twinkle.addPortletLink(Twinkle.batchundelete.callback, 'ھێنانەوەی بەکۆمەڵ', 'tw-batch-undel', "ھەموویان بھێنەرەوە"); };

Twinkle.batchundelete.callback = function twinklebatchundeleteCallback { var Window = new Morebits.simpleWindow(600, 400); Window.setScriptName('توینکڵ'); Window.setTitle('ھێنانەوەی بەکۆمەڵ'); Window.addFooterLink('یارمەتیی توینکڵ', 'en:WP:TW/DOC#batchundelete'); Window.addFooterLink('ڕەخنە و پێشنیار؟', 'لو:تو');

var form = new Morebits.quickForm(Twinkle.batchundelete.callback.evaluate); form.append({		type: 'checkbox',		list: [			{				label: 'پەڕە وتووێژەکانی پەڕە ھێنراوەکان بھێنەرەوە ئەگەر ھەبوون',				name: 'undel_talk',				value: 'undel_talk',				checked: true			}		]	}); form.append({		type: 'input',		name: 'reason',		label: 'ھۆکار:',		size: 60	});

var statusdiv = document.createElement('div'); statusdiv.style.padding = '15px'; // just so it doesn't look broken Window.setContent(statusdiv); Morebits.status.init(statusdiv); Window.display;

var query = { action: 'query', generator: 'links', prop: 'info', inprop: 'protection', titles: mw.config.get('wgPageName'), gpllimit: Twinkle.getPref('batchMax'), format: 'json' };	var statelem = new Morebits.status('گرتنی پێڕستی پەڕەکان'); var wikipedia_api = new Morebits.wiki.api('بار دەکرێت...', query, function(apiobj) {		var response = apiobj.getResponse;		var pages = (response.query && response.query.pages) || [];		pages = pages.filter(function(page) { return page.missing; });		var list = [];		pages.sort(Twinkle.sortByNamespace);		pages.forEach(function(page) { var editProt = page.protection.filter(function(pr) {				return pr.type === 'create' && pr.level === 'sysop';			}).pop;

var title = page.title; list.push({				label: title + (editProt ? ' (تەواوپارێزراو لە دروستکردن' +					(editProt.expiry === 'infinity' ? ' بە بێسنوور' : '، بەسەردەچێت لە ' + new Morebits.date(editProt.expiry).calendar('utc') + ' (UTC)') + ')' : ),				value: title,				checked: true,				style: editProt ? 'color:red' : 			}); });		apiobj.params.form.append({ type: 'header', label: 'پەڕەکان بۆ ھێنانەوە' });		apiobj.params.form.append({ type: 'button', label: 'ھەموویان ھەڵبژێرە', event: function(e) { $(Morebits.quickForm.getElements(e.target.form, 'pages')).prop('checked', true); }		});		apiobj.params.form.append({ type: 'button', label: 'ھەموویان لابە', event: function(e) { $(Morebits.quickForm.getElements(e.target.form, 'pages')).prop('checked', false); }		});		apiobj.params.form.append({ type: 'checkbox', name: 'pages', shiftClickSupport: true, list: list });		apiobj.params.form.append({ type: 'submit' });

var result = apiobj.params.form.render; apiobj.params.Window.setContent(result);

Morebits.quickForm.getElements(result, 'pages').forEach(Twinkle.generateArrowLinks);

}, statelem);	wikipedia_api.params = { form: form, Window: Window };	wikipedia_api.post; };

Twinkle.batchundelete.callback.evaluate = function(event) { Morebits.wiki.actionCompleted.notice = 'ھێنانەوەی بەکۆمەڵ تەواو بوو';

var numProtected = Morebits.quickForm.getElements(event.target, 'pages').filter(function(element) {		return element.checked && element.nextElementSibling.style.color === 'red';	}).length; if (numProtected > 0 && !confirm('خەریکی ھێنانەوەی ' + numProtected + ' پەڕەی تەواوپارێزراوی لە دروستکردن. دڵنیایت؟')) { return; }

var input = Morebits.quickForm.getInputData(event.target);

if (!input.reason) { alert('ھێی ھاوڕێ، پێویستە ھۆکارێک بدەیت!'); return; }	Morebits.simpleWindow.setButtonsEnabled(false); Morebits.status.init(event.target);

if (!input.pages || !input.pages.length) { Morebits.status.error('ھەڵە', 'ھیچ نییە بۆ ھێنانەوە، ھەڵدەوەشێنرێتەوە'); return; }

var pageUndeleter = new Morebits.batchOperation('ھێنانەوەی پەڕەکان'); pageUndeleter.setOption('chunkSize', Twinkle.getPref('batchChunks')); pageUndeleter.setOption('preserveIndividualStatusLines', true); pageUndeleter.setPageList(input.pages); pageUndeleter.run(function(pageName) {		var params = {			page: pageName,			undel_talk: input.undel_talk,			reason: input.reason,			pageUndeleter: pageUndeleter		};

var wikipedia_page = new Morebits.wiki.page(pageName, 'ھێنانەوەی پەڕەی ' + pageName); wikipedia_page.setCallbackParameters(params); wikipedia_page.setEditSummary(input.reason); wikipedia_page.setChangeTags(Twinkle.changeTags); wikipedia_page.suppressProtectWarning; wikipedia_page.setMaxRetries(3); // temporary increase from 2 to make batchundelete more likely to succeed T222402 #613 wikipedia_page.undeletePage(Twinkle.batchundelete.callbacks.doExtras, pageUndeleter.workerFailure); }); };

Twinkle.batchundelete.callbacks = { // this stupid parameter name is a temporary thing until I implement an overhaul // of Morebits.wiki.* callback parameters doExtras: function(thingWithParameters) { var params = thingWithParameters.parent ? thingWithParameters.parent.getCallbackParameters : thingWithParameters.getCallbackParameters; // the initial batch operation's job is to delete the page, and that has // succeeded by now params.pageUndeleter.workerSuccess(thingWithParameters);

var query, wikipedia_api;

if (params.undel_talk) { var talkpagename = new mw.Title(params.page).getTalkPage.getPrefixedText; if (talkpagename !== params.page) { query = { action: 'query', prop: 'deletedrevisions', drvprop: 'ids', drvlimit: 1, titles: talkpagename, format: 'json' };				wikipedia_api = new Morebits.wiki.api('پشکنینی پەڕەی وتووێژ بۆ پێداچوونەوە سڕدراوەکان', query, Twinkle.batchundelete.callbacks.undeleteTalk); wikipedia_api.params = params; wikipedia_api.params.talkPage = talkpagename; wikipedia_api.post; }		}	},	undeleteTalk: function(apiobj) { var page = apiobj.getResponse.query.pages[0]; var exists = !page.missing; var delrevs = page.deletedrevisions && page.deletedrevisions[0].revid;

if (exists || !delrevs) { // page exists or has no deleted revisions; forget about it			return; }

var talkpage = new Morebits.wiki.page(apiobj.params.talkPage, 'ھێنانەوەی پەڕەی وتووێژی ' + apiobj.params.page); talkpage.setEditSummary('ھێنانەوەی پەڕەی وتووێژی «' + apiobj.params.page + '»'); talkpage.setChangeTags(Twinkle.changeTags); talkpage.undeletePage; } };

Twinkle.addInitCallback(Twinkle.batchundelete, 'batchundelete'); })(jQuery);

//