1 package info.magnolia.module.admininterface.pages; 2 3 import info.magnolia.cms.beans.config.ContentRepository; 4 import info.magnolia.cms.gui.control.Button; 5 import info.magnolia.cms.gui.misc.CssConstants; 6 import info.magnolia.cms.gui.misc.Sources; 7 import info.magnolia.cms.i18n.MessagesManager; 8 import info.magnolia.module.admininterface.SimplePageMVCHandler; 9 10 import java.io.IOException ; 11 import java.io.PrintWriter ; 12 import java.util.Date ; 13 14 import javax.servlet.http.HttpServletRequest ; 15 import javax.servlet.http.HttpServletResponse ; 16 17 import org.apache.commons.lang.StringUtils; 18 19 20 24 public class LinkBrowserDialogPage extends SimplePageMVCHandler { 25 26 public LinkBrowserDialogPage(String name, HttpServletRequest request, HttpServletResponse response) { 27 super(name, request, response); 28 } 29 30 33 private static final long serialVersionUID = 222L; 34 35 protected void render(HttpServletRequest request, HttpServletResponse response) throws IOException { 36 PrintWriter out = response.getWriter(); 37 String repository = request.getParameter("repository"); if (StringUtils.isEmpty(repository)) { 39 repository = ContentRepository.WEBSITE; 40 } 41 42 String path = request.getParameter("path"); String pathOpen = request.getParameter("pathOpen"); String pathSelected = request.getParameter("pathSelected"); 46 StringBuffer html = new StringBuffer (); 47 html.append("<html><head>"); html.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>"); html.append(new Sources(request.getContextPath()).getHtmlJs()); 50 html.append(new Sources(request.getContextPath()).getHtmlCss()); 51 html.append("</head>"); html.append("<body class=\"mgnlBgDark\" onload=\"mgnlDialogLinkBrowserResize();window.focus();\">"); 54 StringBuffer src = getIFrameSrc(request, repository, path, pathOpen, pathSelected); 55 56 html.append("<div id=\"mgnlTreeDiv\" class=\"mgnlDialogLinkBrowserTreeDiv\">"); html.append("<iframe id=\"mgnlDialogLinkBrowserIFrame\" name=\"mgnlDialogLinkBrowserIFrame\" SRC=\"" + src 59 + "\" scrolling=\"no\" frameborder=\"0\" width=\"100%\" height=\"100\"></iframe>"); html.append("</div>"); 62 Button bOk = new Button(); 63 bOk.setLabel(MessagesManager.get("buttons.ok")); bOk.setOnclick("mgnlDialogLinkBrowserWriteBack()"); 67 Button bCancel = new Button(); 68 bCancel.setLabel(MessagesManager.get("buttons.cancel")); bCancel.setOnclick("window.top.close();"); 71 html.append("<div class=\"" + CssConstants.CSSCLASS_TABSETSAVEBAR + "\">"); html.append(bOk.getHtml()); 73 html.append(" "); html.append(bCancel.getHtml()); 75 html.append("</div>"); 77 html.append("</body></html>"); 79 out.println(html); 80 } 81 82 private StringBuffer getIFrameSrc(HttpServletRequest request, String repository, String path, String pathOpen, 83 String pathSelected) { 84 StringBuffer src = new StringBuffer (); 85 src.append(request.getContextPath()); 86 src.append("/.magnolia/trees/" + repository + ".html"); src.append("?&mgnlCK=" + new Date ().getTime()); src.append("&browseMode=true"); if (path != null) { 90 src.append("&path=" + path); } 92 if (pathOpen != null) { 93 src.append("&pathOpen=" + pathOpen); } 95 if (pathSelected != null) { 96 src.append("&pathSelected=" + pathSelected); } 98 return src; 99 } 100 } 101 | Popular Tags |