Subversion Repositories ALCASAR

Rev

Details | Last modification | View Log

Rev Author Line No. Line
1411 richard 1
<?php
2237 tom.houday 2
// $Id: error.php 2809 2020-04-12 17:35:46Z rexy $
1411 richard 3
 
2237 tom.houday 4
if (isset($_GET['error'])) {
5
	# Choice of language
1411 richard 6
	$Language = 'en';
2237 tom.houday 7
	if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
8
		$Langue = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
9
		$Language = strtolower(substr(chop($Langue[0]), 0, 2));
10
	}
1411 richard 11
 
2237 tom.houday 12
	if ($Language === 'fr') {	// French
13
		switch ($_GET['error']) {
14
			case 400:
15
				$l_error = "Erreur 400";
16
				$l_explanation = "La requête HTTP n'a pas pu être comprise par le serveur en raison d'une syntaxe erronée.<br>
17
				                  Le problème peut provenir d'un navigateur web trop récent ou d'un serveur HTTP trop ancien.";
18
				break;
19
			case 401:
20
				$l_error = "Erreur 401";
21
				$l_explanation = "La requête nécessite une identification de l'utilisateur.<br>
22
				                  Concrètement, cela signifie que tout ou partie du serveur contacté est protégé par un mot de passe, qu'il faut indiquer au serveur pour pouvoir accéder à son contenu.";
23
				break;
24
			case 403:
25
				$l_error = "Erreur 403";
26
				$l_explanation = "Le serveur HTTP a compris la requête, mais refuse de la traiter.<br>
27
				                  Ce code est généralement utilisé lorsqu'un serveur ne souhaite pas indiquer pourquoi la requête a été rejetée, ou lorsque aucune autre réponse ne correspond (par exemple le serveur est un Intranet et seules les machines du réseau local sont autorisées à se connecter au serveur).";
28
				break;
29
			case 404:
30
				$l_error = "Erreur 404";
31
				$l_explanation = "Le serveur n'a rien trouvé qui corresponde à l'adresse (URI) demandée ( non trouvé ).<br>
32
				                  Cela signifie que l'URL que vous avez tapée ou cliquée est mauvaise ou obsolète et ne correspond à aucun document existant sur le serveur (vous pouvez essayez de supprimer progressivement les composants de l'URL en partant de la fin pour éventuellement retrouver un chemin d'accès existant).";
33
				break;
34
			case 405:
35
				$l_error = "Erreur 405";
36
				$l_explanation = "Ce code indique que la méthode utilisée par le client n'est pas supportée pour cet URI.";
37
				break;
38
			case 408:
39
				$l_error = "Erreur 408";
40
				$l_explanation = "Le client n'a pas présenté une requête complète pendant le délai maximal qui lui était imparti, et le serveur a abandonné la connexion.";
41
				break;
42
			case 410:
43
				$l_error = "Erreur 410";
44
				$l_explanation = "L'adresse (URI) demandée n'existe plus et a été définitivement supprimée du serveur.";
45
				break;
46
			case 411:
47
				$lerror = "Erreur 411";
48
				$l_explanation = "Le serveur a besoin de connaître la taille de cette requête pour pouvoir y répondre.";
49
				break;
50
			case 413:
51
				$l_error = "Erreur 413";
52
				$l_explanation = "Le serveur ne peut traiter la requête car la taille de son contenu est trop importante.";
53
				break;
54
			case 414:
55
				$l_error = "Erreur 414";
56
				$l_explanation = "Le serveur ne peut traiter la requête car la taille de l'objet (URI) a retourner est trop importante.";
57
				break;
58
			case 415:
59
				$l_error = "Erreur 415";
60
				$l_explanation = "Le serveur ne peut traiter la requête car son contenu est écrit dans un format non supporté.";
61
				break;
62
			case 500:
63
				$l_error = "Erreur 500";
64
				$l_explanation = "Le serveur HTTP a rencontré une condition inattendue qui l'a empêché de traiter la requête.<br>
65
				                  Cette erreur peut par exemple être le résultat d'une mauvaise configuration du serveur, ou d'une ressource épuisée ou refusée au serveur sur la machine hôte.";
66
				break;
67
			case 501:
68
				$l_error = "Erreur 501";
69
				$l_explanation = "Le serveur HTTP ne supporte pas la fonctionnalité nécessaire pour traiter la requête.<br>
70
				                  C'est la réponse émise lorsque le serveur ne reconnaît pas la méthode indiquée dans la requête et n'est capable de la mettre en oeuvre pour aucune ressource (soit le navigateur web est trop récent, soit le serveur HTTP est trop ancien).";
71
				break;
72
			case 502:
73
				$l_error = "Erreur 502";
74
				$l_explanation = "Le serveur intermédiaire a fourni une réponse invalide.<br>
75
				                  Le serveur HTTP a agi en tant qu'intermédiaire (passerelle ou proxy) avec un autre serveur, et a reçu de ce dernier une réponse invalide en essayant de traiter la requête.";
76
				break;
77
			case 503:
78
				$l_error = "Erreur 503";
79
				$l_explanation = "Le serveur HTTP est actuellement incapable de traiter la requête en raison d'une surcharge temporaire ou d'une opération de maintenance.<br> Cela sous-entend l'existence d'une condition temporaire qui sera levée après un certain délai.";
80
				break;
81
			case 506:
82
				$l_error = "Erreur 506";
83
				$l_explanation = "Erreur de négociation transparent content negociation.";
84
				break;
85
			default:
86
				$l_error = "Non reconnu";
87
				$l_explanation = "Erreur non reconnu.";
88
				break;
1411 richard 89
		}
2766 rexy 90
	} else if ($Language === 'de') {	// German
91
		switch ($_GET['error']) {
92
			case 400:
93
				$l_error = "Fehler 400";
94
				$l_explanation = "Die Anfrage konnte aufgrund einer fehlerhaften Syntax vom Server nicht verarbeitet werden.<br>
95
				                  Wahrscheinlich handelt es sich entweder um einen zu neuen Browser oder einen zu alten Server.";
96
				break;
97
			case 401:
98
				$l_error = "Fehler 401";
99
				$l_explanation = "Die Anfrage benötigt eine Authentifizierung.<br>
100
				                  Dies bedeutet, dass der Server oder Teile des Servers passwortgeschützt sind.";
101
				break;
102
			case 403:
103
				$l_error = "Fehler 403";
104
				$l_explanation = "Der HTTP-Server hat die Anfrage verstanden, möchte sie jedoch nicht beantworten.<br>
105
				                  Dieser Statuscode wird meistens benutzt wenn der Server nicht genau sagen möchte, wieso die Anfrage nicht verarbeitet wurde, oder wenn keine andere Antwort angemessen ist (zum Beispiel wenn der Server einem Intranet angehört und nur LAN Maschinen sich verbinden können).";
106
				break;
107
			case 404:
108
				$l_error = "Fehler 404";
109
				$l_explanation = "Der Server konnte die vom Client unter dieser URI angeforderte Ressource nicht finden.<br>
110
				                  Dies bedeutet dass die URL die Sie angeklickt haben entweder falsch oder veraltet ist und mit keinem existierenden Dokument auf dem Server verbunden ist (Sie können versuchen Stück für Stück die URL-Komponenten von rechts zu entfernen um zum nächsten existierenden Pfad zu gelangen).";
111
				break;
112
			case 405:
113
				$l_error = "Fehler 405";
114
				$l_explanation = "Dieser Statuscode hängt mit dem Allow-Header zusammen und bedeutet dass die verwendete Methode für diese URI nicht unterstützt ist.";
115
				break;
116
			case 408:
117
				$l_error = "Fehler 408";
118
				$l_explanation = "Die Anfrage wurde vom Client nicht in der vom Server vorgegebenen Zeit beendet und wurde vom Server beendet.";
119
				break;
120
			case 410:
121
				$l_error = "Fehler 410";
122
				$l_explanation = "Die Ressource unter der angegebenen URI existiert nicht mehr. Leider kennt der Server keine Weiterleitungsadresse.";
123
				break;
124
			case 411:
125
				$lerror = "Fehler 411";
126
				$l_explanation = "Die Bearbeitung einer Anfrage ohne „Content-Length“-Header wird vom Server abgelehnt.";
127
				break;
128
			case 413:
129
				$l_error = "Fehler 413";
130
				$l_explanation = "Der Inhalt der Anfrage ist zu groß, die Anfrage wird abgelehnt.";
131
				break;
132
			case 414:
133
				$l_error = "Fehler 414";
134
				$l_explanation = "Der Server wird die Anfrage nicht beantworten, da die Anfrage-URI zu lang ist.";
135
				break;
136
			case 415:
137
				$l_error = "Fehler 415";
138
				$l_explanation = "Die Anfrage wird nicht beantwortet, da der Inhalt ein nicht unterstütztes Format beinhaltet.";
139
				break;
140
			case 500:
141
				$l_error = "Fehler 500";
142
				$l_explanation = "Der Server hat einen internen Fehler entdeckt und kann deshalb die Anfrage nicht bearbeiten.<br>
143
				                  Diese Fehler kann beispielsweise durch eine Fehlkonfiguration des Servers entstehen.";
144
				break;
145
			case 501:
146
				$l_error = "Fehler 501";
147
				$l_explanation = "Der Server verfügt nicht über die nötige Funktionalität, um die Anfrage zu verarbeiten.<br>
148
				                  Dies bedeutet, dass der Server die in der Anfrage verwendete HTTP-Methode nicht unterstützt (entweder ist der Browser zu neu oder der Server zu alt).";
149
				break;
150
			case 502:
151
				$l_error = "Fehler 502";
152
				$l_explanation = "Das Gateway hat eine falsche Antwort geliefert.<br>
153
				                  Der Server kann die Anfrage nicht ausführen, weil im weiteren Verlauf ein Fehler aufgetreten ist.";
154
				break;
155
			case 503:
156
				$l_error = "Fehler 503";
157
				$l_explanation = "Der Dienst ist derzeit nicht verfügbar. Dies kann aufgrund hohen Datenaufkommens oder wegen Wartungsarbeiten passieren.<br>
158
				                  Dies ist ein temporäres Problem und wird sich nach einiger Zeit lösen.";
159
				break;
160
			case 506:
161
				$l_error = "Fehler 506";
162
				$l_explanation = "Die Inhaltsvereinbarung der Anfrage ergibt einen Zirkelbezug.";
163
				break;
164
			default:
165
				$l_error = "Unbekannt";
166
				$l_explanation = "Unbekannter Fehler.";
167
				break;
168
			}
169
		}
