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

📄 a_cmschannelbackoffice.java

📁 java 编写的程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            }
            // get the media_position
            String media_position = (String) parameters.get("media_position");
            media_position=(media_position!=null?media_position.trim():"");
            int media_positionInt=0;
            if(!media_position.equals("")){
                try{
                    media_positionInt=Integer.parseInt(media_position);
                }catch(Exception e){
                    media_positionInt=0;
                }
            }
            //the media_type
            int media_type=0;
            //the media_mimetype
            String media_mimetype="";
            //media content definition
            CmsMasterMedia mediaCD=null;
            //selected media content definition
            CmsMasterMedia selectedmediaCD=null;
            //get all media files from this content definition
            Vector dbmedia = masterCD.getMedia();
            //Vector
            Vector media = null;
            //try to get the medias from session
            try{
                    media=(Vector)session.getValue("media");
            }catch(Exception e){
                    e.printStackTrace(System.err);
            }
            //get the selected CmsMasterMedia
            if(dbmedia!=null){
            //if you are here for the fist time - get the medias from db
                if(media==null){
                //copy medias in your vector
                    media=new Vector();
                    //media=(Vector)dbmedia.clone();
                    for(int i=0;i<dbmedia.size();i++){
                        CmsMasterMedia cd = (CmsMasterMedia)dbmedia.elementAt(i);
                        //if the type is == paragraph1
                        if(cd.getType()>=0){
                            media.add(cd);
                        }
                    }
                }
                for(int i=0;i<media.size();i++){
                    if(posInt==i){
                        selectedmediaCD=(CmsMasterMedia)media.elementAt(i);
                    }
                }
            }
            //delete media
            if(media_action.equals("delPicture")){
                if(selectedmediaCD!=null){
                    masterCD.deleteMedia(selectedmediaCD);
                    //remove CD from vector
                    media.removeElementAt(posInt);
                }
            }else if(media_action.equals("addPicture") && !media_name.equals("unknown")){
                    // get the picture file and/or file from the RequestContext if there is any
                    CmsRequestContext reqCont = cms.getRequestContext();
                    Enumeration enum = reqCont.getRequest().getFileNames();
                    String filename = "";
                    byte[] mediafile = null;
                    //get the file
                    while (enum.hasMoreElements()) {
                        filename = (String) enum.nextElement();
                        if (!filename.equals("unknown")) {
                            mediafile = reqCont.getRequest().getFile(filename);
                            //set the media_mimetype
                            media_mimetype=CmsMasterMedia.computeMimetype(cms,filename);
                            //set the type
                            if(!media_mimetype.startsWith("image")){
                                media_type=1;
                            }
                        }
                    }
                    if(mediafile!=null){
                        //new media
                        mediaCD=new CmsMasterMedia(media_positionInt,0,0,mediafile.length,media_mimetype,media_type,media_title,media_name,"default",mediafile);
                        if(mediaCD!=null){
                            //add media
                            masterCD.addMedia(mediaCD);
                            //add Cd to vector
                            media.addElement(mediaCD);
                            //set media_position back to default
                            media_position="";
                        }
                    }else{
                        //set new values
                        selectedmediaCD.setName(media_name);
                        selectedmediaCD.setTitle(media_title);
                        selectedmediaCD.setPosition(media_positionInt);
                        //set media_position back to default
                        media_position="";
                        //update media
                        masterCD.updateMedia(selectedmediaCD);
                        //update the vector
                        media.insertElementAt(selectedmediaCD,posInt);
                        //remove old CD
                        media.removeElementAt(posInt+1);
                    }
            }
            //empty the input fields and select box
            if(media_action.equals("clear")){
                //set media_position back to default
                media_position="";
            }
            //open window on reload
            if(media_action.equals("prevPicture") && (selectedmediaCD!=null)){
                //set the url
                templateFile.setData("preview",templateFile.getProcessedDataValue("media_preview",this));
            }else{
                //set the url to default
                templateFile.setData("preview","");
            }
            //special template for edit
            if(media_action.equals("editPicture") && (selectedmediaCD!=null)){
                //set media_position back to default
                media_position=""+selectedmediaCD.getPosition();
                //put the media_position in session
                session.putValue("media_position",media_position);
                //fill the template
                templateFile.setData("media_name",selectedmediaCD.getName());
                templateFile.setData("posEdit",pos);
                String title=selectedmediaCD.getTitle();
                title=com.opencms.util.Encoder.unescape(title);
                templateFile.setData("media_alt_text", title);
                templateFile.setData("media_file",templateFile.getProcessedDataValue("media_edit",this));
            }else{
                //put the media_position in session
                session.putValue("media_position",media_position);
                //no edit - build normal template
                templateFile.setData("media_file",templateFile.getProcessedDataValue("media_upload",this));
            }
            //fill the list
            if(media!=null){
                //content of the position select box
                String selectBoxContent="";
                try{
                    //get the content
                    selectBoxContent=selectBoxContent(cms);
                }catch(Exception e){
                }
                for(int i=0;i<media.size();i++){
                    mediaCD= (CmsMasterMedia)media.elementAt(i);
                    templateFile.setData("pos",""+i);
                    templateFile.setData("media_row_name",mediaCD.getName());
                    templateFile.setData("media_title",mediaCD.getTitle());
                    //get the name to the value
                    String mediapos=""+mediaCD.getPosition();
                    StringTokenizer t = new StringTokenizer(selectBoxContent,";");
                    while(t.hasMoreElements()){
                        String s=t.nextToken();
                        if(s!=null && !s.equals("")){
                            int z=s.indexOf(":");
                            String value=s.substring(0,z);
                            String name=s.substring(z+1);
                            if(mediapos.equals(name)){
                                mediapos=value;
                            }
                        }
                    }
                    templateFile.setData("media_position",""+mediapos);
                    templateFile.setData("media_size",""+mediaCD.getSize());
                    templateFile.setData("media_type",""+mediaCD.getType());
                    //set String
                    row+=templateFile.getProcessedDataValue("media_row",this);
                    //set back
                    mediapos="";
                }
                templateFile.setData("media_line",row);
            }
            //build the content
            content=templateFile.getProcessedDataValue("media_content",this);
            //put the vector in session
            if(media!=null){
                session.putValue("media",media);
            }
            //put the vector in session
            if(selectedmediaCD!=null){
                session.putValue("selectedmediaCD",selectedmediaCD);
            }
            //return
            return content;
    }

    /**
     * Method to return option values for media-position selectbox
     * has to be overriden to provide values and names for the selectbox
     * @param cms CmsObject to access system resources
     */
    protected String selectBoxContent(CmsObject cms) {
        return "";
    }
}

⌨️ 快捷键说明

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