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

📄 cmsadminextlinkgalleries.java

📁 OpenCms 是一个J2EE的产品
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    }
                    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("newlink".equals(action)) {
                boolean checkurl = true;
                String error = "";
                if(initial != null) {
                    // remove all session values
                    session.removeValue("extlink.filename");
                    session.removeValue("extlink.linkurl");
                    session.removeValue("lasturl");
                }

                // get the parameters for the link file
                String filename = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getParameter(CmsWorkplaceDefault.C_PARA_RESOURCE);
                if(filename != null) {
                    session.putValue("extlink.filename", filename);
                } else {
                    // try to get the value from the session, e.g. after an error
                    filename = (String)session.getValue("extlink.filename")!=null?(String)session.getValue("extlink.filename"):"";
                }
                String link = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getParameter(CmsWorkplaceDefault.C_PARA_LINK);
                if(link != null) {
                    session.putValue("extlink.linkurl", link);
                } else {
                    // try to get the value from the session, e.g. after an error
                    link = (String)session.getValue("extlink.linkurl")!=null?(String)session.getValue("extlink.linkurl"):"";
                }

                // set the values e.g. after an error
                xmlTemplateDocument.setData("LINKNAME", filename);
                xmlTemplateDocument.setData("LINKVALUE", link);

                // get the current phase of this wizard
                if(step != null) {
                    // step 1 - show the final selection screen
                    if(step.equals("1") || step.equals("2")) {
                        // step 1 - create the link
                        // step 2 - create the link without checking url
                        // get folder- and filename
                        foldername = (String)session.getValue(CmsWorkplaceDefault.C_PARA_FOLDER);
                        if(foldername == null) {
                            foldername = cms.getSitePath(cms.readFolder("/"));
                        }
                        CmsXmlLanguageFile lang = xmlTemplateDocument.getLanguageFile();
                        String firstTitlePart = lang.getLanguageValue("explorer.linkto") + " " + link;
                        
                        List properties = null;
                        if (firstTitlePart != null) {
                            properties = new ArrayList();
                            properties.add(new org.opencms.file.CmsProperty(CmsPropertyDefinition.PROPERTY_TITLE, firstTitlePart, null));
                        } else {
                            properties = Collections.EMPTY_LIST;
                        }                        
                        
                        try{
                            if(step.equals("1")){
                                // TODO: write some better link check which will not fail if there is
                                // no access to the internet    
                                //checkurl = CmsLinkCheck.checkUrl(link);
                            }
                            if(checkurl){
                                cms.createResource(foldername+filename, CmsResourceTypePointer.getStaticTypeId(), link.getBytes(), properties);
                            }
                        } catch (CmsException e){
                            error = e.getMessage();
                        }
                    }

                    if(checkurl && ("".equals(error.trim()))){
                        // remove values from session
                        session.removeValue("extlink.filename");
                        session.removeValue("extlink.linkurl");
                        // now return to appropriate filelist
                        try {
                            if(lasturl != null) {
                                CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).sendRedirect(lasturl);
                            } else {
                                CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).sendCmsRedirect(getConfigFile(cms).getWorkplaceAdministrationPath()
                                    + "/externallinkgallery/");
                            }
                        } catch(Exception e) {
                            throw new CmsLegacyException("Redirect fails :" + getConfigFile(cms).getWorkplaceAdministrationPath()
                                + "/externallinkgallery/", e);
                        }
                        return null;
                    }
                } else {
                    session.removeValue("extlink.filename");
                    session.removeValue("extlink.linkurl");
                }

                if(lasturl == null) {
                    lasturl = CmsWorkplaceAction.getExplorerFileUri(CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getOriginalRequest());
                }
                xmlTemplateDocument.setData("lasturl", lasturl);
                // set the template for url check if check failed
                if(!checkurl){
                    xmlTemplateDocument.setData("folder", foldername);
                    session.putValue("extlink.linkurl", link);
                    session.putValue("extlink.filename", filename);
                    templateSelector = "errorcheckurl";
                }
                // for all other errors show the errorpage
                if(!"".equals(error.trim())){
                    xmlTemplateDocument.setData("errordetails", error);
                    session.putValue("extlink.linkurl", link);
                    session.putValue("extlink.filename", filename);
                    templateSelector = "error";
                }
            }
        }

        xmlTemplateDocument.setData("link_value", foldername);
        xmlTemplateDocument.setData("lasturl", lasturl);
        xmlTemplateDocument.setData("galleryRootFolder", CmsWorkplaceDefault.C_VFS_GALLERY_EXTERNALLINKS);        
        
        // Finally start the processing
        return startProcessing(cms, xmlTemplateDocument, elementName, parameters,
                templateSelector);
    }
}

⌨️ 快捷键说明

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