/** * Reports errors */ public function report(WebAppRequest $req, WebAppResponse $res) { $statusReportsTree = simplexml_load_file(\Innomatic\Core\RootContainer::instance('\\Innomatic\\Core\\RootContainer')->getHome() . 'innomatic/core/conf/webapp/statusreports.xml'); $statusReports = array(); foreach ($statusReportsTree->status as $status) { $statusReports[sprintf('%s', $status->statuscode)] = sprintf('%s', $status->statusreport); } $tpl = new \Innomatic\Php\PHPTemplate(\Innomatic\Core\RootContainer::instance('\\Innomatic\\Core\\RootContainer')->getHome() . 'innomatic/core/conf/webapp/report.tpl.php'); $tpl->set('status_code', $res->getStatus()); $tpl->set('message', htmlspecialchars($res->getMessage())); $tpl->set('report', str_replace('{0}', $res->getMessage(), isset($statusReports[$res->getStatus()]) ? $statusReports[$res->getStatus()] : '')); $tpl->set('title', $req->getServerName()); $tpl->set('server_info', $req->getServerName()); $tpl->set('e', $res->getException()); $res->startBuffer(); echo $tpl->parse(); $res->flushBuffer(); }