diff options
Diffstat (limited to 'pdf-as-web/src/main')
-rw-r--r-- | pdf-as-web/src/main/webapp/jsp/error.jsp | 396 |
1 files changed, 316 insertions, 80 deletions
diff --git a/pdf-as-web/src/main/webapp/jsp/error.jsp b/pdf-as-web/src/main/webapp/jsp/error.jsp index fc7ff1b..b70b169 100644 --- a/pdf-as-web/src/main/webapp/jsp/error.jsp +++ b/pdf-as-web/src/main/webapp/jsp/error.jsp @@ -9,101 +9,337 @@ <%@ page import="org.apache.commons.httpclient.NameValuePair" %>
<%@ page import="at.gv.egiz.pdfas.web.helper.SignServletHelper" %>
<%@ page import="org.apache.commons.lang.StringEscapeUtils" %>
+<%@page import="at.gv.egiz.pdfas.web.FormFields"%>
<%@ page import="java.io.*" %>
+<%@ page import="at.gv.egiz.pdfas.web.i18n.LocaleParamFilter" %>
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
+
<%@ include file="language.jsp" %>
+<%
+
+
+%>
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
+ <%
+
+ //Check if application is started within an iframe from an extern application
+ boolean startedFromIFrame = false;
+ String extern = (String)session.getAttribute("extern");
+ if (extern!=null) {
+ if (extern.equals("yes")) {
+ startedFromIFrame = true;
+ }
+ }
+ //
+
+ String language = (String)session.getAttribute(SessionAttributes.LANGUAGE);
+ String height = (String)session.getAttribute(SignServlet.HEIGHT_SIGN_DIV);
+
+ boolean german = true;
+
+ if (language!=null) {
+ if (language.equals("de")) {%>
+ <fmt:setLocale value="de"/>
+ <% } else {
+ german = false; %>
+ <fmt:setLocale value="en"/>
+ <% }
+ }
+ else { %>
+ <fmt:setLocale value="de"/>
+ <% } %>
+
<title><fmt:message key="error.title"/></title>
<base href="<%=LocalRequestHelper.getLocalContextAddress(request,response)%>/"/>
- <meta http-equiv="Cache-Control" content="no-cache"/>
- <meta http-equiv="Pragma" content="no-cache"/>
- <meta http-equiv="Expires" content="-1"/>
+
+ <%
+ //Check if error happened within IFrame (e.g. if Online-BKU was called)
+ String iframe = (String)session.getAttribute(SignServlet.ERROR_WITHIN_IFRAME);
+
+ boolean withiniframe = false;
+ if (iframe!=null) {
+ if (iframe.equals("yes")) {
+ withiniframe = true;
+ }
+ }
+ %>
+
+ <%
+ //If not within IFrame and the whole application also was not started within an IFrame
+ //we have to set the buergerkarte page as template
+ if ((!withiniframe) && (!startedFromIFrame)) {
+ if (german) { %>
+ <meta name="decorator" content="production_de" />
+ <% } else { %>
+ <meta name="decorator" content="production_en" />
+ <% } %>
+ <% } %>
+ <meta http-equiv="pragma" content="no-cache,no-store,private,must-revalidate,max-stale=0,post-check=0,pre-check=0"/>
+ <meta http-equiv="expires" content="0"/>
+ <meta http-equiv="cache-control" content="no-cache,no-store,must-revalidate,max-age=-1"/>
+ <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/>
+
+
+ <%
+ //If the whole application started from an IFrame there could be an external stylesheet
+ if (!startedFromIFrame) { %>
+ <link rel="stylesheet" type="text/css" href="https://www.buergerkarte.at/test-pdf-as/css/pdfas-styles.css" />
+ <link rel="stylesheet" href="https://www.buergerkarte.at/style.css" type="text/css" />
+ <% } else { %>
+ <link rel="stylesheet" type="text/css" href="https://www.buergerkarte.at/test-pdf-as/css/extern-styles.css" />
+ <% } %>
+
+ <script language="javascript" type="text/javascript">
+ //Detect if it is IE7 and if this is the case resize the div's
+ function detectBrowser() {
+ if ((navigator.appName.indexOf('Internet Explorer')!=-1) && (navigator.appVersion.indexOf('MSIE 7.0')!=-1)) {
+ var stringHeight = "<%=height%>";
+ var intHeight = stringHeight.substring(0,stringHeight.length-2);
+ var iediff = 25;
+ var height = parseInt(intHeight)+iediff;
+ height = height + 'px';
+ document.getElementById('sign').style.height = height;
+ document.getElementById('errortext').style.height = height;
+ document.getElementById('signintern').className='rechtsinhaltinternetexplorer';
+ document.getElementById('errortextintern').className='linksinhaltinternetexplorer';
+ document.getElementById('pdfasverticalspace').className='pdfasverticalspaceinternetexplorer';
+ }
+ }
+ //Set the height of the div's equally as previous pages
+ function setHeight() {
+ document.getElementById('sign').style.height = "<%=height%>";
+ document.getElementById('errortext').style.height = "<%=height%>";
+ }
+ </script>
+
</head>
<%
- PdfAsException pe;
- if (exception != null && exception instanceof PdfAsException)
- {
- pe = (PdfAsException)exception;
- SignServlet.prepareDispatchToErrorPage(pe, request);
- } else {
- pe = (PdfAsException)request.getAttribute("PresentableException");
- }
+ String redirect = null;
+ PdfAsException pe=null;
+ boolean paramInvok = false;
+ boolean rb = false;
+ boolean isExternalInvocation = false;
+ String cause="";
+ String error="";
+
+ if (exception != null && exception instanceof PdfAsException)
+ {
+ pe = (PdfAsException)exception;
+ SignServlet.prepareDispatchToErrorPage(pe, request);
+ } else {
+ pe = (PdfAsException)request.getAttribute("PresentableException");
+ }
- String error = request.getParameter("error");
- boolean paramInvok = false;
- if (error == null) {
- error = (request.getAttribute("error") == null ? "" : request.getAttribute("error").toString());
- } else {
- paramInvok = true;
- }
- String cause = request.getParameter("cause");
- if (cause == null) {
- cause = (request.getAttribute("cause") == null ? "" : request.getAttribute("cause").toString());
- } else {
- paramInvok = true;
- }
- boolean rb = Boolean.TRUE.equals((Boolean) request.getAttribute("resourcebundle"));
- Object sessionInfo = session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION);
+ error = (String)request.getParameter("error");
+ if (error == null) {
+ error = (request.getAttribute("error") == null ? "" : request.getAttribute("error").toString());
+ } else {
+ paramInvok = true;
+ }
+
+ cause = (String)request.getParameter("cause");
+ if (cause == null) {
+ cause = (request.getAttribute("cause") == null ? "" : request.getAttribute("cause").toString());
+ } else {
+ paramInvok = true;
+ }
+
+ rb = Boolean.TRUE.equals((Boolean) request.getAttribute("resourcebundle"));
+ Object sessionInfo = session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION);
+
+
+ if (sessionInfo != null) {
+ if (sessionInfo instanceof SignSessionInformation) {
+ SignSessionInformation si = (SignSessionInformation) sessionInfo;
+ isExternalInvocation = (si != null && si.exappinf != null);
+ if (isExternalInvocation) {
+ String urlParams = EncodingUtil.formUrlEncode(new NameValuePair[] {new NameValuePair("error", error), new NameValuePair("cause", cause) },"ISO8859_1");
+ if (si.exappinf.invoke_error_url == null) {
+ // prevent circular redirect
+ si.exappinf = null;
+ String redirectUrl = response.encodeRedirectURL(request.getContextPath() + "/jsp/error.jsp" +"?" + urlParams);
+ session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL,redirectUrl);
+ } else {
+ String errorUrl = null;
+ if(si.exappinf.invoke_error_url.contains("?")) {
+ errorUrl = si.exappinf.invoke_error_url + "&" + urlParams;
+ } else {
+ errorUrl = si.exappinf.invoke_error_url + "?" + urlParams;
+ }
+ session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL,errorUrl);
+ }
+ String redirectHelper =response.encodeRedirectURL(request.getContextPath() +"/jsp/redirect_to_parent.jsp");
+ response.sendRedirect(redirectHelper);
+ }
+ }
+ }
+
- boolean isExternalInvocation = false;
- if (sessionInfo != null) {
- if (sessionInfo instanceof SignSessionInformation) {
- SignSessionInformation si = (SignSessionInformation) sessionInfo;
- isExternalInvocation = (si != null && si.exappinf != null);
- if (isExternalInvocation) {
- String urlParams = EncodingUtil.formUrlEncode(new NameValuePair[] { new NameValuePair("error", error), new NameValuePair("cause", cause) }, "ISO8859_1");
- if (si.exappinf.invoke_error_url == null) {
- // prevent circular redirect
- si.exappinf = null;
- String redirectUrl = response.encodeRedirectURL(request.getContextPath() + "/jsp/error.jsp" + "?" + urlParams);
- session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL, redirectUrl);
- } else {
- String errorUrl = si.exappinf.invoke_error_url + "?" + urlParams;
- session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL, errorUrl);
- }
- String redirectHelper = response.encodeRedirectURL(request.getContextPath() + "/jsp/redirect_to_parent.jsp");
- SignServletHelper.disableBrowserCacheForResponse(response);
- response.sendRedirect(redirectHelper);
- }
- }
- }
+ boolean testMode = request.getContextPath().startsWith("/test-");
-%>
-
- <body>
- <h1><fmt:message key="common.title"/></h1>
- <h2><fmt:message key="error.heading2"/></h2>
- <div class="pdfasnote">
- <% if (rb) { %>
- <fmt:message key="<%= error %>"/>
- <% } else { out.write(StringEscapeUtils.escapeHtml(error)); } %>
- </div>
- <div class="pdfasnote"><fmt:message key="error.cause"/>: <strong>
- <% if (rb) { %>
- <fmt:message key="<%= cause %>"/>
- <% } else { out.write(StringEscapeUtils.escapeHtml(cause)); } %>
- </strong></div>
- <% if (!isExternalInvocation && !paramInvok) { %>
- <div class="pdfasverticalspace"></div>
- <a href="<%=LocalRequestHelper.getLocalContextAddress(request,response)%>/"><fmt:message key="common.back"/></a>
- <% } // end if %>
- <pre style="display:none">
- <%
- if (pe != null) {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- pe.printStackTrace(pw);
- sw.close();
- pw.close();
- out.print(StringEscapeUtils.escapeHtml(sw.toString()));
- }
+ %>
+ <%
+ //If application not started within an iframe
+ if (!startedFromIFrame) { %>
+ <%
+ //If error didn't happen within IFrame (e.g. when online bku is called)
+ //The whole site has to be shown
+ if (!withiniframe) { %>
+ <body style="background: #e6f2fa">
+ <h1 id="heading1" style="display:block">
+ <%
+ if (testMode) {
+ %>
+ <fmt:message key="test.common.title"/>
+ <% } else { %>
+ <fmt:message key="common.title"/>
+ <% } // end if %>
+ </h1>
+
+ <div>
+ <fmt:message key="error.description"/>
+ </div>
+ <div class="pdfasverticalspace" id="pdfasverticalspace"></div>
+ <div id="inhalt">
+ <div class="links" id="errortext">
+ <div class="linksinhaltmargin" id="errortextintern">
+ <div class="pdfasnote"><fmt:message key="error.number"/>:
+ <%= error %>
+ </div>
+ <div class="pdfasverticalspace"></div>
+ <div class="pdfasnote"><fmt:message key="error.cause"/>: <strong>
+ <%= cause%>
+ </strong></div>
+ <div class="pdfasverticalspace"></div>
+ <a id="backlink" href="<%=LocalRequestHelper.getLocalContextAddress(request,response)%>/" target="_top"><fmt:message key="common.back"/></a>
+ </div>
+ </div>
+ <div class="rechts" id="sign">
+ <div class="rechtsinhalt" id="signintern">
+ <div class="rechtslinks">
+ <img src="<%=LocalRequestHelper.getLocalContextAddress(request,response) %>/images/onlineBKU.png" alt="Chip-Karte" id="Karte" />
+ </div>
+ <div class="rechtsrechts">
+ <img src="<%=LocalRequestHelper.getLocalContextAddress(request,response) %>/images/mobileBKU.png" alt="Handy" id="Handy"/>
+ </div>
+ <div class="rechtslinks">
+ <input type="submit" name="<%= FormFields.FIELD_CONNECTOR_SMARTCARD %>" value="<fmt:message key="signupload.signwithcard"/>" alt="Signatur mit Karte" disabled="disabled"/>
+ </div>
+ <div class="rechtsrechts">
+ <input type="submit" name="<%= FormFields.FIELD_CONNECTOR_MOBILE %>" value="<fmt:message key="signupload.signwithmobile"/>" alt="Signatur mit Handy" disabled="disabled"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ <script language="javascript" type="text/javascript">
+ document.getElementById('sprachlink').style.display = 'none';
+ document.getElementById('sprachlinkdeaktiviert').style.display= 'block';
+ setHeight();
+ detectBrowser();
+ </script>
+ </body>
+ <%}
+ //Just the error decription has to be shown
+ else { %>
+ <body style="background: #e6f2fa">
+ <div class="pdfasnote">
+ <% if (rb) { %>
+ <fmt:message key="<%= error %>"/>
+ <% } else { out.write(StringEscapeUtils.escapeHtml(error)); } %>
+ </div>
+ <div class="pdfasverticalspace"></div>
+ <div class="pdfasnote"><fmt:message key="error.cause"/>: <strong>
+ <% if (rb) { %>
+ <fmt:message key="<%= cause %>"/>
+ <% } else { out.write(StringEscapeUtils.escapeHtml(cause)); } %>
+ </strong></div>
+ <div class="pdfasverticalspace"></div>
+ <% if (!isExternalInvocation && !paramInvok) { %>
+ <a id="backlink" href="<%=LocalRequestHelper.getLocalContextAddress(request,response)%>/" target="_top"><fmt:message key="common.back"/></a>
+ <% } // end if %>
+ <pre style="display:none">
+ <%
+ if (pe != null) {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ pe.printStackTrace(pw);
+ sw.close();
+ pw.close();
+ out.print(StringEscapeUtils.escapeHtml(sw.toString()));
+ }
+ %>
+ </pre>
+ <script language="javascript" type="text/javascript">
+ window.parent.moveErrorIFrame(document.getElementById('inhalt'));
+ </script>
+ </body>
+ <% }
+ }
+ //If application called from an IFrame the background is different
+ else { %>
+ <body>
+ <h1 id="heading1" style="display:block">
+ <%
+ if (testMode) {
+ %>
+ <fmt:message key="test.common.title"/>
+ <% } else { %>
+ <fmt:message key="common.title"/>
+ <% } // end if %>
+ </h1>
+ <div id="inhalt">
+ <div class="links">
+ <div class="linksinhaltmargin">
+ <div class="pdfasnote">
+ <%= error %>
+ </div>
+ <div class="pdfaverticalspace"></div>
+ <div class="pdfasnote"><fmt:message key="error.cause"/>: <strong>
+ <%= cause%>
+ </strong></div>
+ <div class="pdfasverticalspace"></div>
+ <a id="backlink" href="https://www.buergerkarte.at/test-pdf-as/" target="_self"><fmt:message key="common.back"/></a>
+ </div>
+ </div>
+ <div class="rechts">
+ <div class="rechtsinhalt">
+ <div class="rechtslinks">
+ <img src="https://www.buergerkarte.at/test-pdf-as/images/onlineBKU.png" alt="Chip-Karte" id="Karte"/>
+ </div>
+ <div class="rechtsrechts">
+ <img src="https://www.buergerkarte.at/test-pdf-as/images/mobileBKU.png" alt="Handy" id="Handy"/>
+ </div>
+ <div class="rechtslinks">
+ <input type="submit" name="<%= FormFields.FIELD_CONNECTOR_SMARTCARD %>" value="<fmt:message key="signupload.signwithcard"/>" alt="Signatur mit Karte" disabled="disabled"/>
+ </div>
+ <div class="rechtsrechts">
+ <input type="submit" name="<%= FormFields.FIELD_CONNECTOR_MOBILE %>" value="<fmt:message key="signupload.signwithmobile"/>" alt="Signatur mit Handy" disabled="disabled"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ </body>
+ <% }
+
+ session.setAttribute(SignServlet.SUBMITFORM_SIGNATURE_MODE_KEY, null);
+ session.setAttribute(SignServlet.SUBMITFORM_SOURCE_KEY, null);
+ session.setAttribute(SignServlet.SUBMITFORM_SIGNATURE_TYPE_KEY, null);
+ session.setAttribute(SignServlet.SUBMITFORM_PDFA_KEY, null);
+ session.setAttribute(SignServlet.SUBMITFORM_NOTE_KEY, null);
+ session.setAttribute(SignServlet.SUBMITFORM_FREETEXT_KEY, null);
+ session.setAttribute(SignServlet.SUBMITFORM_SIGNATURE_DEVICE_KEY, null);
+ session.setAttribute(SignServlet.SUBMITFORM_FILE_KEY, null);
+ session.setAttribute(SignServlet.SUBMITFORM_FILENAME_KEY, null);
+ session.setAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION, null);
+ session.setAttribute(SignServlet.SUBMITFORM_PREVIEW, null);
+ session.setAttribute(SignServlet.ERROR_WITHIN_IFRAME, null);
%>
- </pre>
- </body>
-
</html>
|