add smid dump script.
[SMMID.git] / mason / site / error / exception.mas
blob777c73595aa258b7fa4fe4e619ff4152fa21ea23
1 <%args>
2  $exception
3  $show_dev_message => 0
4  $project_name => ''
5  $contact_email => ''
6 </%args>
8 % $exception = [ $exception ] unless ref $exception eq 'ARRAY';
9 % for my $e (@$exception) {
11 <h1 style="text-align: center">
12    <% $e->title || ( $e->is_server_error ? 'Server Error' : $e->is_client_error ? 'Error' : 'Message' ) %>
13 </h1>
15 <div style="margin: auto; width: 60%">
16     <p>
17 % if( $e->public_message ) {
18     <% $e->public_message . ( $e->public_message =~ /\.\s*$/ ? '' : '.' ) %>
19 % } else {
20     Our apologies, there was an error processing your request.  
21 % }
22     </p>
24     <p>
25 % if( $e->notify ) {
26     An error report has been sent to the <% $project_name %> development team.
27 % }
29 % if( $e->is_client_error || $e->is_server_error and $contact_email ) {
31     Feel free to contact us at <a href="mailto:<% $contact_email %>">
32     <% $contact_email %></a>, if the problem persists, and
33 %   if( $e->is_server_error ) {
34       we will keep you informed of our progress in resolving it.
35 %   } else {
36       we will work with you to resolve it.
37 %   }
38    </p>
40 % }
42 </div>
44 %   if( $show_dev_message && $e->can('developer_message') && defined $e->developer_message ) {
45     <style>
46        pre {
47             white-space: pre-wrap;       /* css-3 */
48             white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
49             white-space: -pre-wrap;      /* Opera 4-6 */
50             white-space: -o-pre-wrap;    /* Opera 7 */
51             word-wrap: break-word;       /* Internet Explorer 5.5+ */
52         }
53      </style>
55     <div style="margin: 1em 0; border: 2px solid orange; padding: 0 1em 1em 1em">
56       <h3>Developer message:</h3>
57         <pre><% defined $e->developer_message ? $e->developer_message : 'none provided' | h %></pre>
58     </div>
59 %   }
60 % }