| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | <?php global $_,$myUser;if(!$myUser->connected()) throw new Exception("Connexion requise", 401);if(!isset($_['url'])) throw new Exception("Url d'entrée non définie");$url = base64_decode($_['url']);	try{		$request = @get_headers($url, true);				$error = '';		if(!$request) $response['state'] = false; 		if(is_array($request) && isset($request[0])){			$headers = array();			// Make more sane response		    foreach($request as $h => $v)		    {		        if(is_int($h))		            $headers[$h]['Status'] = $v;		        else		        {		            if(is_string($v))		                $headers[0][$h] = $v;		        }		    }		    $lastHeader = end($headers);			if(!preg_match('/ 200 /i',$lastHeader['Status'])) throw new Exception($lastHeader['Status']);									}else{			throw new Exception('HTTP/1.1 404 Not Found'); 		}	}catch(Exception $e){		$code = 0;		list($protocol,$code,$sentence) = explode(' ',$e->getMessage()); 				$mapping = array(			400 => 'La syntaxe de la requête est erronée.',			401 => 'Utilisateur non authentifié',			402 => 'Paiement requis pour accéder à la ressource.',			403 => 'Accès refusé',			404 => 'Adresse introuvable ou momentanément indisponible',			495 => 'Problème de certificat SSL',			498 => 'Le jeton a expiré ou est invalide.',			500 => 'Le serveur rencontre des erreurs internes',			502 => 'En agissant en tant que serveur proxy ou passerelle, le serveur a reçu une réponse invalide depuis le serveur distant.',			503 => 'Service temporairement indisponible ou en maintenance.',		);		if(isset($mapping[$code])){			$error = $mapping[$code];		}else{			$error = 'raison indéfinie ('.$code.' - '.$sentence.')';		}	}	if(!empty($error)){	?>	<div class="alert alert-warning m-3" role="alert">  		<strong>Erreur</strong> Le portail <a href="<?php echo $url; ?>" class="alert-link"><?php echo $url; ?></a> n'est pas accessible. Raison : <?php echo $error; ?>	</div>	<?php}else{?><iframe src="<?php echo $url; ?>" style="width:100%;height:100%;border:0" frameborder="0"></iframe><?php } ?>
 |