function fatal($message, $code = 400)
{
$document = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><error />');
$document->type = 'Error';
$document->message = $message;
header('Content-type: text/xml; charset=' . Config::charset(), true, $code);
echo $document->asXML();
ob_start();
error_reporting(0);
exit(1);
}
function error_handler($level, $errstr, $file, $line)
{
if (error_reporting() & $level != $level)
return;
$document = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><error />');
$document->type = 'PHP Error';
$document->message = html_entity_decode($errstr);
$document->file = basename($file);
$document->line = $line;
header('Content-type: text/xml; charset=' . Config::charset(), true, 500);
echo $document->asXML();
error_reporting(0);
exit(1);
}
function exception_handler($ex)
{
$document = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><error />');
$document->type = 'PHP Exception';
$document->message = $ex->getMessage();
$document->file = $ex->getFile();
$document->line = $ex->getLine();
header('Content-type: text/xml; charset=' . Config::charset(), true, 500);
echo $document->asXML();
error_reporting(0);
exit(1);
}
set_error_handler('error_handler');
set_exception_handler('exception_handler');