Benutzer:TenWhile6/XReport.js

Heute ist Benutzer:TenWhile6/XReport.js für eine Vielzahl von Menschen auf der ganzen Welt zu einem Thema von großer Relevanz und Interesse geworden. Seit seiner Entstehung hat Benutzer:TenWhile6/XReport.js Diskussionen und Debatten über seine Auswirkungen auf Gesellschaft, Kultur und Wirtschaft ausgelöst. Auf dem Weg ins 21. Jahrhundert ist Benutzer:TenWhile6/XReport.js weiterhin ein Thema, das Neugier und Aufmerksamkeit weckt, da sich sein Einfluss auf verschiedene Aspekte des täglichen Lebens erstreckt. In diesem Artikel werden wir die Bedeutung und Wichtigkeit von Benutzer:TenWhile6/XReport.js sowie seine Beziehung zu anderen Themen und seine Relevanz im aktuellen Kontext eingehend untersuchen.
//<nowiki>
Xv = 'v2.2a';
Xn = 'XReport';
XReport = `${Xn} ${Xv}`;
XLink = ']';
XLinkS = `<small>${XLink}</small>`;
XLinkK = `(${XLink} ${Xv})`;
sig = ' --~~~~';
pSummary = 'Reporting: Page ] '+XLinkK;
uSummary = 'Reporting ] '+XLinkK;
blocation = mw.config.get('wgMFMode') === 'stable' ? 'p-tb' : 'p-cactions';
api = new mw.Api();
DB = mw.config.get('wgDBname');
curPageName = mw.config.get('wgPageName');
RelevantPageName = mw.config.get('wgRelevantPageName') != null ? mw.config.get('wgRelevantPageName').replace(/_/g, ' ') : '';
RelevantUserName = mw.config.get('wgRelevantUserName') != null ? mw.config.get('wgRelevantUserName') : '';
Server = mw.config.get('wgServer').replace(/^(https?)?:?\/\//, '').split('.');
iwPrefix = null;
iwPrefix = Server === 'wikimedia' ? Server : iwPrefix;
iwPrefix = Server === 'mediawiki' ? 'mw' : iwPrefix;
iwPrefix = Server === 'wiktionary' ? 'wikt:' + Server : iwPrefix;
iwPrefix = Server === 'wikiquote' ? 'q:' + Server : iwPrefix;
iwPrefix = Server === 'wikinews' ? 'n:' + Server : iwPrefix;
iwPrefix = Server === 'wikibooks' ? 'b: ' + Server: iwPrefix;
iwPrefix = Server === 'wikisource' ? 's:' + Server: iwPrefix;
iwPrefix = Server === 'wikiversity' ? 'v:' + Server : iwPrefix;
iwPrefix = Server === 'mediawiki' ? 'voy:' + Server : iwPrefix;
if (Server == 'wikidata') {
	iwPrefix = Server === 'test' ? 'testwikidata' : iwPrefix;
	iwPrefix = Server === 'www' ? 'd' : iwPrefix;
} else if (Server == 'wikipedia') {
	iwPrefix = .includes(Server) ? Server + 'wiki' : iwPrefix;
	iwPrefix = iwPrefix === null ? 'w:' + Server : iwPrefix;
}
metaapi = mw.config.get('wgDBname') === 'metawiki' ? new mw.Api() : new mw.ForeignApi('https://meta.wikimedia.org/w/api.php');
metaapi.get({
	action: 'query',
	prop: 'revisions',
	titles: 'User:TenWhile6/XReport/languageData.json',
	rvlimit: '1',
	rvprop: 'content',
	rvslots: 'main',
	formatversion: '2',
	format: 'json'
}).done( function(Ldata) {
	LangData = JSON.parse(Ldata.query.pages.revisions.slots.main.content);
	var lang = mw.user.options.get('language') in LangData ? mw.user.options.get('language') : 'en';
    var mwh = '<div style=\'position:absolute; right:1em; top:0.1em\'><p style=\'color:red\'>Made with ❤️ by <a href=\'' + (lang === 'de' ? 'https://de.wikipedia.orghttps://wikifreehand.com/de/User:TenWhile6' : 'https://meta.wikimedia.orghttps://wikifreehand.com/de/User:TenWhile6') + '\'>TenWhile6</a></p></div>';
	function trnslt(key) {
    	if (LangData) {
	    	return LangData;
    	}
    	return LangData.en;
	}
	var WikiData = {
		'SRG': {
			'page': 'Steward requests/Global',
			'section': -1,
			'regex': '{{\\s*ockide\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '=== Global lock for $1 ===\n{{Status}}\n*{{LockHide|1=$1}}\n$2 '+XLinkS+sig,
			'I': {
				'page': 'Steward requests/Global',
				'section': 1,
				'regex': '{{\\s*uxotool\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
				'rtext': '=== Global block for ] ===\n{{Status}}\n* {{Luxotool|$1}}\n$2 '+XLinkS+sig,
			},
			'H': {
				'page': 'Steward requests/Global',
				'section': -1,
				'regex': '{{\\s*ockide\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
				'rtext': '=== Global lock ===\n{{Status}}\n*{{LockHide|1=$1|hidename=1}}\n$2 '+XLinkS+sig,
				'summary': 'Reporting user '+XLinkK
			},
			'reason': 
		},
		'GSR': {
			'page': 'Global sysops/Requests',
			'regex': '{{\\s*ockide\\s*\\|\\s*(1(\\s*)=|)\\s*$1',
			'rtext': '* Please block {{LockHide|1=$1|2=$3}} $2 '+XLinkS+sig,
			'summary': 'Reporting user '+XLinkK
		},
		// GS-Opted-Out Wikis -- Status: 09.08.2024
		'alswiki': {
			'page': 'Wikipedia:Vandalismusmeldung',
			'regex': '==\\s*Benutzer:$1\\s*==',
			'regeX': '|{{\\s*enutzer\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== ] ==\n{{Benutzer|$1}} $2 '+XLinkS+sig,
			'P': {
				'page': 'Wikipedia:Vandalismusmeldung',
				'regex': '==\\s*Seite \\s*$1\\s*==',
				'regeX': '|{{\\s*rtikel\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
				'rtext': '== Seite ] ==\n{{Artikel|$1}} $2 '+XLinkS+sig
			}
    	},
		'anwiki': {
			'page': 'Wikipedia:Peticions a los almenistradors',
    		'regex': '==\\s*Report concerning User:$1\\s*==',
			'rtext': '== Report concerning User:$1 ==\n* ] &ndash; $2 '+XLinkS+sig,
		},
		'arwiki': {}, //  'page': 'ويكيبيديا:إخطار الإداريين/منع/الحالية',
		'bgwiki': {
			'page': 'Уикипедия:Заявки_към_администраторите',
			'regex': '==\\s*Блокиране на $1\\s*==',
			'rtext': '== Блокиране на $1 ==\n]\n\n$2 '+XLinkS+sig
		},
		'bnwiki': {
			'page': 'উইকিপিডিয়া:প্রশাসকদের আলোচনাসভা',
			'regex': '==\\s*বাধাদানের অনুরোধ: $1\\s*==',
			'rtext': '== বাধাদানের অনুরোধ: $1 ==\n* ]\n\n$2 '+XLinkS+sig
		},
		'bswiki': {}, //  'page': 'Wikipedia:Pitanja za administratore'
		'cawiki': {}, //  'page': 'Viquipèdia:Observatori del vandalisme'
		'commonswiki': {
			'page': 'Commons:Administrators\' noticeboard/Vandalism',
			'regex': '==\\s*$1\\s*==',
			'regeX': '|{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '{{subst:Report vandal|$1|$2 '+XLinkS+sig+'}}'
		},
		'cswiki': {}, //  'page': 'Wikipedie:Nástěnka správců'
		'cswikisource': {}, //  'page': 'Wikizdroje:Nástěnka správců'
		'cswiktionary': {}, //  'page': 'Wikislovník:Nástěnka správců'
		'cywiki': {}, //  'page': 'Wicipedia:Negesfwrdd gweinyddiaeth'
		'dawiki': {}, //  'page': 'Wikipedia:Anmodning om administratorassistance'
		'dewiki': {
			'page': 'Wikipedia:Vandalismusmeldung',
			'regex': '==\\s*Benutzer:$1\\s*==',
			'regeX': '|{{\\s*enutzer\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'summary': 'Meldung: ] (] '+ Xv+')',
			'rtext': '== ] ==\n{{Benutzer|$1}} $2 <small><small>]</small></small>'+sig,
			'P': {
				'page': 'Wikipedia:Vandalismusmeldung',
				'regex': '==\\s*Seite \\s*$1\\s*==',
				'regeX': '|{{\\s*rtikel\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
				'summary': 'Meldung: Seite ] (] '+ Xv+')',
				'rtext': '== Seite ] ==\n{{Artikel|$1}} $2 <small><small>]</small></small>'+sig
			},
			'reason': 
    	},
    	'dewikibooks': {
    		'page': 'Wikibooks:Vandalensperrung',
    		'regex': '==\\s*Benutzer:$1\\s*==',
			'regeX': '|{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== ] ==\n{{Vandale|$1}} $2 '+XLinkS+sig
    	},
		'dewikisource': {}, // no report page
    	'dewikivoyage': {}, // no report page
    	'dewiktionary': {
    		'page': 'Wiktionary:Vandalismusmeldung',
    		'regex': '==\\s*Benutzer:$1\\s*==',
			'regeX': '|{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== ] ==\n{{Benutzer|$1}} $2 '+XLinkS+sig
    	},
		'elwiki': {
			'page': 'Βικιπαίδεια:Σημειωματάριο διαχειριστών',
			'regex': '{{\\s*ser\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
    		'rtext': '== Report concerning ] ==\n* {{User|$1}}\n$2 '+XLinkS+sig
		},
		'enwiki': {
    		'page': 'Wikipedia:Administrator intervention against vandalism',
			'regex': '{{\\s*vandal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'regeX': '|{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '*{{vandal|$1}} &ndash; $2 '+XLinkS+sig
		},
    	'enwikiquote': {
    		'page': 'Wikiquote:Vandalism in progress',
    		'regex': '==\\s*Report concerning ]\\s*==',
			'regeX': '|{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Report concerning ] ==\n\n* {{vandal|$1}}\n$2 '+XLinkS+sig
    	},
		'enwikisource': {
			'page': 'Wikisource:Administrators\' noticeboard',
    		'regex': '==\\s*Report concerning ]\\s*==',
			'regeX': '|{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Report concerning ] ==\n\n* {{vandal|$1}}\n$2 '+XLinkS+sig
		},
		'enwiktionary': {
			'page': 'Wiktionary:Vandalism in progress',
			'regex': '{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '* {{vandal|$1}} &ndash; $2 '+XLinkS+sig
		},
		'eowiki': {
			'page': 'Vikipedio:Diskutejo/Administrejo',
    		'regex': '==\\s*Report concerning ]\\s*==',
			'regeX': '|{{\\s*ser\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Report concerning ] ==\n\n* {{user|$1}}\n$2 '+XLinkS+sig
		},
    	'eswiki': {
    		'page': 'Wikipedia:Vandalismo en curso',
    		'regex': '==\\s*$1\\s*==',
    		'rtext': '{{subst:ReportevandalismoIP|1=$1|2=$2 '+XLinkS+'}}'
    	},
		'eswikinews': {
			'page': 'Wikinoticias:Tablón de anuncios de los administradores',
			'regex': '{{\\s*dmin-U\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Vandalismo reiterado ==\n;Estado de solicitud\n* {{EstadoTAA|}}\n;Usuarios/Artículos implicados\n* {{Admin-U|$1}}\n\n;Problema\n* $2\n\n;Usuario que solicita\n* '+XLinkS+sig+'\n\n;Respuesta\n(a rellenar por un administrador)',
		},
		'etwiki': {}, // no report page 
		'euwiki': {}, // no report page 
		'fawiki': {
			// 'page': 'ویکی‌پدیا:تابلوی اعلانات مدیران',
		},
    	'fiwiki': {
    		'page': 'Wikipedia:Ylläpitäjien ilmoitustaulu',
    		'regex': 'Käyttäjä:\\s*$1\\s*',
    		'rtext': '== Estopyyntö $1 ({{subst:LOCALDAY}}.{{subst:LOCALMONTH}}.{{subst:LOCALYEAR}}) ==\n<big>$1</big>\n*\'\'\'Toiminnot:\'\'\' ] | ] | ] | ]\n*\'\'\'Lisätiedot:\'\'\' $2 '+XLinkS+sig
    	},
	    'frwiki': {
    		'page': 'Wikipédia:Vandalisme en cours',
    		'regex': '{{\\s*+\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
    		'rtext': '== Demande de blocage de $1 ==\n\n* Auteur du vandalisme : {{u+|$1}}\n* Type de dégâts : $2\n\n<!-- Merci de ne pas modifier la ligne ci-dessous -->\n<small></small> Message déposé par'+sig
    	},
		'frwikisource': {}, // 
		'frwikiversity': {}, // 
		'frwiktionary': {}, // 
		'glwiki': {
			'page': 'Wikipedia:Taboleiro dos administradores/Bloqueos e proteccións',
    		'regex': '\\s*$1]]\\s*==',
			'rtext': '== Informe sobre ] ==\n\nBloquea {{user|$1}}: $2 '+XLinkS+sig
		},
		'hewiki': {}, // 
		'hewikisource': {}, // 
		'hrwiki': {}, // 
		'huwiki': {
			'page': 'Wikipédia:Adminisztrátorok üzenőfala',
			'regex': '==\\s*$1\\s*==',
			'regeX': '|{{\\s*ser\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== $1 ==\nSzeretnék neki blokkot: {{user|$1}}. $2 '+XLinkS+sig,
			I: {
				'page': 'Wikipédia:Adminisztrátorok üzenőfala',
				'regex': '==\\s*$1\\s*==',
				'regeX': '|{{\\s*non\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
				'rtext': '== $1 ==\nSzeretnék neki blokkot: {{anon|$1}}. $2 '+XLinkS+sig,
			}
		},
    	'idwiki': {
    		'page': 'Wikipedia:Intervensi pengurus terhadap vandalisme',
    		'regex': '$1 }}',
    		'rtext': '== ] ==\n* {{vandal-m|$1}} $2 '+XLinkS+sig
    	},
		'iswiki': {}, // 
    	'itwiki': {
    		'page': 'Wikipedia:Vandalismi in corso',
    		'regex': '{{\\s*andalo\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
    		'rtext': '{{vandalo|$1}} $2 '+XLinkS+sig
    	},
		'jawiki': {}, //  'page': 'Wikipedia:管理者伝言板/投稿ブロック'
		'kawiki': {}, // 
		'kowiki': {
			'page': '위키백과:사용자 관리 요청/2024년 제32주',
			'regex': '{{\\s*사링\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== $1 ==\n* {{사링|$1}}\n$2 '+XLinkS+sig
		},
		'ltwiki': {
			'page': 'Vikipedija:Pranešimai apie pažeidimus',
			//  REGEX FEHLT 
			'rtext': '== ] ==\nReport concerning ]: $2 '+XLinkS+sig,
		},
		'lvwiki': {
			'page': 'Vikipēdija:Administratoru ziņojumu dēlis',
			'regex': '{{\\s*ser\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Report concerning $1 ==\n{{User|$1}} $2 '+XLinkS+sig,
		},
    	'metawiki': {
    		'page': 'Meta:Requests for help from a sysop or bureaucrat',
    		'regex': '==\\s*Report concerning User:$1\\s*==',
			'regeX': '|{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Report concerning User:$1 ==\n{{vandal|1=$1}} &mdash; \'\'\'Reasons:\'\'\' $2 '+XLinkS+sig
    	},
		'mkwiki': {}, // 
		'mlwiki': {}, // 
		'mrwiki': {}, // 
		'mswiki': {}, //  'page': 'Wikipedia:Campur tangan penyelia terhadap vandalisme'
		'nlwiki': {
			'page': 'Wikipedia:Verzoekpagina voor moderatoren/RegBlok',
			'section': 2,
			'regex': '===\\s*$1\\s*===',
			'regeX': '|{{\\s*g\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '=== $1 ===\n*{{lg|$1}} $2 '+XLinkS+sig,
			'I': {
				'page': 'Wikipedia:Verzoekpagina voor moderatoren/IPBlok',
				'section': 2,
				'regex': '{{\\s*g\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
				'rtext': '*{{lg|$1}} $2 '+XLinkS+sig
			},
			'P': {
				'page': 'Wikipedia:Verzoekpagina voor moderatoren/Beveiligen',
				'section': 1,
    			'regex': '\\s*$1\\s*',
    			'rtext': '== ] ==\n$2 '+XLinkS+sig
			},
		},
		'nlwiktionary': {}, // 
		'nnwiki': {}, // 
		'nowiki': {}, //  'page': 'Wikipedia:Pågående vandalisme'
		'plwiki': {
			'page': 'Wikipedia:Prośby do administratorów',
	   		'regex': '==\\s*Zgłoszenie w sprawie użytkownika $1\\s*==',
			'regeX': '|{{\\s*w\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Zgłoszenie w sprawie użytkownika $1 ==\n\n* {{lw|$1}}\n\n$2\n\nZgłasza: '+XLinkS+sig
		},
		'plwikimedia': {}, // 
		'plwikisource': {}, // 
		'plwiktionary': {}, // 
		'ptwiki': {}, //  'page': 'Wikipédia:Pedidos/Notificações de vandalismo'
		'rowiki': {}, // 
		'ruwiki': {}, //  'page': 'Википедия:Запросы к администраторам/Быстрые'
		'sewikimedia': {}, // 
		'simplewiki': {
			'page': 'Wikipedia:Vandalism in progress',
			'regex': '{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '*{{Vandal|$1}} &ndash; $2 '+XLinkS+sig,
			I: {
				'page': 'Wikipedia:Vandalism in progress',
				'regex': '{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
				'rtext': '*{{IPvandal|$1}} &ndash; $2 '+XLinkS+sig,
			}
		},
		'skwiki': {
			'page': 'Wikipédia:Nástenka správcov',
    		'regex': '==\\s*Hlásení vandalizmu: $1\\s*==',
			'regeX': '|{{\\s*edaktor\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Hlásení vandalizmu: $1 ==\n{{Redaktor|$1}}\n\n$2 '+XLinkS+sig
		},
		'slwiki': {
			'page': 'Wikipedija:Prošnje za administratorsko pomoč',
    		'regex': '==\\s*Report concerning User:$1\\s*==',
			'regeX': '|{{\\s*ser\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== User:$1 ==\n{{User|$1}} $2 '+XLinkS+sig
		},
		'sourceswiki': {
			'page': 'Wikisource:Vandalism in progress',
			'regex': '==\\s*$1\\s*==',
			'regeX': '|{{\\s*ser\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'section': '0',
			'rtext': '== $1 ==\n* {{User|$1}}\n$2 '+XLinkS+sig
		},
		'specieswiki': {
            'page': 'Wikispecies:Administrators\' Noticeboard',
    		'regex': '==\\s*Report concerning ]\\s*==',
			'regeX': '|{{\\s*ser\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '== Report concerning ] ==\n\n* {{user|$1}}\n$2 '+XLinkS+sig
        },
		'srwiki': {}, //  'page': 'Википедија:Пријаве вандализама'
		'svwiki': {}, //  'page': 'Wikipedia:Begäran om åtgärder'
		'svwiktionary': {}, // 
		'tawiki': {}, // 
		'test2wiki': {
			'page': 'User:TenWhile6/X',
    		'regex': '==\\s*Report concerning User:$1\\s*==',
			'rtext': '== Report concerning User:$1 ==\n* ] &ndash; $2 '+XLinkS+sig,
			P: {
				'page': 'User:TenWhile6/X',
    			'regex': '==\\s*Report concerning Page $1\\s*==',
				'rtext': '== Report concerning Page $1 ==\n* ] &ndash; $2 '+XLinkS+sig
			}
		},
		'tewiki': {}, // 
    	'thwiki': {
    		'page': 'วิกิพีเดีย:รายชื่อการก่อกวน',	
    		//  REGEX FEHLT 
    		'rtext': '* {{ก่อกวน|$1}} $2. '+XLinkS+sig,
    	},
		'tlwiki': {}, // 
		'trwiki': {}, //  'page': 'Vikipedi:Kullanıcı engelleme talepleri'
    	'urwiki': {
    		'page': 'ویکیپیڈیا:دیوان_خاص',
    		'regex': '==\\s*User:$1\\s*==',
    		'rtext': '== ] پر پابندئی لگائیں ==\n* {{user|$1}} $2 '+XLinkS+sig,
    	},
		'viwiki': {}, //  'page': 'Wikipedia:Tin nhắn cho bảo quản viên'
    	'wikidatawiki': {
    		'page': 'Wikidata:Administrators\' noticeboard',
    		'regex': '==\\s*Report concerning User:$1\\s*==',
			'regeX': '|{{\\s*andal\\s*\\|\\s*(1(\\s*)=|)\\s*$1\\s*}}',
			'rtext': '{{subst:VandalReport|$1|$2 '+XLinkS+'}}',
			P: {
				'page': 'Wikidata:Administrators\' noticeboard',
				'rtext': '== Protection request for ] ==\n\nPlease semi-protect ]. \'\'\'Reason:\'\'\' $2 '+XLinkS+sig,
			}
    	},
		'zh_yuewiki': {}, // 
		'zhwiki': {}, //  'page': 'Wikipedia:当前的破坏'
	};
	function DBdata(modus, status, key) {
        DBx = modus === true ? 'SRG' : DB;
        DBx = modus === 'GSR' ? 'GSR' : DBx;
		if (status === 'I') {
			if ('I' in WikiData) {
				if (WikiData) {
					return WikiData;
				} else {
					if (.includes(key)) {
    					return '';
    				}
    				else {
    					mw.notify(`1. Error: DBdata() at ${DBx} status ${status} key ${key}`,{'type':'error','title':XReport});
    				}
				}
			}
			else {
				status = 'U';
			}
		}
		if (status === 'U') {
			if (WikiData) {
	    		return WikiData;
			}
			else {
    			if (key == 'reason') {
    				return ;
    			}
    			else if (.includes(key)) {
    				return '';
    			}
    			else {
	    			mw.notify(`2. Error: DBdata() at ${DBx} status ${status} in ${key}`,{'type':'error','title':XReport});
    			}
			}
	    } 
    	else if (status === 'P' && WikiData) {
	    	return WikiData;
		}
		else if (status === 'P' && .includes(key)) {
    		return '';
		}
		else if (status === 'H') {
	    	if (WikiData) {
	    		return WikiData;
			}
			else {
    			if (.includes(key)) {
    				return '';
    			}
			}
		}
    	else {
    		mw.notify(`3. Error: DBdata() at ${DBx} status ${status} in ${key}`,{'type':'error','title':XReport});
    	}
	}
	( function() {
		function getUserDialog(){
    		var style = '.XR-page-buttons{width: 100%; text-align: right}' + '.XR-intro-text{font-size: 80%; margin-bottom: 1em;}' + '.XR-errors{color: red; margin: 1em;}';
    		mw.util.addCSS(style);
    		function CreateUserDialog(config){
    			CreateUserDialog.parent.call(this, config);
    		}
    		OO.inheritClass(CreateUserDialog, OO.ui.ProcessDialog);
    		CreateUserDialog.static.name = 'CreateUserDialog';
    		CreateUserDialog.static.title = XReport;
			CreateUserDialog.prototype.initialize = function() {
    			var self = this;
    			CreateUserDialog.parent.prototype.initialize.call( this);
    			var $introText = $( '<div />',{class: 'XR-intro-text'})
        			.append( $( '<p/>').append(mwh));
    			var $errorsField = $( '<div />',{class: 'XR-errors'});
    			var $doneField = $( '<div />',{class: 'done'});
    			const clearError = function() {
    	    		$errorsField.text( '');
    	    		self.updateSize();
    			};
    			this.curPageID = 'page-1';
    			var GSR = false;
		 		if (!(DB in WikiData)){
    				GSR = true;
    			}
    			else {
    				if (!('page' in WikiData)) {
    					$introText.append( $( '<span>')
    					.text('This wiki is currently not enabled for local reporting, it will be added soon.'));
    				}
    			}
    			var typeInput = new OO.ui.ButtonSelectWidget({
    				items: [
    					new OO.ui.ButtonOptionWidget({data: GSR ? 'GSR' : false, label: GSR ? 'GS/R' : trnslt('local-button'), disabled: GSR ? false : ('page' in WikiData ? false : true), icon: GSR ? undefined : 'home'}).on('click', function() {hideInput.setDisabled(true);hideInput.setSelected(false);localReasonCheckboxes.toggle(true);globalReasonCheckboxes.toggle(false);self.updateSize();}),
    					new OO.ui.ButtonOptionWidget({data: true, label: trnslt('global-button')}).on('click', function() {hideInput.setDisabled(false);localReasonCheckboxes.toggle(false);globalReasonCheckboxes.toggle(true);self.updateSize();})
    				]
    			});
				typeInput.selectItemByLabel(GSR ? 'GS/R' : ('page' in WikiData ? trnslt('local-button') : trnslt('global-button')));
	    		//var usernameInput = new OO.ui.TextInputWidget({align: 'top', required: true, validate: 'non-empty', value:RelevantUserName});
    			var usernameInput = new mw.widgets.UserInputWidget({align: 'top', required: true, validate: 'non-empty', value:RelevantUserName});
    			var hideInput = new OO.ui.CheckboxInputWidget({align: 'top', disabled: GSR ? true : ('page' in WikiData ? true : false), selected: false});
    			var hideInputField = new OO.ui.FieldLayout(hideInput,{label: trnslt('hide-username'), align: 'inline'});
    			var reasonInput = new OO.ui.MultilineTextInputWidget({align: 'top', placeholder: lang === 'de' ? 'Benutzerdefinierte Begründung (optional)' : '', /*required: true,*/ rows: 3, autosize: true});
    			var localReportReasons = DBdata(GSR ? 'GSR' : false, 'U', 'reason');
	    		var localCheckboxes = ;
	    		var localCheckboxesEach = ;
	    		for (var Lxxx in localReportReasons) {
	    			localCheckboxesEach.push(new OO.ui.CheckboxInputWidget({align: 'top', selected: false}));
	    		}
	    		for (var Lrrr in localCheckboxesEach){
	    			localCheckboxes.push(new OO.ui.FieldLayout(localCheckboxesEach,{label: localReportReasons, align: 'inline'}));
	    		}
	    		localReasonCheckboxes = new OO.ui.FieldLayout(new OO.ui.Widget({content: }),{label: trnslt('reason')});
	    		var globalReportReasons = DBdata(true, 'U', 'reason');
	    		var globalCheckboxes = ;
	    		var globalCheckboxesEach = ;
	    		for (var Gxxx in globalReportReasons) {
	    			globalCheckboxesEach.push(new OO.ui.CheckboxInputWidget({align: 'top', selected: false}));
	    		}
	    		for (var Grrr in globalCheckboxesEach){
	    			globalCheckboxes.push(new OO.ui.FieldLayout(globalCheckboxesEach,{label: globalReportReasons, align: 'inline'}));
	    		}
	    		globalReasonCheckboxes = new OO.ui.FieldLayout(new OO.ui.Widget({content: }),{label: trnslt('reason')});
	    		var page1Buttons = new OO.ui.HorizontalLayout({
		      		items: [
		        		new OO.ui.ButtonWidget({label: trnslt('close'), align: 'left' , icon:'close'}).on( 'click', function() {
		            		self.close();
		    				clearError();
		            	}),
		        		new OO.ui.ButtonWidget({label: trnslt('button'), flags:  ,icon: 'feedback'}).on( 'click', function() {
		        			var username = usernameInput.getValue();
		            		if (!username){
		            			$errorsField.text (trnslt('error-user'));
		        				self.updateSize();
		            			return;
		            		}
		            		var reason = reasonInput.getValue();
		               		var modus = typeInput.findSelectedItem().getData();
		            		var hidden = hideInput.isSelected();
		            		var xapi = modus ? metaapi : (modus === 'GSR' ? metaapi : api);
		        			var statusX = mw.util.isIPAddress(username, true) ? 'I' : 'U';
		        			var status = statusX === 'U' ? (hidden ? 'H' : 'U') : statusX;
		        			var regex = DBdata(modus, status, 'regex').replace('$1', username) + DBdata(modus, status, 'regeX').replace('$1', username);
							xapi.get({
								action: 'query',
								prop: 'revisions',
								formatversion: 2,
								rvprop: 'content',
								rvslots: 'main',
								rvlimit: 1,
								titles: DBdata(modus, status, 'page'),
					    	}).then(function(data){
								if (data.error){
									mw.notify(`Error: reportuser() at ${DB}, action: api.get`,{'type':'error','title':XReport,autoHide: false});
									return;
								}
								else if (data.query.pages.revisions == undefined){
									mw.notify(`Error: reportuser() at ${DB}, action: api.get, error: undefined`,{'type':'error','title':XReport,autoHide: false});
									return;
								}
								else if (data.query.pages.revisions.slots.main.content.match(new RegExp(regex,'g')) !== null && regex !== ''){
									$errorsField.text (trnslt('error-requested'));
		        					self.updateSize();
		            				return;
								}
			            		var finalReason = '';
			            		var rReasons = modus ? globalReportReasons : localReportReasons;
			            		var cEach = modus ? globalCheckboxesEach : localCheckboxesEach;
		        				for (let i = 0;i<(rReasons).length;i++) {
		        					if (cEach.isSelected()) {
		        						if (finalReason != '') {
		        							finalReason = finalReason + ', ';
		        						}
		        						finalReason = finalReason + rReasons;
		        					}
		            			}
	        					if (reason) {
	        						if (finalReason != '') {
	        							finalReason = finalReason + '. ';
	        						}
	        						finalReason = finalReason + reason;
	        					}
		            			if (finalReason === ''){
		            				$errorsField.text (trnslt('error-reason'));
		        					self.updateSize();
		            				return;
		            			}
								else {
		            				clearError();
		            				self.switchTo('page-2');
		            				$doneField.append($( '<span>')
										.text(trnslt('process'))
										.prop('style', 'position:relative; top:0.35em; color: black; font-weight: bold')
									);
									self.updateSize();
									closeButton.setDisabled(true);
									var success = function() {
										$doneField.append( $( '<span>')
										.text(trnslt('success'))
										.prop('style', 'position:relative; left:1.5em; top:0.35em; color: #009000; font-weight: bold'));
										closeButton.setDisabled(false);
										timeout = function() {
											window.location.reload();
											self.close();
										};
		            					setTimeout(timeout, 5000);
									};
									finalReason = finalReason.replace( /(.*)--~~~~/g, '$1');
									finalReason = finalReason.replace( /(.*)~~~~/g, '$1');
									if (finalReason.charAt(0) === ''){
										finalReason = finalReason.substr(1);
									}
									uSummary = DBdata(modus, status, 'summary') !== '' ? DBdata(modus, status, 'summary') : uSummary;
									uSummary = uSummary.replace('$1', username).replace('$1', username);
									var importrptext = DBdata(modus, status, 'rtext');
									var reporttext = (importrptext.charAt(0) === '*' ? '\n' : '\n\n')+importrptext.replace('$1', username).replace('$1', username).replace('$1', username).replace('$1', username).replace('$1', username).replace('$1', username).replace('$2', finalReason).replace('$3', `${iwPrefix}:`).replace('9$', username);
									if (DBdata(modus, status, 'section')){
					      				xapi.get({
		    								action: 'parse',
		    								page: DBdata(modus, status, 'page'),
		    								prop: 'sections'
										}).done( function(response){
		    								const sections = response.parse.sections.length;
		    								sectionnum = DBdata(modus, status, 'section');
		    								if (sectionnum === -1){
		    									sectionnum = sections - 1;
					 						}
		    								xapi.get({
												action: 'parse',
												page: DBdata(modus, status, 'page'),
												prop: 'wikitext',
												section: sectionnum
											}).done( function(result){
												var wikitext = result.parse.wikitext + reporttext;
												xapi.postWithEditToken({
													action: 'edit',
													title: DBdata(modus, status, 'page'),
													section: sectionnum,
													text: wikitext,
													summary: uSummary,
													notminor: true,
													nocreate: true
												}).then(function(data) {
													if (data.error && data.error.info){
														mw.notify(`Error: XReportUser at ${DB}, action: postWithEditToken`,{'type':'error','title':XReport,autoHide: false});
													} else{
														success();
													}
												});
											});
										});
									}
									else{
										xapi.postWithEditToken({
											action: 'edit',
											title: DBdata(modus, status, 'page'),
											watchlist: 'nochange',
											summary: uSummary,
											appendtext: reporttext,
										})
										.then(function(data){
											if (data.error && data.error.info){
												mw.notify(`Error: XReportUser at ${DB}, action: postWithEditToken`,{'type':'error','title':XReport,autoHide: false});
											} else{
												success();
											}
										});
									}
								}
							});
		    				self.updateSize();
			            	})
			        ],
			        classes: 
		    	});
    			var page1Form = new OO.ui.FieldsetLayout({
	        		items: [
	        		new OO.ui.FieldLayout(typeInput,{label: trnslt('type')}),
	        		new OO.ui.FieldLayout(
	        			new OO.ui.Widget({
								content: [
									new OO.ui.FieldsetLayout({
										content: [
											usernameInput,
											hideInputField,
										]
									})
								]
							}),{
								label: trnslt('username')
							}),
					globalReasonCheckboxes,
					localReasonCheckboxes,
	    			new OO.ui.FieldLayout(reasonInput,{label: `Manuelle ${trnslt('reason')}`}),
	    			new OO.ui.FieldLayout(new OO.ui.Widget({content: }),{align: 'top'})
	    			]
				});
	    		var closeButton = new OO.ui.ButtonWidget({label: trnslt('close'), flags: , icon:'close'}).on( 'click', function() {
	            	window.location.reload();
					self.close();
	           });
	    		var page2Buttons = new OO.ui.HorizontalLayout({
	        		items: ,
	        		classes: 
	    		});
	    		var page2Form = new OO.ui.FieldsetLayout({
	        		items: [
	        			new OO.ui.FieldLayout( new OO.ui.Widget({content: }),{align: 'top'})
	        		]
	    		});
    			this.panelLayout = new OO.ui.PanelLayout({padded: true, expanded: false});
    			this.panelLayout.$element.append(
	        		$introText,
	        		$errorsField,
	        		$doneField,
	        		$('<div />',{id: 'page-1'}).append( page1Form.$element),
	        		$('<div />',{id: 'page-2' , style: 'display:none'}).append( page2Form.$element)
    			);
    			this.$body.append( this.panelLayout.$element);
    		};
    		CreateUserDialog.prototype.getBodyHeight = function() {
    			return this.panelLayout.$element.outerHeight( true);
    		};
    		CreateUserDialog.prototype.switchTo = function(nextPageID){
    			$( '#' + this.curPageID).hide();
    			this.curPageID = nextPageID;
    			$( '#' + nextPageID).show();
    			this.updateSize();
    		};
    		return new CreateUserDialog({
    			size: 'medium'
    		});
		}
		var dialog, windowManager;
		function openUserDialog(){
    		if (!dialog){
    			dialog = getUserDialog();
    			windowManager = new OO.ui.WindowManager();
    			$('body').append(windowManager.$element);
    			windowManager.addWindows();
    			localReasonCheckboxes.toggle(true);
    			globalReasonCheckboxes.toggle(false);
    		}
    		windowManager.openWindow(dialog);
		}
		var portletLink = mw.util.addPortletLink(
			blocation,
			'#',
			trnslt('title'),
			'ca-reportuser',
			trnslt('description'),
			null,
			'#ca-reportuser'	
		);
		$(portletLink).click(function(e) {
			e.preventDefault();
			openUserDialog();
		});
    	mw.loader.using();
	})();
	if ('P' in WikiData){
		( function() {
			function getPageDialog() {
	    		var style = '.XR-page-buttons{width: 100%; text-align: right}' + '.XR-intro-text{font-size: 80%; margin-bottom: 1em;}' + '.XR-errors{color: red; margin: 1em;}';
	    		mw.util.addCSS(style);
	    		function CreatePageDialog(config){
	    			CreatePageDialog.parent.call(this, config);
	    		}
	    		OO.inheritClass(CreatePageDialog, OO.ui.ProcessDialog);
	    		CreatePageDialog.static.name = 'CreatePageDialog';
	    		CreatePageDialog.static.title = XReport;
				CreatePageDialog.prototype.initialize = function() {
	    			var self = this;
	    			CreatePageDialog.parent.prototype.initialize.call( this);
	    			var $introText = $( '<div />',{class: 'XR-intro-text'})
	        			.append( $( '<p/>').append(mwh));
	    			var $errorsField = $( '<div />',{class: 'XR-errors'});
	    			var $doneField = $( '<div />',{class: 'done'});
	    			const clearError = function() {
	    	    		$errorsField.text( '');
	    	    		self.updateSize();
	    			};
	    			this.curPageID = 'page-1';
	    			var pagenameInput = new OO.ui.TextInputWidget({align: 'top', required: true, validate: 'non-empty', value:RelevantPageName});
	    			var reasonInput = new OO.ui.MultilineTextInputWidget({align: 'top', required: true, rows: 3, autosize: true});
	    			var page1Buttons = new OO.ui.HorizontalLayout({
	      			items: [
	        			new OO.ui.ButtonWidget({label: trnslt('close'), align: 'left', icon:'close'}).on( 'click', function() {
	            			self.close();
	    					clearError();
	            		}),
	        			new OO.ui.ButtonWidget({label: trnslt('button'), flags:  ,icon: 'feedback'}).on( 'click', function() {
	                		var pagename = pagenameInput.getValue();
	            			if (!pagename){
	            				$errorsField.text (trnslt('error-page'));
	        					self.updateSize();
	            				return;
	            			}
	            			var reason = reasonInput.getValue();
	            			if (!reason){
	            				$errorsField.text (trnslt('error-reason'));
	        					self.updateSize();
	            				return;
	            			}
	            			var modus = false;
	                		var xapi = modus ? metaapi : api;
							var status = 'P';
							var Vregex = DBdata(modus, status, 'regex').replace('$1', pagename) + DBdata(modus, status, 'regeX').replace('$1', pagename);
							xapi.get({
								action: 'query',
								prop: 'revisions',
								formatversion: 2,
								rvprop: 'content',
								rvslots: 'main',
								rvlimit: 1,
								titles: DBdata(modus, status, 'page'),
							})
							.then(function(data){
								if (data.error){
									mw.notify(`Error: reportpage() at ${DB}, action: api.get`,{'type':'error','title':XReport,autoHide: false});
									return;
								}
								else if (data.query.pages.revisions == undefined){
									mw.notify(`Error: reportpage() at ${DB}, action: api.get, error: undefined`,{'type':'error','title':XReport,autoHide: false});
									return;
								}
								if ( data.query.pages.revisions.slots.main.content.match( new RegExp( Vregex, 'g')) !== null && Vregex !== ''){
									$errorsField.text (trnslt('error-requested'));
	        						self.updateSize();
	            					return;
								}
								else if (pagename.startsWith('Spezial:') || pagename.startsWith('Special:')){
									$errorsField.text (trnslt('error-specialpage'));
	        						self.updateSize();
	            					return;
								}
								else {
	            					clearError();
		            				self.switchTo('page-2');
		            				$doneField.append($( '<span>')
										.text(trnslt('process'))
										.prop('style', 'position:relative; top:0.35em; color: black; font-weight: bold')
									);
									self.updateSize();
									closeButton.setDisabled(true);
									var success = function() {
										$doneField.append( $( '<span>')
										.text(trnslt('success'))
										.prop('style', 'position:relative; left:1.5em; top:0.35em; color: #009000; font-weight: bold'));
										closeButton.setDisabled(false);
										timeout = function() {
											window.location.reload();
											self.close();
										};
		            					setTimeout(timeout, 5000);
									};
									reason = reason.replace( /(.*)--~~~~/g, '$1');
									reason = reason.replace( /(.*)~~~~/g, '$1');
									if (reason.charAt(0) === ''){
										reason = reason.substr(1);
									}
				        			pagename = pagename.replace(/_/g, ' ');
				        			pSummary = DBdata(modus, status, 'summary') !== '' ? DBdata(modus, status, 'summary').replace('$1', pagename) : pSummary.replace('$1', pagename);
									var reporttext = '\n'+DBdata(modus, status, 'rtext').replace('$1', pagename).replace('$1', pagename).replace('$2', reason);
				        			if ('section' in WikiData){
							        	api.get({
											action: 'parse',
											page: DBdata(modus, status, 'page'),
											prop: 'wikitext',
											section: DBdata(modus, status, 'section')
										}).done( function(result){
											var wikitext = result.parse.wikitext + reporttext;
											api.postWithEditToken({
												action: 'edit',
												title: DBdata(modus, status, 'page'),
												section: DBdata(modus, status, 'section'),
												text: wikitext,
												summary: pSummary,
												notminor: true,
												nocreate: true
											}).then(function(data){
												if (data.error && data.error.info){
													mw.notify(`Error: XReportPage at ${DB}, action: postWithEditToken`,{'type':'error','title':XReport,autoHide: false});
												} else{
													success();
												}
											});
										});
									}
									else {
										api.postWithEditToken({
											action: 'edit',
											title: DBdata(modus, status, 'page'),
											watchlist: 'nochange',
											summary: pSummary,
											appendtext: reporttext,
										})
										.then(function(data){
											if (data.error && data.error.info){
												mw.notify(`Error: XReportPage at ${DB}, action: postWithEditToken`,{'type':'error','title':XReport,autoHide: false});
											} else{
												success();
											}
										});
					    				self.updateSize();
					            	}
										}
									});
			        			})
			        		],
			        	classes: 
			    	});
	    			var page1Form = new OO.ui.FieldsetLayout({
	        		items: [
	        		new OO.ui.FieldLayout(
	        			new OO.ui.Widget({
								content: [
									new OO.ui.FieldsetLayout({
										content: [
											pagenameInput,
										]
									})
								]
							}),{
								label: trnslt('pagename')
							}),
	    			new OO.ui.FieldLayout(reasonInput,{label: trnslt('reason')}),
	    			new OO.ui.FieldLayout(new OO.ui.Widget({content: }),{align: 'top'})
	    			]
				});
	    			var closeButton = new OO.ui.ButtonWidget({label: trnslt('close'), flags: , icon:'close'}).on( 'click', function() {
	            	window.location.reload();
					self.close();
	           });
	    			var page2Buttons = new OO.ui.HorizontalLayout({
	        		items: ,
	        		classes: 
	    		});
	    			var page2Form = new OO.ui.FieldsetLayout({
	        		items: [
	        			new OO.ui.FieldLayout( new OO.ui.Widget({content: }),{align: 'top'})
	        		]
	    		});
	    			this.panelLayout = new OO.ui.PanelLayout({padded: true, expanded: false});
	    			this.panelLayout.$element.append(
	        		$introText,
	        		$errorsField,
	        		$doneField,
	        		$('<div />',{id: 'page-1'}).append( page1Form.$element),
	        		$('<div />',{id: 'page-2' , style: 'display:none'}).append( page2Form.$element)
	    		);
	    			this.$body.append( this.panelLayout.$element);
	    		};
	    		CreatePageDialog.prototype.getBodyHeight = function() {
	    			return this.panelLayout.$element.outerHeight( true);
	    		};
	    		CreatePageDialog.prototype.switchTo = function(nextPageID){
	    			$( '#' + this.curPageID).hide();
	    			this.curPageID = nextPageID;
	    			$( '#' + nextPageID).show();
	    			this.updateSize();
	    		};
	    		return new CreatePageDialog({
	    			size: 'medium'
	    		});
			}
			var dialog, windowManager;
			function openPageDialog(){
	    		if (!dialog){
	    			dialog = getPageDialog();
	    			windowManager = new OO.ui.WindowManager();
	    			$('body').append(windowManager.$element);
	    			windowManager.addWindows();     
	    		}
	    		windowManager.openWindow(dialog);
			}
			var portletLink = mw.util.addPortletLink(
				blocation,
				'#',
				trnslt('Ptitle'),
				'ca-reportpage',
				trnslt('Pdescription'),
				null,
				'#ca-reportpage'
			);
			$(portletLink).click(function(e){
				e.preventDefault();
				openPageDialog();
			});
	    	mw.loader.using();
		})();
	}
	if (.includes(DB) && (mw.config.get('wgNamespaceNumber') >= 0 || mw.config.get('wgArticleId'))){
		( function() {
			function getQDDialog(){
	    		var style = '.XR-page-buttons{width: 100%; text-align: right}' + '.XR-intro-text{font-size: 80%; margin-bottom: 1em;}' + '.XR-errors{color: red; margin: 1em;}';
	    		mw.util.addCSS(style);
	    		function CreateQDDialog(config){
	    			CreateQDDialog.parent.call(this, config);
	    		}
	    		OO.inheritClass(CreateQDDialog, OO.ui.ProcessDialog);
	    		CreateQDDialog.static.name = 'CreateQDDialog';
	    		CreateQDDialog.static.title = XReport;
				CreateQDDialog.prototype.initialize = function() {
	    			var self = this;
	    			CreateQDDialog.parent.prototype.initialize.call( this);
	    			var $introText = $( '<div />',{class: 'XR-intro-text'})
	        			.append( $( '<p/>').append(mwh));
	    			var $errorsField = $( '<div />',{class: 'XR-errors'});
	    			var $doneField = $( '<div />',{class: 'done'});
	    			const clearError = function() {
	    	    		$errorsField.text( '');
	    	    		self.updateSize();
	    			};
	    			this.curPageID = 'page-1';
	    			var GSR = DB in WikiData;
	    			var deleteReasons = ;
	    			if (DB == 'metawiki') {
	    				deleteReasons = ;
	    			}
	    			var checkboxes = ;
	    			var checkboxesEach = ;
	    			var gsrCheck = new OO.ui.CheckboxInputWidget({align: 'top', selected: false});
	    			var gsrInput = GSR ? new OO.ui.FieldLayout(new OO.ui.Widget({content: })]}),{label: 'This is a global sysop wiki.'}) : '';
	    		    for (var xxx in deleteReasons) {
	    				checkboxesEach.push(new OO.ui.CheckboxInputWidget({align: 'top', selected: false}));
	    			}
	    			for (var rrr in checkboxesEach){
	    				checkboxes.push(new OO.ui.FieldLayout(checkboxesEach,{label: deleteReasons, align: 'inline'}));
	    			}
	    			var QDreasonInput = new OO.ui.MultilineTextInputWidget({align: 'top', placeholder: lang === 'de' ? 'Benutzerdefinierte Begründung (optional)' : '', rows: 1, autosize: true});
	    			var page1Buttons = new OO.ui.HorizontalLayout({
	      				items: [
		        			new OO.ui.ButtonWidget({label: trnslt('close'), align: 'left' , icon:'close'}).on( 'click', function() {
		            			self.close();
		    					clearError();
		            		}),
		        			new OO.ui.ButtonWidget({label: trnslt('SDtitle'), flags:  ,icon: 'feedback'}).on( 'click', function() {
		        				var finalReason = '';
		        				for (let i = 0;i<deleteReasons.length;i++) {
		        					if (checkboxesEach.isSelected()) {
		        						if (finalReason != '') {
		        							finalReason = finalReason + ', ';
		        						}
		        						finalReason = finalReason + deleteReasons;
		        					}
		            			}
		            			var manualReason = QDreasonInput.getValue();
	        					if (manualReason) {
	        						if (finalReason != '') {
	        							finalReason = finalReason + '. ';
	        						}
	        						finalReason = finalReason + manualReason;
	        					}
		            			if (finalReason === ''){
		            				$errorsField.text (trnslt('error-reason'));
		        					self.updateSize();
		            				return;
		            			}
		            			//var gsr = gsrCheck.isSelected();
		            			var xapi = /*modus ? metaapi : */api;
		        				var regex = '{{|{{öschen';
								xapi.get({
									action: 'query',
									prop: 'revisions',
									formatversion: 2,
									rvprop: 'content',
									rvslots: 'main',
									rvlimit: 1,
									titles: curPageName,
					    		}).then(function(data) {
									if (data.error) {
										mw.notify(`Error: quickdeletion() at ${DB}, action: api.get`,{'type':'error','title':XReport,autoHide: false});
										return;
									}
									else if (data.query.pages.revisions == undefined){
										mw.notify(`Error: quickdeletion() at ${DB}, action: api.get, error: undefined`,{'type':'error','title':XReport,autoHide: false});
										return;
									}
									else if (data.query.pages.revisions.slots.main.content.match(new RegExp(regex,'g')) !== null && regex !== ''){
										$errorsField.text(trnslt('error-SDrequested'));
		        						self.updateSize();
		            					return;
									}
									else{
		            					clearError();
		            					self.switchTo('page-2');
				         				$doneField.append($( '<span>')
											.text(trnslt('SDprocess'))
											.prop('style', 'position:relative; top:0.35em; color: black; font-weight: bold')
										);
										self.updateSize();
										closeButton.setDisabled(true);
										var success = function() {
											$doneField.append( $( '<span>')
											.text(trnslt('success'))
											.prop('style', 'position:relative; left:1.5em; top:0.35em; color: #009000; font-weight: bold'));
											closeButton.setDisabled(false);
											timeout = function() {
												window.location.reload();
												self.close();
											};
		            						setTimeout(timeout, 5000);
										};
										finalReason = finalReason.replace( /(.*)--~~~~/g, '$1');
										finalReason = finalReason.replace( /(.*)~~~~/g, '$1');
										if (finalReason.charAt(0) === ''){
											finalReason = finalReason.substr(1);
										}
										xapi.get({
											action: 'parse',
											page: curPageName,
											prop: 'wikitext'
										}).done( function(result) {
											var wikitext = `<noinclude>{{SLA|${finalReason} <small>]</small> --~~~~}}</noinclude>\n`+result.parse.wikitext;
											if (DB == 'metawiki') {
												wikitext = `<noinclude>{{delete|${finalReason} <small>]</small>}}</noinclude>\n`+result.parse.wikitext;
											}
											xapi.postWithEditToken({
												action: 'edit',
												title: curPageName,
												text: wikitext,
												summary: '+SLA (] '+ Xv+')',
												notminor: true,
												nocreate: true
											}).then(function(data){
												if (data.error && data.error.info){
													mw.notify(`Error: XReportQD at ${DB}, action: postWithEditToken`,{'type':'error','title':XReport,autoHide: false});
												} else {
													success();
												}
											});
										});
									}
								});
	    						self.updateSize();
	            			})
	        			],
	        			classes: 
	    			});
	    			var page1Form = new OO.ui.FieldsetLayout({
	        			items: [
	        				/*gsrInput,*/
	        				new OO.ui.FieldLayout(new OO.ui.Widget({content: }),{label: trnslt('reason')}),
	        				new OO.ui.FieldLayout(QDreasonInput,{label: trnslt('c-reason')}),
	    					new OO.ui.FieldLayout(new OO.ui.Widget({content: }),{align: 'top'})
	    				]
					});
	    			var closeButton = new OO.ui.ButtonWidget({label: trnslt('close'), flags: , icon:'close'}).on( 'click', function() {
		            	window.location.reload();
						self.close();
		           });
	    			var page2Buttons = new OO.ui.HorizontalLayout({
		        		items: ,
		        		classes: 
		    		});
	    			var page2Form = new OO.ui.FieldsetLayout({
		        		items: [
		        			new OO.ui.FieldLayout( new OO.ui.Widget({content: }),{align: 'top'})
		        		]
		    		});
	    			this.panelLayout = new OO.ui.PanelLayout({padded: true, expanded: false});
	    			this.panelLayout.$element.append(
	        		$introText,
	        		$errorsField,
	        		$doneField,
	        		$('<div />',{id: 'page-1'}).append( page1Form.$element),
	        		$('<div />',{id: 'page-2' , style: 'display:none'}).append( page2Form.$element)
	    			);
	    			this.$body.append( this.panelLayout.$element);
	    		};
	    		CreateQDDialog.prototype.getBodyHeight = function() {
	    			return this.panelLayout.$element.outerHeight( true);
	    		};
	    		CreateQDDialog.prototype.switchTo = function(nextPageID){
	    			$( '#' + this.curPageID).hide();
	    			this.curPageID = nextPageID;
	    			$( '#' + nextPageID).show();
	    			this.updateSize();
	    		};
	    		return new CreateQDDialog({
	    			size: 'medium'
	    		});
			}
			var dialog, windowManager;
			function openQDDialog(){
	    		if (!dialog){
	    			dialog = getQDDialog();
	    			windowManager = new OO.ui.WindowManager();
	    			$('body').append(windowManager.$element);
	    			windowManager.addWindows();     
	    		}
	    		windowManager.openWindow(dialog);
			}
			var portletLink = mw.util.addPortletLink(
				blocation,
				'#',
				trnslt('SDtitle'),
				'ca-quickdeletion',
				trnslt('SDdescription'),
				null,
				'#ca-quickdeletion'	
			);
			$(portletLink).click(function(e){
				e.preventDefault();
				openQDDialog();
			});
	    	mw.loader.using();
		})();
	}
});
//</nowiki>