Subversion Repositories ALCASAR

Rev

Rev 1418 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
1411 richard 1
<?php
2237 tom.houday 2
// $Id: error.php 2237 2017-05-20 20:42:38Z tom.houdayer $
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
		}
2237 tom.houday 90
	} else {			// English
1411 richard 91
		switch ($_GET['error']){
2237 tom.houday 92
			case 400:
93
				$l_error = "Error 400";
94
				$l_explanation = "The HTTP request could not be understood by the server due to malformed syntax.<br>
95
				                  The web browser may be too recent, or the HTTP server may be too old.";
96
				break;
97
			case 401:
98
				$l_error = "Error 401";
99
				$l_explanation = "The request requires user authentication.<br>
100
				                  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.";
101
				break;
102
			case 403:
103
				$l_error = "Error 403";
104
				$l_explanation = "The HTTP server understood the request, but is refusing to fulfill it.<br>
105
				                  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).";
106
				break;
107
			case 404:
108
				$l_error = "Error 404";
109
				$l_explanation = "The server has not found anything matching the requested address (URI) ( not found ).<br>
110
				                  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).";
111
				break;
112
			case 405:
113
				$l_error = "Error 405";
114
				$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.";
115
				break;
116
			case 408:
117
				$l_error = "Error 408";
118
				$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.";
119
				break;
120
			case 410:
121
				$l_error = "Error 410";
122
				$l_explanation = "This code indicates that the requested URI no longer exists and has been permanently removed from the server.";
123
				break;
124
			case 411:
125
				$lerror = "Error 411";
126
				$l_explanation = "The server will not accept the request without a Content-Length header supplied in the request.";
127
				break;
128
			case 413:
129
				$l_error = "Error 413";
130
				$l_explanation = "The server will not process the request because its entity body is too large.";
131
				break;
132
			case 414:
133
				$l_error = "Error 414";
134
				$l_explanation = "The server will not process the request because its request URI is too large.";
135
				break;
136
			case 415:
137
				$l_error = "Error 415";
138
				$l_explanation = "The server will not process the request because its entity body is in an unsupported format.";
139
				break;
140
			case 500:
141
				$l_error = "Error 500";
142
				$l_explanation = "The HTTP server encountered an unexpected condition which prevented it from fulfilling the request.<br>
143
				                  For example this error can be caused by a serveur misconfiguration, or a resource exhausted or denied to the server on the host machine.";
144
				break;
145
			case 501:
146
				$l_error = "Error 501";
147
				$l_explanation = "The HTTP server does not support the functionality required to fulfill the request.<br>
148
				                  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).";
149
				break;
150
			case 502:
151
				$l_error = "Error 502";
152
				$l_explanation = "The gateway server returned an invalid response.<br>
153
				                  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.";
154
				break;
155
			case 503:
156
				$l_error = "Error 503";
157
				$l_explanation = "The HTTP server is currently unable to handle the request due to a temporary overloading or maintenance of the server.<br>
158
				                  The implication is that this is a temporary condition which will be alleviated after some delay.";
159
				break;
160
			case 506:
161
				$l_error = "Error 506";
162
				$l_explanation = "Transparent content negotiation for the request results in a circular reference.";
163
				break;
164
			default:
165
				$l_error = "Unknown";
166
				$l_explanation = "Unknown error.";
167
				break;
1411 richard 168
		}
169
	}
170
}
171
 
2237 tom.houday 172
// Cleaning the cache
173
header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
174
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
175
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
176
header('Cache-Control: post-check=0, pre-check=0', false);
177
header('Pragma: no-cache');
1411 richard 178
?>
2237 tom.houday 179
<!DOCTYPE html>
180
<html>
1411 richard 181
	<head>
2237 tom.houday 182
		<meta charset="UTF-8">
183
		<title>ALCASAR - <?= $l_error; ?></title>
184
		<link rel="stylesheet" type="text/css" href="/css/style_intercept.css">
185
	</head>
186
	<body>
187
		<div id="cadre_titre" class="titre_refus">
188
			<p id="acces_controle" class="titre_refus"><?= $l_error ?></p>
189
			<div id="boite_logo"><img src="/images/organisme.png"></div>
1411 richard 190
		</div>
191
 
2237 tom.houday 192
		<div id="contenu_error">
193
			<?= $l_explanation ?>
1411 richard 194
		</div>
195
	</body>
196
</html>