copied recursive exception functionality from error/index.phtml to error/404.phtml
authorLudwig Ruderstaller <lr@cwd.at>
Wed, 3 Oct 2012 11:15:39 +0000 (13:15 +0200)
committerLudwig Ruderstaller <lr@cwd.at>
Wed, 3 Oct 2012 11:15:39 +0000 (13:15 +0200)
module/Application/view/error/404.phtml

index 3edd37a..323733d 100644 (file)
@@ -46,16 +46,62 @@ if (isset($this->controller_class)
 
 <?php endif ?>
 
-<?php if (isset($this->exception) && $this->exception): ?>
+<?php if (isset($this->display_exceptions) && $this->display_exceptions): ?>
 
-<h2><?php echo $this->translate('Exception') ?>:</h2>
+<?php if(isset($this->exception) && $this->exception instanceof Exception): ?>
+<hr/>
+<h2><?php echo $this->translate('Additional information') ?>:</h2>
+<h3><?php echo get_class($this->exception); ?></h3>
+<dl>
+    <dt><?php echo $this->translate('File') ?>:</dt>
+    <dd>
+        <pre class="prettyprint linenums"><?php echo $this->exception->getFile() ?>:<?php echo $this->exception->getLine() ?></pre>
+    </dd>
+    <dt><?php echo $this->translate('Message') ?>:</dt>
+    <dd>
+        <pre class="prettyprint linenums"><?php echo $this->exception->getMessage() ?></pre>
+    </dd>
+    <dt><?php echo $this->translate('Stack trace') ?>:</dt>
+    <dd>
+        <pre class="prettyprint linenums"><?php echo $this->exception->getTraceAsString() ?></pre>
+    </dd>
+</dl>
+<?php
+    $e = $this->exception->getPrevious();
+    if ($e) :
+?>
+<hr/>
+<h2><?php echo $this->translate('Previous exceptions') ?>:</h2>
+<ul class="unstyled">
+    <?php while($e) : ?>
+    <li>
+        <h3><?php echo get_class($e); ?></h3>
+        <dl>
+            <dt><?php echo $this->translate('File') ?>:</dt>
+            <dd>
+                <pre class="prettyprint linenums"><?php echo $e->getFile() ?>:<?php echo $e->getLine() ?></pre>
+            </dd>
+            <dt><?php echo $this->translate('Message') ?>:</dt>
+            <dd>
+                <pre class="prettyprint linenums"><?php echo $e->getMessage() ?></pre>
+            </dd>
+            <dt><?php echo $this->translate('Stack trace') ?>:</dt>
+            <dd>
+                <pre class="prettyprint linenums"><?php echo $e->getTraceAsString() ?></pre>
+            </dd>
+        </dl>
+    </li>
+    <?php
+        $e = $e->getPrevious();
+        endwhile;
+    ?>
+</ul>
+<?php endif; ?>
 
-<p><b><?php echo $this->escapeHtml($this->exception->getMessage()) ?></b></p>
+<?php else: ?>
 
-<h3><?php echo $this->translate('Stack trace') ?>:</h3>
+<h3><?php echo $this->translate('No Exception available') ?></h3>
 
-<pre>
-<?php echo $this->exception->getTraceAsString() ?>
-</pre>
+<?php endif ?>
 
 <?php endif ?>