42 lines
		
	
	
		
			988 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			988 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\v\html5;
 | |
| 
 | |
| use nur\b\UserException;
 | |
| use nur\v\base\AbstractPage;
 | |
| use nur\v\http;
 | |
| use nur\v\model\IErrorPage;
 | |
| use nur\v\page;
 | |
| use nur\v\vo;
 | |
| 
 | |
| class Html5BasicErrorPage extends AbstractPage implements IErrorPage {
 | |
|   function __construct(...$vs) {
 | |
|     foreach ($vs as &$v) {
 | |
|       $v = q($v);
 | |
|     }; unset($v);
 | |
|     $this->vs = $vs;
 | |
|   }
 | |
| 
 | |
|   protected $vs;
 | |
| 
 | |
|   function printError(): void {
 | |
|     $error = $this->getError();
 | |
|     $message = $error["message"];
 | |
|     if (!$message) $message = $this->vs;
 | |
|     if (!$message) $message = "Une erreur inattendue s'est produite";
 | |
|     vo::p(["class" => "error-message", q($message)]);
 | |
|     $exception = $error["exception"];
 | |
|     if ($exception) {
 | |
|       vo::pre(["class" => "error-exception",
 | |
|         q(UserException::get_summary($exception)), "\n",
 | |
|         q(UserException::get_traceback($exception)),
 | |
|       ]);
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   function print(): void {
 | |
|     page::no_cache();
 | |
|     http::error500(null, null, false);
 | |
|     $this->printError();
 | |
|   }
 | |
| }
 |