package com.psddev.cms.tool.page; import java.io.IOException; import javax.servlet.ServletException; import com.psddev.cms.db.ExternalContent; import com.psddev.cms.tool.PageServlet; import com.psddev.cms.tool.ToolPageContext; import com.psddev.dari.util.RoutingFilter; @RoutingFilter.Path(application = "cms", value = "/content/externalPreviewFrame") @SuppressWarnings("serial") public class ContentExternalPreviewFrame extends PageServlet { @Override protected String getPermissionId() { return null; } @Override protected void doService(final ToolPageContext page) throws IOException, ServletException { ExternalContent content = new ExternalContent(); content.setUrl(page.param(String.class, "url")); boolean noResponse = content.getResponse() == null; page.writeTag("!doctype html"); page.writeStart("html"); page.writeStart("head"); if (noResponse) { page.writeStylesAndScripts(); page.writeStart("style", "type", "text/css"); page.writeCss("body", "background", "transparent", "margin", "10px"); page.writeEnd(); } page.writeStart("script", "type", "text/javascript", "src", page.cmsUrl("/script/iframeResizer.contentWindow.js")); page.writeEnd(); page.writeEnd(); page.writeStart("body"); if (noResponse) { page.writeStart("div", "class", "message message-info"); page.writeHtml(page.localize(ContentExternalPreviewFrame.class, "error.noPreview")); page.writeEnd(); } else { content.renderObject(page.getRequest(), page.getResponse(), page); } page.writeEnd(); page.writeEnd(); } }