Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/patientapps_support/modules/errorHandler/ |
Upload File : |
<?php
namespace modules\errorHandler;
// Maintenance Mode error:
// apache2 caches files, so if the work file is missing: you'll need a "service apache2 restart" ('apachectl restart' wont do it)
class main extends \moduleMain {
// HTTP Status Codes array
public function getStatusCodeMessage($status) {
//HTTP status codes
$codes = array(
100 => 'Continue',
101 => 'Switching Protocols',
200 => 'OK',
201 => 'Created',
202 => 'Accepted',
203 => 'Non-Authoritative Information',
204 => 'No Content',
205 => 'Reset Content',
206 => 'Partial Content',
300 => 'Multiple Choices',
301 => 'Moved Permanently',
302 => 'Found',
303 => 'See Other',
304 => 'Not Modified',
305 => 'Use Proxy',
306 => '(Unused)',
307 => 'Temporary Redirect',
400 => 'Bad Request',
401 => 'Unauthorized',
402 => 'Payment Required',
403 => 'Forbidden',
404 => 'Not Found',
405 => 'Method Not Allowed',
406 => 'Not Acceptable',
407 => 'Proxy Authentication Required',
408 => 'Request Timeout',
409 => 'Conflict',
410 => 'Gone',
411 => 'Length Required',
412 => 'Precondition Failed',
413 => 'Request Entity Too Large',
414 => 'Request-URI Too Long',
415 => 'Unsupported Media Type',
416 => 'Requested Range Not Satisfiable',
417 => 'Expectation Failed',
422 => 'Unprocessable Entity',
450 => 'Maintenance Mode', // our custom error
500 => 'Internal Server Error',
501 => 'Not Implemented',
502 => 'Bad Gateway',
503 => 'Service Unavailable',
504 => 'Gateway Timeout',
505 => 'HTTP Version Not Supported'
);
return (isset($codes[$status])) ? $codes[$status] : 'Unknown Error';
}
public function __construct() {
parent::__construct();
}
public function Activate() {
hook_add('output.error', [$this, '__error']);
}
// return error json or html
// add error message text
public function __error(&$handled, $http_status, $output ) {
if ($handled === FALSE) {
$httpstatus = $http_status->status();
$message = $http_status->message();
if ($message == '') $message = $this->getStatusCodeMessage($httpstatus);
$data = [
'message' => $message,
'errnum' => $httpstatus,
'desc' => '',
'extra' => ''
];
switch($httpstatus) {
case 404:
$data['desc'] = "We're sorry, but this page doesn't exist.<br />Please check your URL for mistakes and refresh the page.";
break;
case 450:
$data['desc'] = "We're sorry, but this website is in Maintenance Mode.<br />Please try again in a few minutes.";
break;
}
$errnum = $http_status->errnum();
if ($errnum !== FALSE) {
$data['extra'] .= "<p>Error Code $errnum</p>";
}
$note = $http_status->note();
if ($note != '') $data['desc'] = $note;
$data = hook_execute('output.errordetail', $data, $http_status);
$res = $output->OutputFormat();
if ($res == 'html') { // if html set body, otherwise set data
$body = <<<BLOCK
<div class="errorContainer">
<div>
<h2 class="templateheader">{$data['message']}</h2>
<h4>OOPS! Something went wrong.</h4>
<p>{$data['desc']}</p>
{$data['extra']}
</div>
</div>
<div style="clear:both"></div>
BLOCK;
$output ->Body($body)
->Title($data['message'])
->ExportHandler(NULL);
} else {
$data = [
'error' => $errnum,
'message' => $message,
'body' => $body
];
$output->ExportHandler($data);
}
$handled = TRUE;
}
}
}