login_jsp.java 12.8 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.day.crx.i18n.Dictionary
 *  javax.jcr.Credentials
 *  javax.jcr.GuestCredentials
 *  javax.jcr.LoginException
 *  javax.jcr.NoSuchWorkspaceException
 *  javax.jcr.Repository
 *  javax.jcr.Session
 *  javax.jcr.Workspace
 *  javax.servlet.Servlet
 *  javax.servlet.ServletConfig
 *  javax.servlet.ServletContext
 *  javax.servlet.ServletException
 *  javax.servlet.ServletRequest
 *  javax.servlet.ServletResponse
 *  javax.servlet.http.HttpServletRequest
 *  javax.servlet.http.HttpServletResponse
 *  javax.servlet.jsp.JspFactory
 *  javax.servlet.jsp.JspWriter
 *  javax.servlet.jsp.PageContext
 *  javax.servlet.jsp.SkipPageException
 *  org.apache.commons.lang3.StringEscapeUtils
 *  org.apache.jackrabbit.util.Text
 *  org.apache.jasper.runtime.HttpJspBase
 *  org.apache.jasper.runtime.JspRuntimeLibrary
 *  org.apache.jasper.runtime.JspSourceDependent
 */
package com.day.crx.explorer.impl.jsp;

import com.day.crx.explorer.impl.j2ee.CRXContext;
import com.day.crx.explorer.impl.j2ee.JCRExplorerServlet;
import com.day.crx.explorer.impl.j2ee.LoginServlet;
import com.day.crx.explorer.impl.util.RequestData;
import com.day.crx.i18n.Dictionary;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import javax.jcr.Credentials;
import javax.jcr.GuestCredentials;
import javax.jcr.LoginException;
import javax.jcr.NoSuchWorkspaceException;
import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.Workspace;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.SkipPageException;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.jackrabbit.util.Text;
import org.apache.jasper.runtime.HttpJspBase;
import org.apache.jasper.runtime.JspRuntimeLibrary;
import org.apache.jasper.runtime.JspSourceDependent;

