protected function endBody($attribution = true)
 {
     $l12n = $this->l12n();
     print "<address>";
     Html::out(Version::signature());
     if (isset($_SERVER["REQUEST_TIME_FLOAT"])) {
         $elapsed = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
         Html::out(sprintf($l12n->t(" - %f s"), $elapsed));
     }
     print "</address>";
     if ($attribution) {
         print "<address class=\"attribution\">";
         print "<a href=\"http://phplogmon.carne.de\">phpLogMon</a> sources are Copyright (c) 2012-2014 Holger de Carne and contributors und subject to the GPL version 3 or later.<br/>";
         print "The accompanied image resources are subject to different copyrights by: ";
         print "<a href=\"http://vathanx.deviantart.com/art/World-Flag-Icons-PNG-108083900\">Vathanx</a> from <a href=\"http://vathanx.deviantart.com\">vathanx.deviantart.com</a> | ";
         print "<a href=\"http://www.oxygen-icons.org\">Oxygen Team</a> from <a href=\"http://www.oxygen-icons.org\">www.oxygen-icons.org</a> | ";
         print "<a href=\"http://www.flaticon.com/packs/batch\">Adam Whitcroft</a> from <a href=\"http://www.flaticon.com\">www.flaticon.com</a> | ";
         print "<a href=\"http://www.mouserunner.com/Spheres_ColoCons1_Free_Icons.html\">Ken Saunders</a> from <a href=\"http://www.mouserunner.com\">www.mouserunner.com</a></br>";
         print "See <a href=\"?cmd=viewabout\">License</a> for full details.";
         print "</address>";
     }
     print "</body>";
 }
 public static function reportExceptionAndExit($e)
 {
     print "<!DOCTYPE HTML>\n";
     print "<html>\n";
     print "<head>\n";
     print "<title>Error</title>\n";
     print "</head>\n";
     print "<body>\n";
     print "<h1>";
     print htmlentities("An exception occured");
     print "</h1>\n";
     print htmlentities($e->getMessage());
     print "\n<h1>";
     print htmlentities("Exception details:");
     print "</h1>\n";
     print "<pre>\n";
     print htmlentities($e);
     print "\n</pre>\n";
     print "<hr>\n";
     print "<address>";
     print htmlentities(Version::signature());
     print "</address>\n";
     print "</body>\n";
     print "</html>\n";
     flush();
     exit;
 }