Web inteface: nicer system error page, and introduced a bug (OK, a photo of a bug :-)
[openxpki.git] / trunk / clients / perl / OpenXPKI-Client-HTML-Mason / htdocs / syshandler
blob22de72f1dd64f0ae342c27a9be4ce09ee135977c
1 <%args>
2     $__session_id => undef
3 </%args>
4 % $m->call_next;
5 <%once>
6   # FIXME: move this to Apache handler?
7   use URI;
8   use OpenXPKI::Client::HTML::Mason;
9   use OpenXPKI::Client::HTML::Mason::Javascript;
10   use OpenXPKI::Client::HTML::Mason::Menu;
11   use OpenXPKI::i18n qw( i18nGettext set_language get_language set_locale_prefix );
12   use OpenXPKI::DN;
13   use English;
14   use Data::Dumper;
15   use HTML::Entities;
16   use CGI::Session qw/-ip-match/;
18   if (defined $ENV{OPENXPKI_LOCALE_PREFIX}) {
19     set_locale_prefix($ENV{OPENXPKI_LOCALE_PREFIX});
20   }
21   $context->{socket_file} = $ENV{OPENXPKI_SOCKET_FILE};
23   if (defined $ENV{OPENXPKI_DEBUG_FILE}) {
24     open $context->{debugfh}, ">>", $ENV{OPENXPKI_DEBUG_FILE};
25   }
26   $context->{debug}       = sub {
27     my $arg = shift;
28     my $fh = $context->{debugfh};
29     if (defined $fh) {
30       local $OUTPUT_AUTOFLUSH = 1;
31       print $fh $arg . "\n";
32     }
33   };
35   # guard against XSS attacks
36   $m->interp->set_escape(
37     h => \&HTML::Mason::Escapes::basic_html_escape,
38   );
39   
40 </%once>
41 <%init>
42     ## if there is a session and we are not in the authentication process
43     ## then re-use the session
44     if (defined $__session_id and
45         0 > index ($m->request_comp()->title(), "authentication/"))
46     {
47         $m->comp('/authentication/session.mhtml', '__session_id' => $__session_id);
48         $m->comp('/authentication/role.mhtml') if ($context and not exists $context->{role});
49     } else {
50         undef $context;
51     }
52     $m->comp ('/lib/language.mhtml', "session_id" => $__session_id);
53 </%init>
54 <%flags>
55   # this is the toplevel handler
56   inherit => undef
57 </%flags>