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

📄 cmspreferencespanels.java

📁 内容管理
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
//                        session.putValue("USERSETTINGS",userSettings);
//                    }
//                }

                // the previous panel was the start panel, save all the data form there
                if(oldPanel.equals("start")) {
                    Hashtable startSettings = getStartSettings(cms, parameters);
                    if(startSettings != null) {
                        session.putValue("STARTSETTINGS", startSettings);
                    }
                }
            }
            session.putValue(C_PARA_OLDPANEL, panel);
        }                

        // if the OK or cancel buttons are pressed return to the explorer and clear
        // the data in the session.
        if(C_PARA_OK.equals(button) || C_PARA_CANCEL.equals(button)) {
            session.removeValue("EXPLORERSETTINGS");
            session.removeValue("TASKSETTINGS");
            session.removeValue("USERSETTINGS");
            session.removeValue("STARTSETTINGS");
            session.removeValue(C_PARA_OLDPANEL);
            
            try {
                cms.getRequestContext().getResponse().sendCmsRedirect(getConfigFile(cms).getWorkplaceActionPath() + C_WP_RELOAD);
            }
            catch(Exception e) {
                throw new CmsException("Redirect fails :" + getConfigFile(cms).getWorkplaceActionPath() + C_WP_RELOAD, CmsException.C_UNKNOWN_EXCEPTION, e);
            }
        
            return null;
        }
        
        return startProcessing(cms, xmlTemplateDocument, "", parameters, template);
    }

    /**
     * Gets all groups of the currently logged in user.
     * <P>
     * The given vectors <code>names</code> and <code>values</code> will
     * be filled with the appropriate information to be used for building
     * a select box.
     * <P>
     * Both <code>names</code> and <code>values</code> will contain
     * the group names after returning from this method.
     * <P>
     *
     * @param cms CmsObject Object for accessing system resources.
     * @param lang reference to the currently valid language file
     * @param names Vector to be filled with the appropriate values in this method.
     * @param values Vector to be filled with the appropriate values in this method.
     * @param parameters Hashtable containing all user parameters <em>(not used here)</em>.
     * @return Index representing the user's current group in the vectors.
     * @throws CmsException
     */
    public Integer getDefaultGroup(CmsObject cms, CmsXmlLanguageFile lang, Vector names,
            Vector values, Hashtable parameters) throws CmsException {
        CmsRequestContext reqCont = cms.getRequestContext();
        I_CmsSession session = cms.getRequestContext().getSession(true);
        String group = null;

        // Get a vector of all of the user's groups by asking the request context
        CmsGroup currentGroup = reqCont.currentUser().getDefaultGroup();
        Vector allGroups = cms.getGroupsOfUser(reqCont.currentUser().getName());

        // try to get an existing value for the default value
        Hashtable startSettings = null;
        startSettings = (Hashtable)session.getValue("STARTSETTINGS");

        // if this fails, get the settings from the user obeject
        if(startSettings == null) {
            startSettings = (Hashtable)reqCont.currentUser().getAdditionalInfo(C_ADDITIONAL_INFO_STARTSETTINGS);
        }
        if(startSettings != null) {
            group = (String)startSettings.get(C_START_DEFAULTGROUP);
        }
        if(group == null) {
            group = currentGroup.getName();
        }

        // Now loop through all groups and fill the result vectors
        int numGroups = allGroups.size();
        int currentGroupNum = 0;
        for(int i = 0;i < numGroups;i++) {
            CmsGroup loopGroup = (CmsGroup)allGroups.elementAt(i);
            String loopGroupName = loopGroup.getName();
            values.addElement(loopGroupName);
            names.addElement(loopGroupName);
            if(loopGroup.getName().equals(group)) {

                // Fine. The group of this loop is the user's current group. Save it!
                currentGroupNum = i;
            }
        }
        return new Integer(currentGroupNum);
    }

    /**
     * Calculates the settings for the explorer filelist from the data submitted in
     * the preference explorer panel.
     * @param parameters Hashtable containing all request parameters
     * @return Explorer filelist flags.
     */
    private int getExplorerSettings(Hashtable parameters) {
        int explorerSettings = C_FILELIST_NAME;
        if(parameters.get("CBTITLE") != null) {
            explorerSettings += C_FILELIST_TITLE;
        }
        if(parameters.get("CBTYPE") != null) {
            explorerSettings += C_FILELIST_TYPE;
        }
        if(parameters.get("CBCHANGED") != null) {
            explorerSettings += C_FILELIST_CHANGED;
        }
        if(parameters.get("CBSIZE") != null) {
            explorerSettings += C_FILELIST_SIZE;
        }
        if(parameters.get("CBSTATE") != null) {
            explorerSettings += C_FILELIST_STATE;
        }
        if(parameters.get("CBOWNER") != null) {
            explorerSettings += C_FILELIST_OWNER;
        }
        if(parameters.get("CBGROUP") != null) {
            explorerSettings += C_FILELIST_GROUP;
        }
        if(parameters.get("CBACCESS") != null) {
            explorerSettings += C_FILELIST_ACCESS;
        }
        if(parameters.get("CBLOCKEDBY") != null) {
            explorerSettings += C_FILELIST_LOCKED;
        }
        return explorerSettings;
    }

    /**
     * Gets all filters available in the task screen.
     * <P>
     * The given vectors <code>names</code> and <code>values</code> will
     * be filled with the appropriate information to be used for building
     * a select box.
     *
     * @param cms CmsObject Object for accessing system resources.
     * @param lang reference to the currently valid language file
     * @param names Vector to be filled with the appropriate values in this method.
     * @param values Vector to be filled with the appropriate values in this method.
     * @param parameters Hashtable containing all user parameters <em>(not used here)</em>.
     * @return Index representing the user's current filter view in the vectors.
     * @throws CmsException
     */
    public Integer getFilters(CmsObject cms, CmsXmlLanguageFile lang, Vector values,
            Vector names, Hashtable parameters) throws CmsException {

        // Let's see if we have a session
        I_CmsSession session = cms.getRequestContext().getSession(true);
        String filter = null;

        // try to get the default value
        Hashtable taskSettings = null;
        taskSettings = (Hashtable)session.getValue("TASKSETTINGS");

        // if this fails, get the settings from the user obeject
        if(taskSettings == null) {
            taskSettings = (Hashtable)cms.getRequestContext().currentUser().getAdditionalInfo(C_ADDITIONAL_INFO_TASKSETTINGS);
        }
        if(taskSettings != null) {
            filter = (String)taskSettings.get(C_TASK_FILTER);
        }
        else {
            filter = (String)session.getValue(C_SESSION_TASK_FILTER);
        }
        int selected = 0;
        names.addElement("a1");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "a1"));
        if("a1".equals(filter)) {
            selected = 0;
        }
        names.addElement("b1");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "b1"));
        if("b1".equals(filter)) {
            selected = 1;
        }
        names.addElement("c1");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "c1"));
        if("c1".equals(filter)) {
            selected = 2;
        }
        names.addElement("-");
        values.addElement(C_SPACER);
        names.addElement("a2");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "a2"));
        if("a2".equals(filter)) {
            selected = 4;
        }
        names.addElement("b2");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "b2"));
        if("b2".equals(filter)) {
            selected = 5;
        }
        names.addElement("c2");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "c2"));
        if("c2".equals(filter)) {
            selected = 6;
        }
        names.addElement("-");
        values.addElement(C_SPACER);
        names.addElement("a3");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "a3"));
        if("a3".equals(filter)) {
            selected = 8;
        }
        names.addElement("b3");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "b3"));
        if("b3".equals(filter)) {
            selected = 9;
        }
        names.addElement("c3");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "c3"));
        if("c3".equals(filter)) {
            selected = 10;
        }
        names.addElement("-");
        values.addElement(C_SPACER);
        names.addElement("d1");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "d1"));
        if("d1".equals(filter)) {
            selected = 12;
        }
        names.addElement("d2");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "d2"));
        if("d2".equals(filter)) {
            selected = 13;
        }
        names.addElement("d3");
        values.addElement(lang.getLanguageValue(C_TASK_FILTER + "d3"));
        if("d3".equals(filter)) {
            selected = 14;
        }
        return (new Integer(selected));
    }

    /**
     * Gets all groups of the currently logged in user.
     * <P>
     * The given vectors <code>names</code> and <code>values</code> will
     * be filled with the appropriate information to be used for building
     * a select box.
     * <P>
     * Both <code>names</code> and <code>values</code> will contain
     * the group names after returning from this method.
     * <P>
     *
     * @param cms CmsObject Object for accessing system resources.
     * @param lang reference to the currently valid language file
     * @param names Vector to be filled with the appropriate values in this method.
     * @param values Vector to be filled with the appropriate values in this method.
     * @param parameters Hashtable containing all user parameters <em>(not used here)</em>.
     * @return Index representing the user's current group in the vectors.
     * @throws CmsException
     */
    public Integer getGroups(CmsObject cms, CmsXmlLanguageFile lang, Vector names, Vector values,
            Hashtable parameters) throws CmsException {
        CmsRequestContext reqCont = cms.getRequestContext();
        I_CmsSession session = cms.getRequestContext().getSession(true);
        String group = (String)session.getValue("USERSETTINGS");

        // Get a vector of all of the user's groups by asking the request context
        CmsGroup currentGroup = reqCont.currentGroup();
        Vector allGroups = cms.getGroupsOfUser(reqCont.currentUser().getName());
        if(group == null) {
            group = currentGroup.getName();
        }

        // Now loop through all groups and fill the result vectors
        int numGroups = allGroups.size();
        int currentGroupNum = 0;
        for(int i = 0;i < numGroups;i++) {
            CmsGroup loopGroup = (CmsGroup)allGroups.elementAt(i);
            String loopGroupName = loopGroup.getName();
            values.addElement(loopGroupName);
            names.addElement(loopGroupName);
            if(loopGroup.getName().equals(group)) {

                // Fine. The group of this loop is the user's current group. Save it!
                currentGroupNum = i;
            }
        }
        return new Integer(currentGroupNum);
    }

    /**
     * Gets all available langages in the system.
     * <P>
     * The given vectors <code>names</code> and <code>values</code> will
     * be filled with the appropriate information to be used for building
     * a select box.
     * @param cms CmsObject Object for accessing system resources.
     * @param lang reference to the currently valid language file
     * @param names Vector to be filled with the appropriate values in this method.
     * @param values Vector to be filled with the appropriate values in this method.
     * @param parameters Hashtable containing all user parameters <em>(not used here)</em>.
     * @return Index representing the user's current group in the vectors.
     * @throws CmsException
     */
    public Integer getLanguageFiles(CmsObject cms, CmsXmlLanguageFile lang, Vector names,
            Vector values, Hashtable parameters) throws CmsException {

⌨️ 快捷键说明

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