Benutzer:WWWIG/monobook.js: Unterschied zwischen den Versionen

Aus Watch-Wiki
Zur Navigation springen Zur Suche springen
Zeile 14: Zeile 14:
 
var t_restartintervall = 120*1000;
 
var t_restartintervall = 120*1000;
  
t_blackwordlist = new Array(
+
t_blackwordlist = new Array();
'gucci',
+
t_whitewordlist = new Array();
'handbag',
 
'international',
 
'livewire',
 
'medium',
 
'moshable',
 
'music',
 
'Music',
 
'perry',
 
'pumps',
 
'shoulder',
 
'Tranny',
 
'tribtoo',
 
'a href=',
 
'url=',
 
'link=',
 
'Acai',
 
'Acne',
 
'advice',
 
'allergie',
 
'Ambien',
 
'angel',
 
'animal',
 
'anxiet',
 
'arthrit',
 
' Ass',
 
'Ass ',
 
'_Ass',
 
'asses',
 
'augment',
 
'auto ',
 
'berry',
 
'bestblack',
 
' big',
 
'Black',
 
'Blanket',
 
'bleeding',
 
'Breast',
 
'building.com',
 
'Buy ',
 
'bodybuilding',
 
'chain',
 
'cleopatra',
 
'coffee',
 
'Canad',
 
'cartrid',
 
'casino',
 
'Cialis',
 
'chart',
 
'cherry',
 
'Clean',
 
'cock',
 
'comment',
 
'commercial',
 
'consolations',
 
'craig',
 
'credit',
 
'darcy',
 
'dating',
 
'Dealing',
 
'Dedica',
 
'delivery',
 
'dentistry',
 
'depression',
 
'discount',
 
'doodle',
 
'doo',
 
'donna',
 
'dross',
 
'drug',
 
'embedded',
 
'etbz',
 
'evity',
 
'Extender',
 
'Extenze',
 
'Exten',
 
'feellike',
 
'fire',
 
'free',
 
'gastro',
 
'generic',
 
'gift',
 
'girls',
 
'Grants',
 
'gregoire',
 
'gym',
 
'heart',
 
'health',
 
'HGH',
 
'home',
 
'Host',
 
'insurance',
 
'ipower',
 
'jack.net',
 
'latte',
 
'Levitra',
 
'Lookup',
 
'life',
 
'liquid',
 
'lunarpage',
 
'matter',
 
'monkey',
 
'monster',
 
'mortgage',
 
'movies',
 
'muscul',
 
'nexx',
 
'ninecherry',
 
'number',
 
'online',
 
'ornamental',
 
'Osteopor',
 
'overnight',
 
'oxycycl',
 
'Penis',
 
'pharma',
 
'Phentermine',
 
'Phone',
 
'pills',
 
'pittsburgh',
 
'plaza',
 
'porn',
 
'power',
 
'prednis',
 
'price',
 
'professional',
 
'projects',
 
'Propecia',
 
'Provestra',
 
'quotes',
 
'remedies',
 
'report',
 
'retreat',
 
'reverse',
 
'robaxin',
 
'rocks',
 
'Scalp',
 
'Security',
 
'self',
 
'sex',
 
'skatepark',
 
'smile',
 
'Smok',
 
'Snugg',
 
'solution',
 
'sparal',
 
'sprinklers',
 
'square.com',
 
'square',
 
'Supplement',
 
'teens',
 
'Teeth',
 
'testinal',
 
'tickets',
 
'tits',
 
'Tramadol',
 
'travel',
 
'treatment',
 
'treat',
 
'total',
 
'valium',
 
'vext',
 
'vimax',
 
'Vodka',
 
'volume',
 
'Whiten',
 
'woman',
 
'Xanax',
 
'xenical',
 
'xtreme',
 
'yoga',
 
'young',
 
'yourself'
 
);
 
 
 
t_whitewordlist = new Array(
 
'angelegt'
 
);
 
  
 
function LoadTemCatGenForm() {
 
function LoadTemCatGenForm() {
Zeile 198: Zeile 21:
 
if ( document.getElementById( 'InsertcheckRCForm' ) ) {
 
if ( document.getElementById( 'InsertcheckRCForm' ) ) {
 
out = '<form method="get" style="width:100%" name="TemCatGenForm">' +
 
out = '<form method="get" style="width:100%" name="TemCatGenForm">' +
'<fieldset><legend>Recentchanges</legend>' +
+
'<fieldset><legend>RecentChanges-Check</legend>' +
 
'<div style="margin-top:.5em; margin-left:1em; margin-right:1em;">' +
 
'<div style="margin-top:.5em; margin-left:1em; margin-right:1em;">' +
'<p><input type="button" value="Hole RC" ' +
+
'<p><input type="button" value="Starte RC-Check" ' +
'title="" onClick="CheckRC()">&nbsp;' +
+
'title="" onClick="GetBadWordLists()">&nbsp;' +
 
'</p>' +
 
'</p>' +
 
'<label for="Status" style="vertical-align:top;">Status:</label>' +
 
'<label for="Status" style="vertical-align:top;">Status:</label>' +
Zeile 211: Zeile 34:
 
document.getElementById( 'InsertcheckRCForm' ).innerHTML = out;
 
document.getElementById( 'InsertcheckRCForm' ).innerHTML = out;
 
}
 
}
 +
}
 +
 +
function GetBadWordLists() {
 +
t_FilesToCheckString = 'MediaWiki:Spam-BlackList|MediaWiki:Spam-WhiteList';
 +
 +
var t_parameters = '?action=query&format=json&prop=revisions&rvprop=ids|content&titles=' +
 +
encodeURIComponent( t_FilesToCheckString ) + '';
 +
var t_http_req = null;
 +
if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
 +
else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
 +
t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true);
 +
t_http_req.onreadystatechange = function() {
 +
if(t_http_req.readyState != 4) {
 +
document.getElementById( 'Status' ).innerHTML = '<br>' + 'BadWord-Listen werden angefordert ('+GetTimeStamp()+') ...';
 +
}
 +
if(t_http_req.readyState == 4 && t_http_req.status == 200) {
 +
document.getElementById( 'Status' ).innerHTML += '<br>' + 'BadWord-Listen erhalten ('+GetTimeStamp()+') ...';
 +
GotBadWordLists( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
 +
}
 +
}
 +
t_http_req.send(null);
 +
}
 +
 +
function GotBadWordLists( queryData, rawData ) {
 +
 +
if ( queryData.query && queryData.query.pages ) {
 +
for ( var t_Page in queryData.query.pages ) {
 +
if ( queryData.query.pages[t_Page].pageid ) {
 +
if ( queryData.query.pages[t_Page].revisions ) {
 +
if ( queryData.query.pages[t_Page].title == 'MediaWiki:Spam-BlackList' ) {
 +
t_blackwordlist = String( queryData.query.pages[t_Page].revisions[0]['*'] ).split( '\n' );
 +
document.getElementById( 'Status' ).innerHTML += '<br>' + 'BlackList-Inhalt ('+GetTimeStamp()+')<br>' + t_blackwordlist.join("/");
 +
}
 +
if ( queryData.query.pages[t_Page].title == 'MediaWiki:Spam-WhiteList' ) {
 +
t_whitewordlist = String( queryData.query.pages[t_Page].revisions[0]['*'] ).split( '\n' );
 +
document.getElementById( 'Status' ).innerHTML += '<br>' + 'WhiteList-Inhalt ('+GetTimeStamp()+')<br>' + t_whitewordlist.join("/");
 +
}
 +
}
 +
}
 +
}
 +
}
 +
CheckRC();
 
}
 
}
  
Zeile 224: Zeile 89:
 
t_http_req.onreadystatechange = function() {
 
t_http_req.onreadystatechange = function() {
 
if(t_http_req.readyState != 4) {
 
if(t_http_req.readyState != 4) {
document.getElementById( 'Status' ).innerHTML = 'RC-Liste wird angefordert ('+GetTimeStamp()+') ...';
+
document.getElementById( 'Status' ).innerHTML += 'RC-Liste wird angefordert ('+GetTimeStamp()+') ...';
 
}
 
}
 
if(t_http_req.readyState == 4 && t_http_req.status == 200) {
 
if(t_http_req.readyState == 4 && t_http_req.status == 200) {
document.getElementById( 'Status' ).innerHTML = 'RC-Liste erhalten ('+GetTimeStamp()+') ...';
+
document.getElementById( 'Status' ).innerHTML += 'RC-Liste erhalten ('+GetTimeStamp()+') ...';
 
GotRC( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
 
GotRC( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
 
}
 
}

Version vom 13. September 2010, 08:55 Uhr

/* -- */
// my_vkdebug = true;

addOnloadHook( function () {
	LoadTemCatGenForm();
});

var t_wikiurl = wgServer + wgScriptPath + '/api.php';
var t_Files = new Array();
var t_FilestoCheck = new Array();
var t_UserstoCheck = new Array();

var t_processnext = 0;
var t_restartintervall = 120*1000;

t_blackwordlist = new Array();
t_whitewordlist = new Array();

function LoadTemCatGenForm() {

	if ( document.getElementById( 'InsertcheckRCForm' ) ) {
		out =	'<form method="get" style="width:100%" name="TemCatGenForm">' +
			'<fieldset><legend>RecentChanges-Check</legend>' +
			'<div style="margin-top:.5em; margin-left:1em; margin-right:1em;">' +
			'<p><input type="button" value="Starte RC-Check" ' +
			'title="" onClick="GetBadWordLists()">&nbsp;' +
			'</p>' +
			'<label for="Status" style="vertical-align:top;">Status:</label>' +
			'<p id="Status" style="border: 1px solid #aaa; padding:.5em;" > ...</p>' +
			'<div id="PreviewForm"></div>' +
			'<div id="InsertRCForm"></div>' +
			'</div></fieldset></form>';

		document.getElementById( 'InsertcheckRCForm' ).innerHTML = out;
	}
}

function GetBadWordLists() {
	t_FilesToCheckString = 'MediaWiki:Spam-BlackList|MediaWiki:Spam-WhiteList';

	var t_parameters = '?action=query&format=json&prop=revisions&rvprop=ids|content&titles=' + 
		encodeURIComponent( t_FilesToCheckString ) + '';
	var t_http_req = null;
	if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
	else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
	t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true);
	t_http_req.onreadystatechange = function() {
		if(t_http_req.readyState != 4) {
			document.getElementById( 'Status' ).innerHTML = '<br>' + 'BadWord-Listen werden angefordert ('+GetTimeStamp()+') ...';
		}
		if(t_http_req.readyState == 4 && t_http_req.status == 200) {
			document.getElementById( 'Status' ).innerHTML += '<br>' + 'BadWord-Listen erhalten ('+GetTimeStamp()+') ...';
			GotBadWordLists( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
		}
	}
	t_http_req.send(null);
}

function GotBadWordLists( queryData, rawData ) {

	if ( queryData.query && queryData.query.pages ) {
		for ( var t_Page in queryData.query.pages ) {
			if ( queryData.query.pages[t_Page].pageid ) {
				if ( queryData.query.pages[t_Page].revisions ) {
					if ( queryData.query.pages[t_Page].title == 'MediaWiki:Spam-BlackList' ) {
						t_blackwordlist = String( queryData.query.pages[t_Page].revisions[0]['*'] ).split( '\n' );
						document.getElementById( 'Status' ).innerHTML += '<br>' + 'BlackList-Inhalt ('+GetTimeStamp()+')<br>' + t_blackwordlist.join("/");
					}				
					if ( queryData.query.pages[t_Page].title == 'MediaWiki:Spam-WhiteList' ) {
						t_whitewordlist = String( queryData.query.pages[t_Page].revisions[0]['*'] ).split( '\n' );
						document.getElementById( 'Status' ).innerHTML += '<br>' + 'WhiteList-Inhalt ('+GetTimeStamp()+')<br>' + t_whitewordlist.join("/");
					}				
				}
			}
		}
	}
	CheckRC();
}

function CheckRC() {

	window.setTimeout( "CheckRC()", t_restartintervall );

	var t_parameters = '?action=query&format=json&list=recentchanges&rclimit=50&rctype=new&rcprop=user|comment|flags|timestamp|title|ids|sizes';
	var t_http_req = null;
	if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
	else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
	t_http_req.open("GET", t_wikiurl + t_parameters, true);
	t_http_req.onreadystatechange = function() {
		if(t_http_req.readyState != 4) {
			document.getElementById( 'Status' ).innerHTML += 'RC-Liste wird angefordert ('+GetTimeStamp()+') ...';
		}
		if(t_http_req.readyState == 4 && t_http_req.status == 200) {
			document.getElementById( 'Status' ).innerHTML += 'RC-Liste erhalten ('+GetTimeStamp()+') ...';
			GotRC( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
		}
	}
	t_http_req.send(null);
}

function GotRC( queryData, rawData ) {

	t_Files.splice( 0, t_Files.length );
	t_FilestoCheck.splice( 0, t_FilestoCheck.length );
	t_UserstoCheck.splice( 0, t_UserstoCheck.length );
	t_processnext = 0;

	if ( queryData.query && queryData.query.recentchanges ) {
		for ( t_Change = 0; t_Change < queryData.query.recentchanges.length; t_Change++ ) {
			if ( typeof queryData.query.recentchanges[t_Change].anon != 'undefined' ) {
				if ( CheckBadWord( queryData.query.recentchanges[t_Change].comment, '' ) ) {
					var t_File = new Array( queryData.query.recentchanges[t_Change].title,
						queryData.query.recentchanges[t_Change].revid,
						queryData.query.recentchanges[t_Change].user,
						queryData.query.recentchanges[t_Change].comment );
					t_Files.push( t_File );
				} else {
					document.getElementById( 'Status' ).innerHTML += '<br>[' + queryData.query.recentchanges[t_Change].title+']';

					var t_File = new Array( queryData.query.recentchanges[t_Change].title,
						queryData.query.recentchanges[t_Change].revid,
						queryData.query.recentchanges[t_Change].user,
						queryData.query.recentchanges[t_Change].comment );
					t_FilestoCheck.push( t_File );
				}
				
			} else {
				var t_File = new Array( queryData.query.recentchanges[t_Change].title,
					queryData.query.recentchanges[t_Change].revid,
					queryData.query.recentchanges[t_Change].user,
					queryData.query.recentchanges[t_Change].comment );
				t_UserstoCheck.push( t_File );
			}
		}
	}

	if ( t_Files.length == 0 && t_FilestoCheck.length == 0 && t_UserstoCheck.length == 0 ) {
		document.getElementById( 'Status' ).innerHTML += '<br>' + 'Prüfung durchgeführt ('+GetTimeStamp()+')<hr style="margin-top:1em;">';
	} else {
		if ( t_FilestoCheck.length == 0 ) {
			if ( t_UserstoCheck.length == 0 ) {
				document.getElementById( 'InsertRCForm' ).innerHTML = '<hr style="margin-top:1em;">('+GetTimeStamp()+')<ul>';
				CheckTitles();
			} else {
				PreCheckUsers();
			}
		} else {
			PreCheckTitles();
		}
	}
}

function PreCheckTitles() {

	t_FilesToCheckString = '';
	for ( t_FiletoCheck = 0; t_FiletoCheck < t_FilestoCheck.length; t_FiletoCheck++ ) {
		if ( t_FilesToCheckString != '' ) {
			t_FilesToCheckString += '|';
		}
		t_FilesToCheckString += t_FilestoCheck[t_FiletoCheck][0];
	}

	var t_parameters = '?action=query&format=json&prop=revisions&rvprop=ids|timestamp|user|comment|content&titles=' + 
		encodeURIComponent( t_FilesToCheckString ) + '';
	var t_http_req = null;
	if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
	else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
	t_http_req.open("GET", CatGenForm.t_wikiurl + t_parameters, true);
	t_http_req.onreadystatechange = function() {
		if(t_http_req.readyState != 4) {
			document.getElementById( 'Status' ).innerHTML += '<br>' + 'Datei-Inhalt wird angefordert ('+GetTimeStamp()+') ...';
		}
		if(t_http_req.readyState == 4 && t_http_req.status == 200) {
			document.getElementById( 'Status' ).innerHTML += '<br>' + 'Datei-Inhalt erhalten ('+GetTimeStamp()+') ...';
			PreCheckTitlesProcess( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
		}
	}
	t_http_req.send(null);
}

function PreCheckTitlesProcess( queryData, rawData ) {

	document.getElementById( 'Status' ).innerHTML += '<br>' + rawData;

	if ( queryData.query && queryData.query.pages ) {
		for ( var t_Page in queryData.query.pages ) {
			if ( queryData.query.pages[t_Page].pageid ) {
				if ( queryData.query.normalized ) {
					for ( t_PageNorm= 0; t_PageNorm < queryData.query.normalized.length; t_PageNorm++ ) {
						if ( queryData.query.normalized[t_PageNorm].to == queryData.query.pages[t_Page].title ) {
							if ( queryData.query.pages[t_Page].revisions ) {
								if ( CheckBadWord( queryData.query.pages[t_Page].revisions[0]['*'], 'http:' ) ) {
									var t_File = new Array( queryData.query.pages[t_Page].title,
										queryData.query.pages[t_Page].revisions[0].revid,
										queryData.query.pages[t_Page].revisions[0].user,
										queryData.query.pages[t_Page].revisions[0]['*'] );
									t_Files.push( t_File );
								}				
							}
						}
					}
				} else
				if ( queryData.query.pages[t_Page].revisions ) {
					document.getElementById( 'Status' ).innerHTML += '<br>' + 'Prüfe Datei-Inhalt ('+GetTimeStamp()+')<br>' + queryData.query.pages[t_Page].revisions[0]['*'];
					if ( CheckBadWord( queryData.query.pages[t_Page].revisions[0]['*'], 'http:' ) ) {
						var t_File = new Array( queryData.query.pages[t_Page].title,
							queryData.query.pages[t_Page].revisions[0].revid,
							queryData.query.pages[t_Page].revisions[0].user,
							queryData.query.pages[t_Page].revisions[0]['*'] );
						t_Files.push( t_File );
					}				
				}
			}
		}
	}

	if ( t_Files.length == 0 ) {
		document.getElementById( 'Status' ).innerHTML += '<br>' + 'Prüfung durchgeführt ('+GetTimeStamp()+')<hr style="margin-top:1em;">';
	} else {
		document.getElementById( 'InsertRCForm' ).innerHTML = '<hr style="margin-top:1em;">('+GetTimeStamp()+')<ul>';
		CheckTitles();
	}
}

function PreCheckUsers() {

	t_UsersToCheckString = '';
	for ( t_UsertoCheck = 0; t_UsertoCheck < t_UserstoCheck.length; t_UsertoCheck++ ) {
		if ( t_UsersToCheckString != '' ) {
			t_UsersToCheckString += '|';
		}
		t_UsersToCheckString += t_UserstoCheck[t_UsertoCheck][2];
	}

	var t_parameters = '?action=query&format=json&list=users&usprop=groups|editcount|registration&ususers=' + 
		encodeURIComponent( t_UsersToCheckString ) + '';
	var t_http_req = null;
	if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
	else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
	t_http_req.open("GET", CatGenForm.t_wikiurl + t_parameters, true);
	t_http_req.onreadystatechange = function() {
		if(t_http_req.readyState != 4) {
			document.getElementById( 'Status' ).innerHTML += '<br>' + 'User-Info wird angefordert ('+GetTimeStamp()+') ...';
		}
		if(t_http_req.readyState == 4 && t_http_req.status == 200) {
			document.getElementById( 'Status' ).innerHTML += '<br>' + 'User-Info erhalten ('+GetTimeStamp()+') ...';
			PreCheckUsersProcess( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
		}
	}
	t_http_req.send(null);
}

function PreCheckUsersProcess( queryData, rawData ) {

	document.getElementById( 'Status' ).innerHTML += '<br>' + rawData;

	if ( queryData.query && queryData.query.users ) {
		for ( var t_User in queryData.query.users ) {
			for ( t_UsertoCheck = 0; t_UsertoCheck < t_UserstoCheck.length; t_UsertoCheck++ ) {
				if ( t_UserstoCheck[t_UsertoCheck][2] == queryData.query.users[t_User].name &&
					 queryData.query.users[t_User].editcount < 10 ) {
						if ( CheckBadWord( t_UserstoCheck[t_UsertoCheck][3], '' ) ) {
							var t_File = new Array( t_UserstoCheck[t_UsertoCheck][0],
								t_UserstoCheck[t_UsertoCheck][1],
								t_UserstoCheck[t_UsertoCheck][2],
								t_UserstoCheck[t_UsertoCheck][3] );
							t_Files.push( t_File );
						} else {
							document.getElementById( 'Status' ).innerHTML += '<br>USER: ' + queryData.query.users[t_User].name +
											' [' + t_UserstoCheck[t_UsertoCheck][0] + ']';
	
							var t_File = new Array( t_UserstoCheck[t_UsertoCheck][0],
								t_UserstoCheck[t_UsertoCheck][1],
								t_UserstoCheck[t_UsertoCheck][2],
								t_UserstoCheck[t_UsertoCheck][3] );
							t_FilestoCheck.push( t_File );
						}
				}
			}
		}
	}

	if ( t_Files.length == 0 && t_FilestoCheck.length == 0 ) {
		document.getElementById( 'Status' ).innerHTML += '<br>' + 'Prüfung durchgeführt ('+GetTimeStamp()+')<hr style="margin-top:1em;">';
	} else {
		if ( t_FilestoCheck.length == 0 ) {
			document.getElementById( 'InsertRCForm' ).innerHTML = '<hr style="margin-top:1em;">('+GetTimeStamp()+')<ul>';
			CheckTitles();
		} else {
			PreCheckTitles();
		}
	}
}

function CheckTitles() {

	if ( t_processnext < t_Files.length ) {

		document.getElementById( 'InsertRCForm' ).innerHTML +=  '<li>' + t_Files[t_processnext][0]+'<br>'+t_Files[t_processnext][1]+'<br>'+t_Files[t_processnext][2]+'<br>'+t_Files[t_processnext][3] + '</li>';

		var t_parameters = '?action=query&format=json&prop=info|revisions&intoken=delete&titles=' + 
				encodeURIComponent( t_Files[t_processnext][0] ) + '';
		var t_http_req = null;
		if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
		else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
		t_http_req.open("GET", CatGenForm.t_wikiurl + t_parameters, true);
		t_http_req.onreadystatechange = function() {
			if(t_http_req.readyState != 4) {
				document.getElementById( 'Status' ).innerHTML += '<br>' + 'Datei-Token wird angefordert ('+GetTimeStamp()+') ...';
			}
			if(t_http_req.readyState == 4 && t_http_req.status == 200) {
				DeleteTitles( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
			}
		}
		t_http_req.send(null);
	}
}

function DeleteTitles ( queryData, rawData ) {

	if ( queryData ) {
		if ( queryData.query && queryData.query.pages ) {
			var t_token = "";
			var t_timestamp = "";
			var t_some_pages = queryData.query.pages;
			for ( var t_Page in t_some_pages ) {
				if ( t_some_pages[t_Page].edittoken ) {
					t_token = encodeURIComponent( t_some_pages[t_Page].edittoken );
				} else
				if ( t_some_pages[t_Page].deletetoken ) {
					t_token = encodeURIComponent( t_some_pages[t_Page].deletetoken );
				}
				if ( t_some_pages[t_Page].revisions ) {
					var t_some_revisions = t_some_pages[t_Page].revisions;
					for ( var i = 0; i < t_some_revisions.length; i++ )	{
						if (t_some_revisions[i].timestamp) {
							t_timestamp = t_some_revisions[i].timestamp;
						}
					}
				}
				document.getElementById( 'Status' ).innerHTML += '<br>' + t_some_pages[t_Page].starttimestamp;
			}

			t_summary = '&reason=' + encodeURIComponent( 'automatisch gelöscht' );

			var t_parameters = '?action=delete&format=json&title=' + encodeURIComponent( t_some_pages[t_Page].title ) +
					   t_summary + '&watch&basetimestamp=' + t_timestamp +
					   '&token=' + t_token + '&bot=1';

			var t_http_req = null;
			if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
			else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
			t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true);
			t_http_req.onreadystatechange = function() {
				if( t_http_req.readyState != 4 ) {
					document.getElementById( 'Status' ).innerHTML +=
						'<br>' + '<small>'+t_some_pages[t_Page].title+'</small><br>wird gelöscht ('+GetTimeStamp()+') ...';
				}
				if( t_http_req.readyState == 4 && t_http_req.status == 200 ) {
					DeleteTitlesProcessed( eval("(" + t_http_req.responseText + ")" ), t_http_req.responseText );
				}
			}
			t_http_req.send(null);
		}
	}
}

function CheckUsers() {

	if ( t_processnext < t_Files.length ) {
		var t_parameters = '?action=block&format=json&user=' + 
				encodeURIComponent( t_Files[t_processnext][2] ) + '&gettoken';
		var t_http_req = null;
		if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
		else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
		t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true);
		t_http_req.onreadystatechange = function() {
			if(t_http_req.readyState != 4) {
				document.getElementById( 'Status' ).innerHTML += '<br>' + 'Benutzer-Token wird angefordert ('+GetTimeStamp()+') ...';
			}
			if(t_http_req.readyState == 4 && t_http_req.status == 200) {
				BlockUsers( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
			}
		}
		t_http_req.send(null);
	}
}

function BlockUsers ( queryData, rawData  ) {

	document.getElementById( 'Status' ).innerHTML += '<br>' + rawData;

	if ( queryData ) {
		if ( queryData.block && queryData.block.blocktoken ) {
			var t_token = queryData.block.blocktoken;

			var t_parameters = '?action=block&format=json&user=' + 
					encodeURIComponent( t_Files[t_processnext][2] ) + '&reason=' + 
					encodeURIComponent( 'spam (automatisch gesperrt)' )  + '&token=' + 
					encodeURIComponent( t_token );
			var t_http_req = null;
			if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
			else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
			t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true);
			t_http_req.onreadystatechange = function() {
				if(t_http_req.readyState != 4) {
					document.getElementById( 'Status' ).innerHTML += '<br>' + 'Benutzer wird gesperrt ('+GetTimeStamp()+') ...';
				}
				if(t_http_req.readyState == 4 && t_http_req.status == 200) {
					DeleteTitlesProcessed( eval("(" + t_http_req.responseText + ")"), t_http_req.responseText );
				}
			}
			t_http_req.send(null);
		}
	}
}

function DeleteTitlesProcessed( queryData, rawData ) {

	if ( queryData['delete'] ) {
		if ( queryData['delete'].title && queryData['delete'].reason ) {
			document.getElementById( 'Status' ).innerHTML += '<br>' + queryData['delete'].title + '<br>' + queryData['delete'].reason;
			t_processnext++;
			if ( t_processnext < t_Files.length ) {
				CheckTitles();
			} else {
				t_processnext = 0;
				CheckUsers();
			}
		}
	}  else
	if ( queryData['block'] && queryData['block'].user ) {
		document.getElementById( 'Status' ).innerHTML += '<br>' + queryData['block'].user + ' wurde gesperrt ('+GetTimeStamp()+') ';
		t_processnext++;
		if ( t_processnext < t_Files.length ) {
			CheckUsers();
		}
	} else {
		document.getElementById( 'Status' ).innerHTML += '<br>Unbekannter Fehler ' + rawData +  '<br>('+GetTimeStamp()+')';
	}
	if ( t_processnext >= t_Files.length ) {
		document.getElementById( 'InsertRCForm' ).innerHTML += '</ul>';
		document.getElementById( 'Status' ).innerHTML += '<br>' + 'Prüfung durchgeführt ('+GetTimeStamp()+')<hr style="margin-top:1em;">';
	}
}

function GetTimeStamp() {

	var t_now = new Date();
	
	t_GetTimeStamp = ('0000'+t_now.getFullYear()).substr(String(t_now.getFullYear()).length,4)+'-'+('00'+(t_now.getMonth()+1)).substr(String((t_now.getMonth()+1)).length,2)+'-'+('00'+t_now.getDate()).substr(String(t_now.getDate()).length,2)+'T'+
('00'+t_now.getHours()).substr(String(t_now.getHours()).length,2)+':'+('00'+t_now.getMinutes()).substr(String(t_now.getMinutes()).length,2)+':'+('00'+t_now.getSeconds()).substr(String(t_now.getSeconds()).length,2)+'Z';
	
	return t_GetTimeStamp;
}

function CheckBadWord( t_text, t_extra ) {

	if ( t_text ) {
		for ( t_bWord = 0; t_bWord < t_blackwordlist.length; t_bWord++ ) {
			t_erg_bw = String( t_text.toUpperCase() ).indexOf( String( t_blackwordlist[t_bWord] ).toUpperCase() );

			if ( t_erg_bw != -1 ) {
				document.getElementById( 'Status' ).innerHTML += '<br>'+'BadWord ('+t_blackwordlist[t_bWord]+'/Pos: '+t_erg_bw+') in<br>['+t_text+']';

				t_isblack = true;
				for ( t_wWord = 0; t_wWord < t_whitewordlist.length; t_wWord++ ) {
					t_erg_ww = String( t_text.toUpperCase() ).indexOf( String( t_whitewordlist[t_wWord] ).toUpperCase() );
					if ( t_erg_ww == t_erg_bw ) {
						document.getElementById( 'Status' ).innerHTML += '<br>'+'WhiteWord ('+t_whitewordlist[t_wWord]+')';
						t_isblack = false;
					}
				}

				t_erg_ex = 0;
				if ( t_extra != '' ) {
					t_erg_ex = String( t_text.toUpperCase() ).indexOf( String( t_extra ).toUpperCase() );
				}
				if ( t_isblack  == true && t_erg_ex != -1 ) {
					return true;
				}
			}
		}
		return false;
	}
}