r2836 Added EntityNotFoundException to spotEntity()
[racktables] / inc / interface.php
index a27b5affe8a1f175b5bed04f4a251fc87016f90d..47c88e9d7d410fd89c243ea3fafaa4f26cc679e2 100644 (file)
@@ -6020,38 +6020,60 @@ function dynamic_title_decoder ($path_position)
 
 function dumpArray($arr)
 {
-        echo '<table class="exceptionParametersDump">';
-        foreach($arr as $key=>$value)
-        {
-                echo "<tr><th>$key</th><td>$value</td></tr>";
-        }
-        echo '</table>';
+       echo '<table class="exceptionParametersDump">';
+       foreach($arr as $key=>$value)
+       {
+               echo "<tr><th>$key</th><td>$value</td></tr>";
+       }
+       echo '</table>';
 }
 
-function printException($e)
+function print404($e)
 {
-        header("HTTP/1.1 500 Internal Server Error");
-        echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'."\n";
-        echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'."\n";
-        echo "<head><title> Exception </title>\n";
-        echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
-        echo "<link rel=stylesheet type='text/css' href=pi.css />\n";
-        echo "<link rel=icon href='" . getFaviconURL() . "' type='image/x-icon' />";
-        echo '</head> <body>';
-        echo '<h2>Uncaught exception: '.get_class($e).'</h2><code>'.$e->getMessage().'</code> (<code>'.$e->getCode().'</code>)';
-        echo '<p>at file <code>'.$e->getFile().'</code>, line <code>'.$e->getLine().'</code></p><pre>';
-        print_r($e->getTrace());
-        echo '</pre>';
-        echo '<h2>Parameters:</h2>';
-        echo '<h3>GET</h3>';
-        dumpArray($_GET);
-        echo '<h3>POST</h3>';
-        dumpArray($_POST);
-        echo '<h3>COOKIE</h3>';
-        dumpArray($_COOKIE);
-        echo '</body></html>';
+       header("HTTP/1.1 404 Not Found");
+       echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'."\n";
+       echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'."\n";
+       echo "<head><title> Exception </title>\n";
+       echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
+       echo "<link rel=stylesheet type='text/css' href=pi.css />\n";
+       echo "<link rel=icon href='" . getFaviconURL() . "' type='image/x-icon' />";
+       echo '</head> <body>';
+       echo '<h2>Object: '.$e->getEntity().'#'.$e->getId().' not found</h2>';
+       echo '</body></html>';
 
 }
 
+function printGenericException($e)
+{
+       header("HTTP/1.1 500 Internal Server Error");
+       echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'."\n";
+       echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'."\n";
+       echo "<head><title> Exception </title>\n";
+       echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
+       echo "<link rel=stylesheet type='text/css' href=pi.css />\n";
+       echo "<link rel=icon href='" . getFaviconURL() . "' type='image/x-icon' />";
+       echo '</head> <body>';
+       echo '<h2>Uncaught exception: '.get_class($e).'</h2><code>'.$e->getMessage().'</code> (<code>'.$e->getCode().'</code>)';
+       echo '<p>at file <code>'.$e->getFile().'</code>, line <code>'.$e->getLine().'</code></p><pre>';
+       print_r($e->getTrace());
+       echo '</pre>';
+       echo '<h2>Parameters:</h2>';
+       echo '<h3>GET</h3>';
+       dumpArray($_GET);
+       echo '<h3>POST</h3>';
+       dumpArray($_POST);
+       echo '<h3>COOKIE</h3>';
+       dumpArray($_COOKIE);
+       echo '</body></html>';
+
+}
+
+function printException($e)
+{
+       if (get_class($e) == 'EntityNotFoundException')
+               print404($e);
+       else
+               printGenericException($e);
+}
 
 ?>