⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmsadminpicgalleries.java

📁 OpenCms 是一个J2EE的产品
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    // set the access rights for 'other' users
                    if(read != ((flag & C_ACCESS_PUBLIC_READ) != 0)) {
                        flag ^= C_ACCESS_PUBLIC_READ;
                    }
                    if(write != ((flag & C_ACCESS_PUBLIC_WRITE) != 0)) {
                        flag ^= C_ACCESS_PUBLIC_WRITE;
                    }
                    if((flag & C_ACCESS_GROUP_READ) == 0){
                        flag ^= C_ACCESS_GROUP_READ;
                    }
                    if((flag & C_ACCESS_GROUP_WRITE) == 0){
                        flag ^= C_ACCESS_GROUP_WRITE;
                    }
                    if((flag & C_ACCESS_GROUP_VISIBLE) == 0){
                        flag ^= C_ACCESS_GROUP_VISIBLE;
                    }
                    if((flag & C_PERMISSION_READ ) == 0){
                        flag ^= C_PERMISSION_READ;
                    }
                    if((flag & C_PERMISSION_WRITE) == 0){
                        flag ^= C_PERMISSION_WRITE;
                    }
                    if((flag & C_PERMISSION_VIEW) == 0){
                        flag ^= C_PERMISSION_VIEW;
                    }
                    if((flag & C_ACCESS_PUBLIC_VISIBLE) == 0){
                        flag ^= C_ACCESS_PUBLIC_VISIBLE;
                    }
                    cms.chmod(cms.readAbsolutePath(folder), flag);
                    */
                    cms.unlockResource(cms.getSitePath(folder));
                }
                catch(CmsException ex) {
                    xmlTemplateDocument.setData("ERRORDETAILS", CmsException.getStackTraceAsString(ex));
                    templateSelector = "error";
                }
            }
            else {
                templateSelector = "datamissing";
            }
        }
        else {
            
            if("upload".equals(action)) {

                // get filename and file content if available
                String filename = null;
                byte[] filecontent = new byte[0];

                // get the filename
                Enumeration files = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getFileNames();
                while(files.hasMoreElements()) {
                    filename = (String)files.nextElement();
                }
                if(filename != null) {
                    session.putValue(CmsWorkplaceDefault.C_PARA_RESOURCE, filename);
                }
                filename = (String)session.getValue(CmsWorkplaceDefault.C_PARA_RESOURCE);

                // get the filecontent
                if(filename != null) {
                    filecontent = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getFile(filename);
                }
                if(filecontent != null) {
                    session.putValue(CmsWorkplaceDefault.C_PARA_FILECONTENT, filecontent);
                }
                filecontent = (byte[])session.getValue(CmsWorkplaceDefault.C_PARA_FILECONTENT);
                if("0".equals(step)) {
                    templateSelector = "";
                }
                else {
                    if("1".equals(step)) {

                        // display the select filetype screen
                        if(filename != null) {

                            // check if the file size is 0
                            if(filecontent.length == 0) {
                                templateSelector = "error";
                                xmlTemplateDocument.setData("details", filename);
                            }
                            
                            // check if the file size is larger than the maximum allowed upload size 
                            else if ((maxFileSize > 0) && (filecontent.length > (maxFileSize * 1024))) {
                                templateSelector = "errorfilesize";
                                xmlTemplateDocument.setData("details", filename+": "+(filecontent.length/1024)+" kb, max. "+maxFileSize+" kb.");
                            }
                                             
                            else {
                                if(unzip != null) {
                                    // try to unzip the file here ...
                                    CmsImportFolder zip = new CmsImportFolder(
                                        filecontent, foldername, cms, true);
                                    if( zip.isValidZipFile() ) {

                                    // remove the values form the session
                                    session.removeValue(CmsWorkplaceDefault.C_PARA_RESOURCE);
                                    session.removeValue(CmsWorkplaceDefault.C_PARA_FILECONTENT);
                                    session.removeValue(CmsWorkplaceDefault.C_PARA_NEWTYPE);
                                    session.removeValue("unzip");
                                    // return to the filelist
                                    try {
                                        if((lasturl != null) && (lasturl != "")) {
                                            CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).sendRedirect(lasturl);
                                        }
                                        else {
                                            CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).sendCmsRedirect(
                                                getConfigFile(cms).getWorkplaceActionPath() + CmsWorkplaceAction.getExplorerFileUri(CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getOriginalRequest()));
                                        }
                                    } catch(Exception ex) {
                                        throw new CmsLegacyException(
                                            "Redirect fails :" + getConfigFile(cms).getWorkplaceActionPath()
                                            + CmsWorkplaceAction.getExplorerFileUri(CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getOriginalRequest()), ex);
                                    }
                                    return null;
                                    }
                                } // else, zip was not valid, so continue ...
                                xmlTemplateDocument.setData("MIME", filename);
                                xmlTemplateDocument.setData("SIZE", "Not yet available");
                                xmlTemplateDocument.setData("FILESIZE",
                                        new Integer(filecontent.length).toString() + " Bytes");
                                xmlTemplateDocument.setData("FILENAME", filename);
                                xmlTemplateDocument.setData("IMAGEDESCRIPTION",imagedescription);
                                templateSelector = "step1";
                            }
                        }
                    }
                    else {
                        if("2".equals(step)) {

                            // check if a new filename is given
                            if(newname != null) {
                                filename = newname;
                            }
                            try {
                                CmsFile file = (CmsFile)cms.createResource(foldername + filename, CmsResourceTypeImage.getStaticTypeId(), filecontent, null);
                                if(title != null) {
                                    String filepath = cms.getSitePath(file);
                                    cms.writeProperty(filepath, CmsPropertyDefinition.PROPERTY_TITLE, title);
                                }
                                if(imagedescription != null) {
                                    String filepath = cms.getSitePath(file);
                                    cms.writeProperty(filepath, CmsPropertyDefinition.PROPERTY_DESCRIPTION, imagedescription);
                                }
                            }
                            catch(CmsException ex) {
                                xmlTemplateDocument.setData("details", CmsException.getStackTraceAsString(ex));
                                templateSelector = "error";
                                xmlTemplateDocument.setData("link_value", foldername);
                                xmlTemplateDocument.setData("lasturl", lasturl);
                                return startProcessing(cms, xmlTemplateDocument, elementName,
                                        parameters, templateSelector);
                            }
                            try {
                                CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).sendRedirect(lasturl);
                            }
                            catch(Exception ex) {
                                throw new CmsLegacyException("Redirect fails :" + getConfigFile(cms).getWorkplaceActionPath() +
                                        lasturl, ex);
                            }
                            return null;
                        }
                    }
                }
            }
        }
        
        xmlTemplateDocument.setData("link_value", foldername);
        xmlTemplateDocument.setData("lasturl", lasturl);
        xmlTemplateDocument.setData("galleryRootFolder", CmsWorkplaceDefault.C_VFS_GALLERY_PICS);        

        // Finally start the processing
        return startProcessing(cms, xmlTemplateDocument, elementName, parameters,
                templateSelector);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -