MediaWiki:Skin/PDF.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
Sicherheitsfeature - nicht dass wir damit eine Endlosschleife erzeugen, wenns gar nicht mehr weiter geht, weil der Rechner an seine Fließkomma-Grenzen stößt
Kameloid (Diskussion | Beiträge)
mal guckä
Zeile 65: Zeile 65:
document.getElementById("pdf_progress").innerHTML = prozent;
document.getElementById("pdf_progress").innerHTML = prozent;
document.getElementById("pdf_state").innerHTML = pdfmsg[ count % pdfmsg.length ];
document.getElementById("pdf_state").innerHTML = pdfmsg[ count % pdfmsg.length ];
if (count==3){
document.getElementById("Server_state").innerHTML = "<br /><h2>Serverfehler</h2>Wird Dir präsentiert von: Wikipedia, der sinnfreien Enzyklopädie<br />Auf dem Render-Server ist ein Fehler aufgetreten: error executing command 'render': argument 1 must be string or read-only buffer, not None, du Kamel";
}
setTimeout( pdfrun, 5000 );
setTimeout( pdfrun, 5000 );
}
}

Version vom 13. Februar 2009, 04:18 Uhr

var pdfmsg = [
	"Erstmal alles angucken.",
	"Verpackungsmaterial aus dem Keller holen",
	"Kellerschlüssel suchen",
	"Däumchen drehen",
	"Mit Mama telefonieren",
	"Erstmal ein Konzept überlegen",
	"Format zuschneiden, schnippel, schnippel...",
	"Bilder suchen",
	"Hab kein Bock mehr",
	"Willst du nicht lieber FDP?",
	"Text einkleben",
	"Guidomobil auftanken",
	"Schlafen",
	"Dromedar einfangen",
	"\"PDF für Dummys\" lesen",
	"Fernsehn",
	"Irgendwie sieht das doof aus",
	"nochmal von vorn anfangen"
	];
var prozent = Math.floor( Math.random() * 5 );
var count = 0;
var toleranz = 0;

function pdfgen()
{
	var arg = location.href;
	var reg = new RegExp(/[?&]klapp=pdfgen($|[?&])/);
	arg = arg.match(reg);
	if( arg == null )
		return;
	pdfrun();
}

function pdfrun()
{
	var dazu = runden( ( 100 - prozent ) / 13, toleranz );

	while ( dazu == 0 )
	{
		if (toleranz > 300)
		{
			document.getElementById("pdf_progress").innerHTML += "9";
			setTimeout( pdfrun, 5000 );
			return;
		}
		
		if (prozent >= 100)
		{
			prozent=0;
			toleranz=0;
			count=0;
			document.getElementById("pdf_progress").innerHTML = 0;
			document.getElementById("pdf_state").innerHTML = "Äh, jetzt bin ich durcheinander gekommen...";
			setTimeout( pdfrun, 5000 );
			return;
		}

		toleranz ++ ;
		dazu = runden( ( 100 - prozent ) / 7, toleranz );
	}

	prozent += dazu;
	count ++;
	document.getElementById("pdf_progress").innerHTML = prozent;
	document.getElementById("pdf_state").innerHTML = pdfmsg[ count % pdfmsg.length ];
	if (count==3){
		document.getElementById("Server_state").innerHTML = "<br /><h2>Serverfehler</h2>Wird Dir präsentiert von: Wikipedia, der sinnfreien Enzyklopädie<br />Auf dem Render-Server ist ein Fehler aufgetreten: error executing command 'render': argument 1 must be string or read-only buffer, not None, du Kamel";
	}	
	setTimeout( pdfrun, 5000 );
}

function runden( num, tol )
{
	var t = Math.pow( 10, tol );
	return Math.floor( num * t ) / t;
}

addOnloadHook(pdfgen);