<%@ page isErrorPage="true" %> <%@ page import="at.gv.egiz.pdfas.web.helper.LocalRequestHelper" %> <%@ page import="at.gv.egiz.pdfas.web.servlets.SignServlet" %> <%@ page import="at.gv.egiz.pdfas.api.exceptions.PdfAsException"%> <%@ page import="at.gv.egiz.pdfas.web.session.SignSessionInformation" %> <%@ page import="at.gv.egiz.pdfas.web.session.VerifySessionInformation" %> <%@ page import="at.gv.egiz.pdfas.web.session.SessionAttributes" %> <%@ page import="org.apache.commons.httpclient.util.EncodingUtil" %> <%@ 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> <% String serverUrl=LocalRequestHelper.getLocalServerAddress(request,response); String baseUrl=LocalRequestHelper.getLocalContextAddress(request,response); //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)%>/"/> <% //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="<%=baseUrl%>/css/pdfas-styles.css" /> <link rel="stylesheet" href="<%=serverUrl%>style.css" type="text/css" /> <% } else { %> <link rel="stylesheet" type="text/css" href="<%=baseUrl%>/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> <% 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"); } 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 testMode = request.getContextPath().startsWith("/test-"); //If application not started within an iframe if (!startedFromIFrame) { %> <% //If error didn't happen within IFrame (e.g. when local 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.cause"/>: <strong> <%= cause%> </strong></div> <div class="pdfasverticalspace"></div> <a id="backlink" href="<%=baseUrl%>/" 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="<%=baseUrl%>/images/onlineBKU.png" alt="Chip-Karte" id="Karte" /> </div> <div class="rechtsrechts"> <img src="<%=baseUrl%>/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('sprachlinkneu').style.display = 'none'; //document.getElementById('sprachlinkneudeaktiviert').style.display= 'block'; setHeight(); detectBrowser(); </script> </body> <%} //Just the error decription has to be shown else { %> <body style="background: #e6f2fa"> <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="<%=baseUrl%>/" 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'),"<%=height%>"); </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"><fmt:message key="error.cause"/>: <strong> <%= cause%> </strong></div> <div class="pdfasverticalspace"></div> <a id="backlink" href="https://www.buergerkarte.at/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/pdf-as/images/onlineBKU.png" alt="Chip-Karte" id="Karte"/> </div> <div class="rechtsrechts"> <img src="https://www.buergerkarte.at/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> <% } %> </html>