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

📄 managetemplates.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// $Id: ManageTemplates.java,v 1.4 2002/04/04 08:13:24 pmartin Exp $////                                   ____.//                       __/\ ______|    |__/\.     _______//            __   .____|    |       \   |    +----+       \//    _______|  /--|    |    |    -   \  _    |    :    -   \_________//   \\______: :---|    :    :           |    :    |         \________>//           |__\---\_____________:______:    :____|____:_____\//                                      /_____|////              . . . i n   j a h i a   w e   t r u s t . . .//////  ManageTemplates////  01.04.2001  AK  added in jahia.//  17.05.2001  NK  Integrate License Check.//package org.jahia.admin.templates;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import org.jahia.bin.*;import org.jahia.utils.*;import org.jahia.utils.properties.*;import org.jahia.registries.*;import org.jahia.exceptions.*;import org.jahia.params.*;import org.jahia.data.webapps.*;import org.jahia.data.applications.*;import org.jahia.services.sites.JahiaSite;import org.jahia.data.templates.*;import org.jahia.services.database.*;import org.jahia.services.usermanager.*;import org.jahia.services.templates_deployer.*;import org.jahia.services.sites.*;import org.jahia.services.pages.*;import org.jahia.security.license.*;/** * desc:  This class is used by the administration to manage * all the templates you've on your Jahia portal. You can add a * template, edit, change the visibility of the template and edit * its options. You can also view non-installed templates. * * Copyright:    Copyright (c) 2002 * Company:      Jahia Ltd * * @author Khue N'Guyen * @author Alexandre Kraft * @version 1.0 */public class ManageTemplates{    private static final String     CLASS_NAME          =  JahiaAdministration.CLASS_NAME;    private static final String     JSP_PATH            =  JahiaAdministration.JSP_PATH;    private static ServletContext   context;    private JahiaSite site;    private JahiaUser user;    private ServicesRegistry sReg;    private LicenseKey mLicenseKey;    /**     * Default constructor.     * @author  Alexandre Kraft     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     * @param   context       Servlet context.     */    public ManageTemplates( HttpServletRequest       request,                            HttpServletResponse      response,                            HttpSession              session,                            ServletContext           context )    throws Throwable    {        this.context =  context;        mLicenseKey = Jahia.getLicenseKey();        if ( mLicenseKey == null ){            // set request attributes...            request.setAttribute("jahiaDisplayMessage",  "Invalid License Key");            // redirect...            JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );            return;        }        userRequestDispatcher( request, response, session );    } // end constructor    /**     * This method is used like a dispatcher for user requests.     * @author  Alexandre Kraft     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     */    private void userRequestDispatcher( HttpServletRequest    request,                                        HttpServletResponse   response,                                        HttpSession           session )    throws Throwable    {        String operation =  request.getParameter("sub");        sReg = ServicesRegistry.getInstance();        // check if the user has really admin access to this site...        user     =  (JahiaUser) session.getAttribute( ParamBean.SESSION_USER );        site =  (JahiaSite) session.getAttribute( ParamBean.SESSION_SITE );        if ( site != null && user != null && sReg != null ){            if ( JahiaSiteTools.getAdminGroup(site).isMember(user) ){                // set the new site id to administrate...                request.setAttribute( "site", site );                if(operation.equals("display")) {                    displayTemplateList( request, response, session );                } else if(operation.equals("displaynewlist")) {                    displayNewTemplateList( request, response, session );                } else if(operation.equals("details")) {                    displayNewTemplateDetail( request, response, session );                } else if(operation.equals("edit")) {                    editTemplate( request, response, session );                } else if(operation.equals("options")) {                    editTemplateOption( request, response, session );                } else if(operation.equals("add")) {                    addTemplate( request, response, session );                } else if(operation.equals("swap")) {                    processSwap( request, response, session );                }            } else {                //System.out.println(" --> no admin access on this site <--");                request.setAttribute("jahiaDisplayMessage", "An error occured while processing your request");                JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );            }        } else {            request.setAttribute("jahiaDisplayMessage", "An error occured while processing your request");            JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );        }    } // userRequestDispatcher    //-------------------------------------------------------------------------    /**     * Display a list of the templates.     *     * @author  NK     * @param   request         Servlet request.     * @param   response        Servlet response.     * @param   session         HttpSession object.     */    private void displayTemplateList( HttpServletRequest   request,                                      HttpServletResponse  response,                                      HttpSession          session )    throws Throwable    {        try {            JahiaPageTemplateService pageTempServ =            sReg.getJahiaPageTemplateService();            if ( pageTempServ == null ){                throw new JahiaException(	"Unavailable Services",                                            "Unavailable Services",                                            JahiaException.SERVICE_ERROR,                                            JahiaException.ERROR );            }            Enumeration enum = pageTempServ.getPageTemplates (site.getID(), false);            request.setAttribute("templList", enum);            JahiaAdministration.doRedirect( request,                                            response,                                            session,                                            JSP_PATH + "manage_templates.jsp" );        } catch ( JahiaException je ){            request.setAttribute("jahiaDisplayMessage",                                    "An error occured while processing your request");            JahiaAdministration.doRedirect( request,                                            response,                                            session,                                            JSP_PATH + "menu.jsp" );        }    } // end displayTemplateList    //-------------------------------------------------------------------------    /**     * Display the edit form for a single template.     *     * @author  NK     * @param   request         Servlet request.     * @param   response        Servlet response.     * @param   session         HttpSession object.     */    private void editTemplate( 	HttpServletRequest   request,                                HttpServletResponse  response,                                HttpSession          session )    throws Throwable    {        try {            JahiaPageTemplateService pageTempServ =            sReg.getJahiaPageTemplateService();            JahiaTemplatesDeployerService tempDepServ =            sReg.getJahiaTemplatesDeployerService();            JahiaSitesService sitesServ =            sReg.getJahiaSitesService();            JahiaPageService pageServ =            sReg.getJahiaPageService();            if ( pageTempServ == null                || tempDepServ == null                || sitesServ == null                || pageServ == null ){                throw new JahiaException(	"Unavailable Services",                                            "Unavailable Services",                                            JahiaException.SERVICE_ERROR,                                            JahiaException.ERROR );            }            // get paramater            String strVal = request.getParameter("templid");            if ( strVal != null ){                int id = Integer.parseInt(strVal);                JahiaPageDefinition templ = pageTempServ.lookupPageTemplate (id);                // this is here so it doesn't overwrite the value set after critical pages check...                request.setAttribute("canDelete",  Boolean.TRUE );                if ( templ != null ){                    String  subAction     =  (String) request.getParameter("subaction");                    // Override subAction if we are performing a template swap before                    // template deletion                    Integer processedSwap =  (Integer)request.getAttribute("processedSwap");                    if ( processedSwap != null && processedSwap.intValue() == 1 ) {                        subAction         =  "confirmdelete";                    }                    if ( subAction == null ){                        subAction = "";                    }                    if ( subAction.equals("delete") ) {                        String undeploy = (String)request.getParameter("undeploy");                        if ( undeploy != null ){                            tempDepServ.undeploy(templ);                        }                        pageTempServ.deletePageTemplate(templ.getID());                        displayTemplateList(request,response,session);                        return;                    } else if ( subAction.equals("confirmdelete") ) {                        // check if some pages are using this template (in the CURRENT site)                        Vector pageIDs       =  pageServ.getPageIDsInSite(site.getID());                        List   criticalPages =  new ArrayList();                        int    mTemplID      =  templ.getID();                        for (int i=0; i<pageIDs.size(); i++) {                            int  pageID      = ((Integer)pageIDs.get(i)).intValue();                            try {                                JahiaPage page       =  (JahiaPage) pageServ.lookupPage(pageID);                                int       templateID =  page.getPageTemplateID();                                if (templateID == mTemplID) {                                    criticalPages.add(page);                                }                            } catch (Throwable t) {                                //                            }                        }                        if (!criticalPages.isEmpty()) {                            request.setAttribute("processedSwap", null);                            displaySwap (request, response, session, criticalPages, templ);                            return;                        }                        request.setAttribute("currAction",  "confirmdelete");                    } else if ( subAction.equals("swap") ) {                        // process requested template swapping for a set of pages...                        processSwap (request, response, session);                    } else if ( subAction.equals("save") ) {                        String templName = (String)request.getParameter("templName");                        String visible_status = (String)request.getParameter("visible_status");                        if (templName != null && (templName.trim().length()>0) ){                            templ.setName(templName);                        }                        if ( visible_status != null ){                            templ.setAvailable(true);                            String isDefault = (String)request.getParameter("isDefault");                            if ( isDefault != null ){                                site.setDefaultTemplateID(templ.getID());                            } else {                                site.setDefaultTemplateID(-1);                            }                        } else {                            templ.setAvailable(false);                        }

⌨️ 快捷键说明

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