1 31 32 package org.opencms.workplace.galleries; 33 34 import org.opencms.file.CmsResource; 35 import org.opencms.i18n.CmsMessageContainer; 36 import org.opencms.jsp.CmsJspActionElement; 37 import org.opencms.main.CmsException; 38 import org.opencms.main.CmsLog; 39 import org.opencms.main.CmsRuntimeException; 40 import org.opencms.main.OpenCms; 41 import org.opencms.workplace.CmsDialog; 42 import org.opencms.workplace.CmsWorkplaceSettings; 43 44 import javax.servlet.http.HttpServletRequest ; 45 import javax.servlet.http.HttpServletResponse ; 46 import javax.servlet.jsp.PageContext ; 47 48 import org.apache.commons.logging.Log; 49 50 65 public class CmsOpenGallery extends CmsDialog { 66 67 68 public static final String DIALOG_TYPE = "opengallery"; 69 70 71 private static final Log LOG = CmsLog.getLog(CmsOpenGallery.class); 72 73 78 public CmsOpenGallery(CmsJspActionElement jsp) { 79 80 super(jsp); 81 } 82 83 90 public CmsOpenGallery(PageContext context, HttpServletRequest req, HttpServletResponse res) { 91 92 this(new CmsJspActionElement(context, req, res)); 93 } 94 95 100 public String openGallery() { 101 102 StringBuffer jsOpener = new StringBuffer (32); 103 String galleryType = null; 104 try { 105 CmsResource res = getCms().readResource(getParamResource()); 106 if (res != null) { 107 String galleryPath = getParamResource(); 109 if (!galleryPath.endsWith("/")) { 110 galleryPath += "/"; 111 } 112 galleryType = OpenCms.getResourceManager().getResourceType(res.getTypeId()).getTypeName(); 114 String galleryUri = A_CmsGallery.PATH_GALLERIES 115 + A_CmsGallery.OPEN_URI_SUFFIX 116 + "?" 117 + A_CmsGallery.PARAM_GALLERY_TYPENAME 118 + "=" 119 + galleryType; 120 jsOpener.append("window.open('"); 121 jsOpener.append(getJsp().link(galleryUri)); 122 jsOpener.append("&"); 123 jsOpener.append(A_CmsGallery.PARAM_DIALOGMODE); 124 jsOpener.append("="); 125 jsOpener.append(A_CmsGallery.MODE_VIEW); 126 jsOpener.append("&"); 127 jsOpener.append(A_CmsGallery.PARAM_GALLERYPATH); 128 jsOpener.append("="); 129 jsOpener.append(galleryPath); 130 jsOpener.append("', '"); 131 jsOpener.append(galleryType); 132 jsOpener.append("','width=650, height=700, resizable=yes, top=100, left=270, status=yes');"); 133 } 134 } catch (CmsException e) { 135 CmsMessageContainer message = Messages.get().container(Messages.ERR_OPEN_GALLERY_1, galleryType); 137 LOG.error(message.key(), e); 138 throw new CmsRuntimeException(message, e); 139 } 140 141 return jsOpener.toString(); 142 } 143 144 147 protected void initWorkplaceRequestValues(CmsWorkplaceSettings settings, HttpServletRequest request) { 148 149 fillParamValues(request); 151 setParamDialogtype(DIALOG_TYPE); 153 } 154 } | Popular Tags |