public final class login_jsp
extends HttpJspBase
implements JspSourceDependent {
    private static List _jspx_dependants;

    public Object getDependants() {
        return _jspx_dependants;
    }

    /*
     * Unable to fully structure code
     * Enabled aggressive exception aggregation
     */
    public void _jspService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        _jspxFactory = null;
        pageContext = null;
        out = null;
        _jspx_out = null;
        _jspx_page_context = null;
        try {
            _jspxFactory = JspFactory.getDefaultFactory();
            response.setContentType("text/html");
            _jspx_page_context = pageContext = _jspxFactory.getPageContext((Servlet)this, (ServletRequest)request, (ServletResponse)response, null, false, 8192, true);
            pageContext.getServletContext();
            pageContext.getServletConfig();
            _jspx_out = out = pageContext.getOut();
            try {
                response.setContentType("text/html; charset=utf-8");
                ctx = CRXContext.getInstance(pageContext, request);
                docroot = ctx.getDocroot();
                repSession = ctx.getSession();
                dict = ctx.getCurrentDictionary();
            }
            catch (Exception e) {
                request.setAttribute("exception", (Object)e);
                JspRuntimeLibrary.include((ServletRequest)request, (ServletResponse)response, (String)"error/exception.jsp", (JspWriter)out, (boolean)true);
                if (_jspxFactory != null) {
                    _jspxFactory.releasePageContext(_jspx_page_context);
                }
                return;
            }
            error = null;
            workspace = null;
            if (ctx.getRequestData().getParameter("_charset_") == null) ** GOTO lbl48
            try {
                session = JCRExplorerServlet.login(ctx, response);
                if (session != null) {
                    workspace = session.getWorkspace().getName();
                    LoginServlet.setLoginCookies(session, request, response);
                    redirect = request.getParameter("redirect");
                    if (redirect == null || redirect.length() == 0) {
                        redirect = String.valueOf(docroot) + "/index.jsp";
                    }
                    out.write("<html><body style=\"background-color:#ffffff\">\n                <script type=\"text/javascript\">\n                    window.location=decodeURIComponent(\"");
                    out.print(Text.escape((String)redirect));
                    out.write("\");\n                </script>\n                </body></html>");
                    if (_jspxFactory != null) {
                        _jspxFactory.releasePageContext(_jspx_page_context);
                    }
                    return;
                }
                ** GOTO lbl48
            }
            catch (Exception e) {
                try {
                    error = e;
lbl48: // 3 sources:
                    if (workspace == null || "".equals(workspace)) {
                        workspace = repSession == null ? "-- not logged in --" : repSession.getWorkspace().getName();
                    }
                    v0 = userId = repSession == null ? "anonymous" : repSession.getUserID();
                    if (request.getParameter("UserId") != null) {
                        userId = request.getParameter("UserId");
                    }
                    if (userId == null || userId.equals("anonymous")) {
                        userId = "";
                    }
                    errorMsg = ctx.getRequestData().getParameter("error");
                    redirect = ctx.getRequestData().getParameter("redirect");
                    if (redirect == null || redirect.length() == 0) {
                        redirect = request.getHeader("referer");
                    }
                    if (redirect == null) {
                        redirect = "";
                    }
                    request.setAttribute("crx.explorer.pageName", (Object)"login");
                    out.write("<html>\n    ");
                    JspRuntimeLibrary.include((ServletRequest)request, (ServletResponse)response, (String)"index_head.jsp", (JspWriter)out, (boolean)true);
                    if (error != null) {
                        out.write("<tr class=\"content\"><td class=\"content\" colspan=\"2\" ><b>");
                        out.print(dict.msg("crex.login.err"));
                        out.write("</b>");
                        out.write("&nbsp;<b><font color=\"red\">");
                        if (error instanceof NoSuchWorkspaceException) {
                            out.print(dict.fmt("crex.login_no_such_workspace.err", (Object)StringEscapeUtils.escapeHtml4((String)error.getMessage())));
                        } else if (error instanceof LoginException) {
                            out.print(dict.msg("crex.login_failed.err"));
                        } else {
                            out.print(StringEscapeUtils.escapeHtml4((String)error.toString()));
                        }
                        out.write("</font></b></td></tr>");
                    } else if (errorMsg != null) {
                        out.write("<tr class=\"content\"><td class=\"content\" colspan=\"2\" >");
                        out.write("<b><font color=\"red\">");
                        out.print(StringEscapeUtils.escapeHtml4((String)errorMsg));
                        out.write("</font></b></td></tr>");
                    }
                    out.write("<form action=\"\" method=\"POST\" enctype=\"multipart/form-data\">\n        <input type=\"hidden\" name=\"_charset_\" value=\"utf-8\">\n        <input type=\"hidden\" name=\"");
                    out.print(".token");
                    out.write("\" value=\"\"> \n        <input type=\"hidden\" name=\"redirect\" value=\"");
                    out.print(StringEscapeUtils.escapeHtml4((String)redirect));
                    out.write("\">\n        <TR class=content>\n            <TD class=content><NOBR>");
                    out.print(dict.msg("crex.workspace.lab"));
                    out.write("</NOBR></TD>\n            <TD class=content width=\"100%\">");
                    if (repSession == null) {
                        s = null;
                        try {
                            s = ctx.getRepository().login((Credentials)new GuestCredentials());
                            workspaceNames = s.getWorkspace().getAccessibleWorkspaceNames();
                        }
                        finally {
                            if (s != null) {
                                s.logout();
                            }
                        }
                    } else {
                        workspaceNames = repSession.getWorkspace().getAccessibleWorkspaceNames();
                    }
                    Arrays.sort(workspaceNames);
                    if (workspaceNames.length > 0) {
                        out.write("<select name=\"");
                        out.print("Workspace");
                        out.write("\" value=\"");
                        out.print(StringEscapeUtils.escapeHtml4((String)workspace));
                        out.write(34);
                        out.write(62);
                        var21_25 = workspaceNames;
                        var19_24 = 0;
                        var20_26 = var21_25.length;
                        while (var19_24 < var20_26) {
                            wspName = var21_25[var19_24];
                            out.write("<option value=\"");
                            out.print(StringEscapeUtils.escapeHtml4((String)wspName));
                            out.write(34);
                            out.write(32);
                            out.print(wspName.equals(workspace) != false ? " selected" : "");
                            out.write(">\n                ");
                            out.print(StringEscapeUtils.escapeHtml4((String)wspName));
                            ++var19_24;
                        }
                        out.write("</select>");
                    } else {
                        out.write("default");
                    }
                    out.write("</TD>\n        </TR>\n        <TR class=content>\n          <TD class=content><NOBR>");
                    out.print(dict.msg("crex.user.lab"));
                    out.write("</NOBR></TD>\n          <TD class=content width=\"100%\"><input type=\"text\" name=\"");
                    out.print("UserId");
                    out.write("\" value=\"");
                    out.print(StringEscapeUtils.escapeHtml4((String)userId));
                    out.write("\"></TD>\n        </TR>\n        <TR class=content>\n          <TD class=content><NOBR>");
                    out.print(dict.msg("crex.pass.lab"));
                    out.write("</NOBR></TD>\n          <TD class=content width=\"100%\"><input type=\"password\" name=\"");
                    out.print("Password");
                    out.write("\" value=\"\"></TD>\n        </TR>\n        <TR class=content>\n          <TD class=content><NOBR>&nbsp;</NOBR></TD>\n          <TD class=content width=\"100%\"><input type=\"submit\"></TD>\n        </TR>\n</form>\n<script type=\"text/javascript\">\n    ");
                    if (userId.equals("") || workspaceNames.length == 0) {
                        out.write("document.forms[0].");
                        out.print("UserId");
                        out.write(".focus();\n        ");
                    } else {
                        out.write("document.forms[0].");
                        out.print("Workspace");
                        out.write(".focus();\n        ");
                    }
                    out.write("</script>\n    ");
                    JspRuntimeLibrary.include((ServletRequest)request, (ServletResponse)response, (String)"index_foot.jsp", (JspWriter)out, (boolean)true);
                    out.write("</html>");
                }
                catch (Throwable t) {
                    if (!(t instanceof SkipPageException)) {
                        out = _jspx_out;
                        if (out != null && out.getBufferSize() != 0) {
                            out.clearBuffer();
                        }
                        if (_jspx_page_context != null) {
                            _jspx_page_context.handlePageException(t);
                        }
                    }
                }
            }
        }
        finally {
            if (_jspxFactory != null) {
                _jspxFactory.releasePageContext(_jspx_page_context);
            }
        }
    }
}