2237 tom.houday 170
	} else {			// English
1411 richard 171
		switch ($_GET['error']){
2237 tom.houday 172
			case 400:
173
				$l_error = "Error 400";
174
				$l_explanation = "The HTTP request could not be understood by the server due to malformed syntax.<br>
175
				                  The web browser may be too recent, or the HTTP server may be too old.";
176
				break;
177
			case 401:
178
				$l_error = "Error 401";
179
				$l_explanation = "The request requires user authentication.<br>
180
				                  This means that all or a part of the requested server is protected by a password that should be given to the server to allow access to its contents.";
181
				break;
182
			case 403:
183
				$l_error = "Error 403";
184
				$l_explanation = "The HTTP server understood the request, but is refusing to fulfill it.<br>
185
				                  This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable (for example the server is an Intranet and only the LAN machines are authorized to connect).";
186
				break;
187
			case 404:
188
				$l_error = "Error 404";
189
				$l_explanation = "The server has not found anything matching the requested address (URI) ( not found ).<br>
190
				                  This means the URL you have typed or cliked on is wrong or obsolete and does not match any document existing on the server (you may try to gradualy remove the URL components from the right to the left to eventualy retrieve an existing path).";
191
				break;
192
			case 405:
193
				$l_error = "Error 405";
194
				$l_explanation = "This code is given with the Allow header and indicates that the method used by the client is not supported for this URI.";
195
				break;
196
			case 408:
197
				$l_error = "Error 408";
198
				$l_explanation = "This response code means the client did not produce a full request within some predetermined time (usually specified in the server's configuration), and the server is disconnecting the network connection.";
199
				break;
200
			case 410:
201
				$l_error = "Error 410";
202
				$l_explanation = "This code indicates that the requested URI no longer exists and has been permanently removed from the server.";
203
				break;
204
			case 411:
205
				$lerror = "Error 411";
206
				$l_explanation = "The server will not accept the request without a Content-Length header supplied in the request.";
207
				break;
208
			case 413:
209
				$l_error = "Error 413";
210
				$l_explanation = "The server will not process the request because its entity body is too large.";
211
				break;
212
			case 414:
213
				$l_error = "Error 414";
214
				$l_explanation = "The server will not process the request because its request URI is too large.";
215
				break;
216
			case 415:
217
				$l_error = "Error 415";
218
				$l_explanation = "The server will not process the request because its entity body is in an unsupported format.";
219
				break;
220
			case 500:
221
				$l_error = "Error 500";
222
				$l_explanation = "The HTTP server encountered an unexpected condition which prevented it from fulfilling the request.<br>
223
				                  For example this error can be caused by a serveur misconfiguration, or a resource exhausted or denied to the server on the host machine.";
224
				break;
225
			case 501:
226
				$l_error = "Error 501";
227
				$l_explanation = "The HTTP server does not support the functionality required to fulfill the request.<br>
228
				                  This is the appropriate response when the server does not recognize the request method and is not capable of supporting it for any resource (either the web browser is too recent, or the HTTP server is too old).";
229
				break;
230
			case 502:
231
				$l_error = "Error 502";
232
				$l_explanation = "The gateway server returned an invalid response.<br>
233
				                  The HTTP server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request.";
234
				break;
235
			case 503:
236
				$l_error = "Error 503";
237
				$l_explanation = "The HTTP server is currently unable to handle the request due to a temporary overloading or maintenance of the server.<br>
238
				                  The implication is that this is a temporary condition which will be alleviated after some delay.";
239
				break;
240
			case 506:
241
				$l_error = "Error 506";
242
				$l_explanation = "Transparent content negotiation for the request results in a circular reference.";
243
				break;
244
			default:
245
				$l_error = "Unknown";
246
				$l_explanation = "Unknown error.";
247
				break;
1411 richard 248
		}
249
	}
250
}
251
 
2237 tom.houday 252
// Cleaning the cache
253
header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
254
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
255
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
256
header('Cache-Control: post-check=0, pre-check=0', false);
257
header('Pragma: no-cache');
1411 richard 258
?>
2237 tom.houday 259
<!DOCTYPE html>
260
<html>
1411 richard 261
	<head>
2237 tom.houday 262
		<meta charset="UTF-8">
263
		<title>ALCASAR - <?= $l_error; ?></title>
2809 rexy 264
		<link rel="stylesheet" type="text/css" href="/css/error.css">
2237 tom.houday 265
	</head>
266
	<body>
267
		<div id="cadre_titre" class="titre_refus">
268
			<p id="acces_controle" class="titre_refus"><?= $l_error ?></p>
269
			<div id="boite_logo"><img src="/images/organisme.png"></div>
1411 richard 270
		</div>
271
 
2237 tom.houday 272
		<div id="contenu_error">
273
			<?= $l_explanation ?>
1411 richard 274
		</div>
275
	</body>
276
</html>