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

📄 cmsadminusers.java

📁 cms是开源的框架
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                                if(email.equals("") || userLastname.equals("")
                                        || user.equals("")) {
                                    throw new CmsLegacyException("user data missing",
                                        CmsLegacyException.C_NO_USER);
                                }
                                if(!pwd.equals(pwd2)) {
                                    throw new CmsLegacyException("unequal passwords",
                                        CmsLegacyException.C_SECURITY_INVALID_PASSWORD);
                                }
                                // check the password
                                cms.validatePassword(pwd);

                                Hashtable additionalInfo = new Hashtable();

                                // additionalInfo.put(C_ADDITIONAL_INFO_ZIPCODE, zipcode);
                                // additionalInfo.put(C_ADDITIONAL_INFO_TOWN, town);
                                CmsUser newUser = cms.createUser(user, pwd, desc, additionalInfo);
                                newUser.setEmail(email);
                                newUser.setFirstname(firstname);
                                newUser.setLastname(userLastname);
                                newUser.setAddress(street);
                                newUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_ZIPCODE, zipcode);
                                newUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_CITY, town);
                                newUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_DEFAULTGROUP, defaultGroup);
                                for(int z = 0;z < selectedGroups.size();z++) {
                                    String groupname = (String)selectedGroups.elementAt(z);
                                    cms.addUserToGroup(user, groupname);
                                }
                                cms.writeUser(newUser); // update in the database
                                session.removeValue("selectedGroups");
                                session.removeValue("notSelectedGroups");
                                session.removeValue("ERROR");
                                templateSelector = ""; //successful
                            }catch(CmsException e) {

                                // save the form data in the session, so it can be displayed again later
                                session.putValue("ERROR", new String("yes")); // remeber that an error has occurred
                                session.putValue("USERFIRSTNAME", firstname);
                                session.putValue("USERDESC", desc);
                                session.putValue("USERSTREET", street);
                                session.putValue("PWD", pwd);
                                session.putValue("PWD2", pwd2);
                                session.putValue("USER", user);
                                session.putValue("USERNAME", userLastname);
                                session.putValue("ZIP", zipcode);
                                session.putValue("TOWN", town);
                                session.putValue("USEREMAIL", email);
                                session.putValue("DEFAULTGROUP", defaultGroup);
                                if ((e instanceof CmsLegacySecurityException) && (((CmsLegacySecurityException)e).getType() == CmsLegacySecurityException.C_SECURITY_INVALID_PASSWORD)) {
                                    if(e.getMessage().equals("unequal passwords")) {
                                        templateSelector = "passworderror1";
                                    }else {
                                        if(e.getMessage().equals("password too short")) {
                                            templateSelector = "passworderror2";
                                        }else {
                                            xmlTemplateDocument.setData("reasonOfError", e.getMessage());
                                            xmlTemplateDocument.setData("perspective", "newuser");
                                            templateSelector = "passworderror5";
                                        }
                                    }
                                }else {
                                    if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NO_GROUP)) {
                                        templateSelector = "errornogroup1";
                                    }else {
                                        if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NOT_FOUND && e.getMessage().equals("user data missing"))) {
                                            templateSelector = "errordatamissing1";
                                        }else {
                                            // unknown error
                                            xmlTemplateDocument.setData("details", CmsException.getStackTraceAsString(e));
                                            templateSelector = "error";
                                        }
                                    }
                                }
                            } // catch block
                        } // OK
                    }
                }
            }else {

                // input is the form for changing the user data
                templateSelector = "changeuser";
                boolean disabled = false;
                if(!userYetChanged) {

                    // form visited for the first time, not yet changed
                    // read the data from the user object
                    CmsUser theUser = cms.readUser(user);
                    if(theUser == null) {
                        throw new CmsLegacyException("user does not exist");
                    }
                    firstname = theUser.getFirstname();
                    desc = theUser.getDescription();
                    street = theUser.getAddress();
                    userLastname = theUser.getLastname();
                    email = theUser.getEmail();
                    disabled = !theUser.isEnabled();
                    zipcode = (String)theUser.getAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_ZIPCODE);
                    town = (String)theUser.getAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_CITY);
                    defaultGroup = (String)theUser.getAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_DEFAULTGROUP);
                    List groups = cms.getDirectGroupsOfUser(user);
                    if(groups != null) {
                        selectedGroups = new Vector();
                        for(int z = 0;z < groups.size();z++) {
                            selectedGroups.addElement(((CmsGroup)groups.get(z)).getName());
                        }
                    }else {
                        throw new CmsLegacyException(CmsLegacyException.C_NO_GROUP);
                    }
                    groups = cms.getGroups();
                    if(groups != null) {
                        notSelectedGroups = new Vector();
                        for(int z = 0;z < groups.size();z++) {
                            String name = ((CmsGroup)groups.get(z)).getName();
                            if(!selectedGroups.contains(name)) {
                                notSelectedGroups.addElement(name);
                            }
                        }
                    }
                }else {

                    // fetch data from the form
                    if((String)parameters.get("LOCK") != null) {
                        disabled = true;
                    }
                    if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("ADD") != null) {

                        // add a new group to selectedGroups
                        String groupname = (String)parameters.get("notselectgroup");
                        if(groupname != null) {
                            if(!selectedGroups.contains(groupname)){
                                selectedGroups.addElement(groupname);
                            }
                            notSelectedGroups.removeElement(groupname);
                        }
                    }else {
                        if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("REMOVE") != null) {

                            // delete a group from selectedGroups
                            // and move it to notSelectedGroups
                            String groupname = (String)parameters.get("selectgroup");
                            if(groupname != null) {
                                if(!notSelectedGroups.contains(groupname)){
                                    notSelectedGroups.addElement(groupname);
                                    if(groupname.equals(defaultGroup)) {
                                        defaultGroup = "";
                                    }
                                }
                                selectedGroups.removeElement(groupname);
                            }
                        }else {
                            if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("OK") != null) {

                                // form submitted, try to change the user data
                                try {
                                    if(email.equals("") || userLastname.equals("")
                                            || user.equals("")) {
                                        throw new CmsLegacyException("user data missing",
                                            CmsLegacyException.C_NO_USER);
                                    }
                                    if(!pwd.equals(pwd2)) {
                                        throw new CmsLegacySecurityException("unequal passwords",
                                            CmsLegacySecurityException.C_SECURITY_INVALID_PASSWORD);
                                    }
                                    if(!pwd.equals("")) {
                                        cms.setPassword(user, pwd);
                                    } // if nothing is entered don't change the password
                                    CmsUser theUser = cms.readUser(user);
                                    theUser.setEmail(email);
                                    theUser.setDescription(desc);
                                    theUser.setFirstname(firstname);
                                    theUser.setLastname(userLastname);
                                    theUser.setAddress(street);
                                    theUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_ZIPCODE, zipcode);
                                    theUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_CITY, town);
                                    theUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_DEFAULTGROUP, defaultGroup);
                                    if((OpenCms.getDefaultUsers().getUserAdmin().equals(theUser.getName()))
                                            && (!selectedGroups.contains(OpenCms.getDefaultUsers().getGroupAdministrators()))) {
                                        throw new CmsLegacyException("cant remove Admin from "
                                                + OpenCms.getDefaultUsers().getGroupAdministrators(), CmsLegacyException.C_NOT_ADMIN);
                                    }
                                    if(disabled && selectedGroups.contains(OpenCms.getDefaultUsers().getGroupAdministrators())) {
                                        throw new CmsLegacyException("disabled admin",
                                            CmsLegacyException.C_NOT_ADMIN);
                                    }
                                    theUser.setEnabled(!disabled);
                                    changeGroups(cms, theUser, selectedGroups);
                                    session.removeValue("selectedGroups");
                                    session.removeValue("notSelectedGroups");
                                    session.removeValue("DEFAULTGROUP");
                                    session.removeValue("ERROR");
                                    templateSelector = ""; //successful
                                }catch(CmsException e) {
                                    session.putValue("ERROR", new String("yes")); // remeber that an error has occurred
                                    session.putValue("USERFIRSTNAME", firstname);
                                    session.putValue("USERDESC", desc);
                                    session.putValue("USERSTREET", street);
                                    session.putValue("PWD", pwd);
                                    session.putValue("PWD2", pwd2);
                                    session.putValue("USER", user);
                                    session.putValue("USERNAME", userLastname);
                                    session.putValue("ZIP", zipcode);
                                    session.putValue("TOWN", town);
                                    session.putValue("USEREMAIL", email);
                                    session.putValue("DEFAULTGROUP", defaultGroup);
                                    if ((e instanceof CmsLegacySecurityException) && (((CmsLegacySecurityException)e).getType() == CmsLegacyException.C_SECURITY_INVALID_PASSWORD)) {
                                        if(e.getMessage().equals("unequal passwords")) {
                                            templateSelector = "passworderror3";
                                        }else {
                                            if(e.getMessage().equals("password too short")) {
                                                templateSelector = "passworderror4";
                                            }else {
                                                xmlTemplateDocument.setData("reasonOfError", e.getMessage());
                                                xmlTemplateDocument.setData("perspective", "changeuser");
                                                templateSelector = "passworderror5";
                                            }
                                        }
                                    }else {
                                        if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NO_GROUP)) {
                                            templateSelector = "errornogroup2";
                                        }else {
                                            if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NO_USER && e.getMessage().equals("user data missing"))) {
                                                templateSelector = "errordatamissing2";
                                            }else {
                                                if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NOT_ADMIN && e.getMessage().equals("disabled admin"))) {
                                                    templateSelector = "errordisabledadmin";
                                                }else {
                                                    session.putValue("ERROR", new String("yes"));
                                                    throw e; // hand the exception down
                                                }
                                            }
                                        }
                                    }
                                } // catch block
                            } // OK
                        }
                    }
                } // userYetEstablished
                session.putValue("selectedGroups", selectedGroups);
                session.putValue("notSelectedGroups", notSelectedGroups);
                session.putValue("DEFAULTGROUP", defaultGroup);
                xmlTemplateDocument.setData("DISABLED", disabled ? "checked" : "");
            }

            // again common part for 'newuser' and 'changeuser':
            // set the variables for display in the document
            if(firstname == null) {
                firstname = "";
            }
            if(desc == null) {
                desc = "";
            }
            if(street == null) {
                street = "";
            }
            if(pwd == null) {
                pwd = "";
            }
            if(pwd2 == null) {
                pwd2 = "";
            }
            if(user == null) {
                user = "";
            }
            if(userLastname == null) {
                userLastname = "";
            }
            if(town == null) {
                town = "";
            }
            if(zipcode == null) {
                zipcode = "";
            }
            if(email == null) {
                email = "";
            }
            xmlTemplateDocument.setData("USERFIRSTNAME", firstname);
            xmlTemplateDocument.setData("USERDESC", desc);
            xmlTemplateDocument.setData("USERSTREET", street);
            xmlTemplateDocument.setData("PWD", pwd);
            xmlTemplateDocument.setData("PWD2", pwd2);
            xmlTemplateDocument.setData("USER", user);
            xmlTemplateDocument.setData("USERNAME", userLastname);
            xmlTemplateDocument.setData("TOWN", town);
            xmlTemplateDocument.setData("ZIP", zipcode);
            xmlTemplateDocument.setData("EMAIL", email);
        } // belongs to: 'if perspective is newuser or changeuser'
        else {
            if(perspective.equals("deleteuser")) {
                String user = (String)parameters.get("USER");

⌨️ 快捷键说明

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