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

📄 filemanager_engine.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
////                                   ____.//                       __/\ ______|    |__/\.     _______//            __   .____|    |       \   |    +----+       \//    _______|  /--|    |    |    -   \  _    |    :    -   \_________//   \\______: :---|    :    :           |    :    |         \________>//           |__\---\_____________:______:    :____|____:_____\//                                      /_____|////                 . . . i n   j a h i a   w e   t r u s t . . .//////  Filemanger_Engine//  NK  10.02.2001////package org.jahia.engines.filemanager;import java.io.*;import java.util.*;                                 // HashMapimport javax.servlet.*;			          // ServletContextimport javax.servlet.http.*;            // HttpServletRequestimport org.jahia.tools.files.*;           // FileUploadimport org.jahia.exceptions.*;                  // JahiaExceptionimport org.jahia.exceptions.JahiaSessionExpirationException;import org.jahia.utils.*;                       // JahiaConsoleimport org.jahia.data.*;                        // JahiaDataimport org.jahia.services.pages.JahiaPage;import org.jahia.data.fields.*;                 // JahiaField, FieldTypesimport org.jahia.data.files.*;                 	// JahiaFile, JahiaFileFieldimport org.jahia.data.containers.*;             // JahiaContainerimport org.jahia.params.*;                      // ParamBeanimport org.jahia.registries.*;                  // ServicesRegistryimport org.jahia.engines.*;                     // JahiaEngine interfaceimport org.jahia.engines.shared.*;              // SmallText, BigText, etc.import org.jahia.data.events.*;                 // JahiaEventimport org.jahia.engines.rights.*;              // ViewRightsimport org.jahia.services.acl.*;import org.jahia.services.filemanager.*;/** * Handle file upload, download, virtual folder structure * * @author Khue ng * @version 1.0 */public class Filemanager_Engine implements JahiaEngine {    private static final String CLASS_NAME = "Filemanager_Engine";    private static Filemanager_Engine m_Instance = null;    private static String engineName  = "filemanager";    private EngineToolBox toolBox;    private static final String TEMPLATE_JSP  			= "filemanager";    private static final String FILEUPLOAD_JSP   		= "filemanager_fileupload";    private static final String FILEDELETE_JSP   		= "filemanager_filedelete";    private static final String RELOADPAGE_JSP   		= "filemanager_reloadpage";    private static final String ERROR_JSP   			= "filemanager_error";    private static final String CLOSE_JSP   			= "filemanager_close";    /** The requested action **/    private final String ACTION_REQ = "actionreq";    private final String SUB_ACTION	= "subAction";    private final String ACTION_FM_CREATE      	= "actionFilemanagerCreate";    private final String ACTION_FOLDER_OPEN   	= "actionFolderOpen";    private final String ACTION_FILE_UPLOAD    	= "actionFileUpload";    private final String ACTION_FILE_DOWNLOAD  	= "actionFileDownload";    private final String ACTION_FILE_DELETE    	= "actionFileDelete";    private final String ACTION_FILE_MOVE      	= "actionFileMove";    private final String ACTION_FILE_EDIT      	= "actionFileEdit";    private final String ACTION_FILE_EDITSAVE  	= "actionFileEditSave";    private final String ACTION_FILE_COPY      	= "actionFileCopy";    private final String ACTION_FOLDER_CREATE  	= "actionFolderCreate";    private final String ACTION_FOLDER_DELETE  	= "actionFolderDelete";    private final String ACTION_FOLDER_MOVE    	= "actionFolderMove";    private final String ACTION_FOLDER_RENAME  	= "actionFolderRename";    /** form parameter name for folder id **/    private final String FORM_FOLDERID = "active_folder_id";    /** form parameter name for new folder name **/    private final String FORM_NEWFOLDERNAME = "foldername";    /** form parameter name for files list **/    private final String FORM_FILESLIST = "filesList";    /** form parameter name for a file item **/    private final String FORM_FILE_ITEM = "fileItem";    /** form parameter file url **/    private final String FORM_FILE_FILENAME = "filename";    /** form parameter file title **/    private final String FORM_FILE_TITLE = "fileTitle";    /** form parameter file edit action **/    private final String FORM_FILE_EDIT_ACTION = "editAction";    /** form parameter file move action **/    private final String FORM_FILE_MOVE_ACTION = "moveAction";    /** form parameter folder sub action **/    private final String FORM_FOLDER_SUB_ACTION = "subAction";    /** form parameter folder move action **/    private final String FORM_FOLDER_MOVE_ACTION = "moveAction";    /** form parameter name for file move destination folder **/    private final String FORM_FILE_MOVE_DESTINATION_FOLDER = "fileMoveDestinationFolder";    /** form parameter name for folder move destination folder **/    private final String FORM_FOLDER_MOVE_DESTINATION_FOLDER = "folderMoveDestinationFolder";    /** display all folder's children **/    private final String DEPLOY_ALL_BRANCH = "allBranch";    /** display only children folders for active folder branch **/    private final String DEPLOY_ONLY_ONE_BRANCH = " oneBranch";    /***     * constructor     *     */    protected Filemanager_Engine()    {        // JahiaConsole.println( "Engine",        //                        "***** Starting Filemanager Engine *****" );        toolBox = EngineToolBox.getInstance();    } // end constructor    /***     * returns a single instance of the object     *     */    public static synchronized Filemanager_Engine getInstance()    {        if (m_Instance == null) {            m_Instance = new Filemanager_Engine();        }        return m_Instance;    } // end getInstance    /***     * authoriseRender     *     */    public boolean authoriseRender( ParamBean jParams )    {        return toolBox.authoriseRender( jParams );    } // end authoriseRender    /***     * renderLink     *     */    public String renderLink( ParamBean jParams, Object theObj )    throws JahiaException    {//       	String params = "&mode=display";        String params = "?mode=display";        Vector datas = (Vector)theObj;        if ( datas != null ){            String action = (String)datas.get(0);            if ( action != null && (action.length()>0) ){                if ( action.equals("actionFileDownload") ){                    params = "";                    //JahiaConsole.println("FileManager_Engine.renderLink"," action is fileDownload");                    JahiaField theField = (JahiaField)datas.get(1);                    if ( theField != null ){                        JahiaFileField fField = (JahiaFileField)theField.getObject();                        if ( fField != null ){                            int fileID = fField.getFileID();                            JahiaFile f = ServicesRegistry.getInstance().getJahiaFilemanagerService().getFileDB(fileID);                            if ( f != null ){                                String escapedFileName = java.net.URLEncoder.encode(f.getRealName());                                // this next line is an ugly hack required because                                // of the evolution of the use of RFC 1738 to                                // encoding spaces with %20.                                escapedFileName = JahiaTools.replacePattern(escapedFileName, "+", "%20");                                params = "/" + escapedFileName + params;                                action +=  "&fid=" +  theField.getID();                            } else {                                action = "";                            }                        } else {                            action ="";                        }                    }                }                if ( action != null & action.length()>0 ){                    params += "?" + ACTION_REQ + "=" + action;                }            }        }        String theUrl = "";        if ( jParams != null ){            theUrl =  jParams.composeEngineUrl( engineName, params );        }        return theUrl	;    } // end renderLink    /***     * needsJahiaData     *     */    public boolean needsJahiaData( ParamBean jParams )    {        return false;    } // end needsJahiaData    /***     * handdles the engine actions     *     * @param        jParams             a ParamBean object     * @param        jData               a JahiaData object (not mandatory)     *     */    public void handleActions( ParamBean jParams, JahiaData jData )    throws JahiaException    {        HashMap engineMap = initEngineMap( jParams );        boolean displayScreen = true;        String action = jParams.getParameter(ACTION_REQ);        //JahiaConsole.println("FilemanagerEngine.handleActions","actionreq= " + action);        if ( action != null ){            if ( action.equals(ACTION_FILE_UPLOAD) ){                handleFileUpload(jParams,engineMap);            } else if ( action.equals(ACTION_FILE_DOWNLOAD) ){                if ( handleFileDownload(jParams,engineMap) ){                    displayScreen = false;                }            } else if ( action.equals(ACTION_FILE_DELETE) ){                handleFileDelete(jParams,engineMap);            }  else {                // the files list for a gived page and all files made public                Vector v = ServicesRegistry.getInstance()                                                  .getJahiaFilemanagerService()                                                  .getFilesByPage(jParams.getSiteID(),jParams.getPageID(),true);                Vector filesList = new Vector();                if ( jParams.getUser().isAdminMember(jParams.getSiteID()) ){                    filesList = v;                } else {                    int size = v.size();                    JahiaFile jf = null;                    for (int i=0 ; i<size ; i++){                        jf = (JahiaFile)v.get(i);                        if ( jf.getUploadUser().equals(jParams.getUser().getName()) ){                            filesList.add(jf);                        }                    }                }                engineMap.put( "filesList", filesList.elements() );                // undefined action                engineMap.put("fmMsg","");                engineMap.put( "jspSource", TEMPLATE_JSP );            }        } else {

⌨️ 快捷键说明

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