Hauptseite | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente

JuelichError Klassenreferenz

Die Fehlerbehandlung des JuelichWebs. Mehr...

Aufstellung aller Elemente

Öffentliche Methoden

 JuelichError ()
 printError ($class, $debug_info= '')
 Gibt einen Fehler aus.
 getErrorDocument ($code)
 Liefert ein (Standard)HTTP Fehlerdokument als HTML-Seite.

Öffentliche Attribute

 $log
 das JuelicherrorLog Objekt


Ausführliche Beschreibung

Die Fehlerbehandlung des JuelichWebs.

Definiert in Zeile 14 der Datei JuelichError.php.


Beschreibung der Konstruktoren und Destruktoren

JuelichError::JuelichError  ) 
 

Definiert in Zeile 18 der Datei JuelichError.php.

00018 { 00019 $this->log = new JuelichErrorLog; 00020 }


Dokumentation der Elementfunktionen

JuelichError::getErrorDocument code  ) 
 

Liefert ein (Standard)HTTP Fehlerdokument als HTML-Seite.

Parameter:
code der HTTP-Status-Code
Rückgabe:
die Fehlerseite
Definiert in Zeile 99 der Datei JuelichError.php.
00099 { 00100 $heading = array( 00101 '500' => array(1 => 'Serverfehler!', 00102 'Erreur du serveur!', 00103 'Server error!'), 00104 '503' => array(1 => 'Zugriff nicht m&ouml;glich!', 00105 'Service inaccessible!', 00106 'Service unavailable!'), 00107 '404' => array(1 => 'Objekt nicht gefunden!', 00108 'Objet non trouv&eacute;!', 00109 'Object not found!') 00110 ); 00111 00112 $extra = array( 00113 '500' => array(1 => 'Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist.', 00114 'Le serveur a &egrave;t&eacute; victime d\'une erreur interne et n\'a pas &eacute;t&eacute; capable de faire aboutir votre requ&ecirc;te.', 00115 'The server encountered an internal error and was unable to complete your request.'), 00116 '503' => array(1 => 'Der Server ist derzeit nicht in der Lage die Anfrage zu bearbeiten. Entweder ist der Server derzeit &uuml;berlastet oder wegen Wartungsarbeiten nicht verf&uuml;gbar. Bitte versuchen Sie es sp&auml;ter wieder.', 00117 'En raison de travaux de maintenance ou de probl&egrave;mes de capacit&eacute; le serveur n\'est pas en mesure de r&eacute;pondre &agrave; votre requ&ecirc;te pour l\'instant. Veuillez r&eacute;essayer plus tard.', 00118 'The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.'), 00119 '404' => array(1 => 'Der angeforderte URL konnte auf dem Server nicht gefunden werden.', 00120 'L\'URL requise n\'a pu etre trouv&eacute;e sur ce serveur.', 00121 'The requested URL was not found on this server.') 00122 ); 00123 $contact = array(1 => 'Sofern Sie dies f&uuml;r eine Fehlfunktion des Servers halten, informieren Sie bitte den <a href="mailto:%s">Webmaster</a> hier&uuml;ber.', 00124 'Si vous pensez qu\'il s\'agit d\'une erreur du serveur, veuillez contacter le <a href="mailto:%s">gestionnaire du site</a>.', 00125 'If you think this is a server error, please contact the <a href="mailto:%s">webmaster</a>.'); 00126 00127 $l10n = getDataInstance()->getAppData('l10n'); 00128 $h = $heading[$code][$l10n]; 00129 $e = $extra[$code][$l10n]; 00130 $c = sprintf($contact[$l10n], $_SERVER['SERVER_ADMIN']); 00131 $t = strftime('%a %b %d %T %Y %Z'); 00132 $s = $_SERVER['SERVER_NAME']; 00133 00134 00135 return "<html> 00136 <head> 00137 <title>$h</title> 00138 </head> 00139 <body> 00140 <h1>$h</h1> 00141 <p>$e</p> 00142 <p>$c</p> 00143 <h2>Error $code</h2> 00144 <p> 00145 <adress> 00146 <a href=\"/\">$s</a><br> 00147 $t 00148 </adress> 00149 </body> 00150 </html> 00151 "; 00152 }

JuelichError::printError class,
debug_info = ''
 

Gibt einen Fehler aus.

Dies geschieht abhängig von JUELICH_DEBUG. Wenn diese Konstante gesetzt ist, dann wird die vollständige Fehlermeldung als Zeichenkette ausgegeben. Wenn nicht, also im Produktivbetrieb, dann wird ein entsprechender HTTP-Code (404, 500 oder 503) mit Beschreibung ausgegeben.

Parameter:
class die Fehlerklasse
debug_info zusätzliche Informationen
Definiert in Zeile 33 der Datei JuelichError.php.
00033 { 00034 $httpCodes = array( 00035 '404' => '404 Not Found', 00036 '500' => '500 Internal Server Error', 00037 '503' => '503 Service Unavailable'); 00038 $classHead = ''; 00039 $httpCode = ''; 00040 $httpExtra = ''; 00041 switch ($class) { 00042 case 1: 00043 $classHead = 'Keine Verbindung zur Datenbank.'; 00044 $httpCode = '503'; 00045 $httpExtra = 'Retry-After: 60'; 00046 break; 00047 case 2: 00048 $classHead = 'SQL-Statement falsch.'; 00049 $httpCode = '500'; 00050 break; 00051 case 3: 00052 $classHead = 'Datenbank-Zugriffsfehler.'; 00053 $httpCode = '500'; 00054 break; 00055 case 4: 00056 $classHead = 'Applikations-Fehler.'; 00057 $httpCode = '500'; 00058 break; 00059 case 5: 00060 $classHead = 'Seite unbekannt.'; 00061 $httpCode = '404'; 00062 break; 00063 case 6: 00064 $classHead = 'Fehler in der Adminstration'; 00065 $httpCode = '000'; 00066 default: 00067 $classHead = 'Unbekannter Fehler.'; 00068 $httpCode = '500'; 00069 break; 00070 } 00071 $this->log->logError($httpCode, 00072 $classHead, 00073 $debug_info); 00074 00075 if (JUELICH_DEBUG || $class == 6) { 00076 echo "<p>Fehler Nr.: $class<br>" 00077 . "$classHead<br>" 00078 . nl2br($debug_info) 00079 . "</p>\n"; 00080 } 00081 else { 00082 $m = $httpCodes[$httpCode]; 00083 header("HTTP/1.0 $m"); 00084 if (!empty($httpExtra)) { 00085 header($httpExtra); 00086 } 00087 echo $this->getErrorDocument($httpCode); 00088 } 00089 return; 00090 }


Dokumentation der Datenelemente

JuelichError::$log
 

das JuelicherrorLog Objekt

Definiert in Zeile 16 der Datei JuelichError.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Erzeugt am Sun May 14 02:49:09 2006 für JuelichWeb von doxygen 1.3.8