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

📄 cmsadminusers.java

📁 内容管理
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                    }else {
                        if(reqCont.getRequest().getParameter("OK") != null) {

                            // form submitted, try to establish new user
                            try {
                                if(email.equals("") || userLastname.equals("")
                                        || user.equals("")) {
                                    throw new CmsException("user data missing",
                                            CmsException.C_NO_USER);
                                }
                                if(!pwd.equals(pwd2)) {
                                    throw new CmsException("unequal passwords",
                                            CmsException.C_SHORT_PASSWORD);
                                }
                                // check the password
                                Utils.validateNewPassword(cms, pwd, null);

                                Hashtable additionalInfo = new Hashtable();

                                // additionalInfo.put(C_ADDITIONAL_INFO_ZIPCODE, zipcode);
                                // additionalInfo.put(C_ADDITIONAL_INFO_TOWN, town);
                                CmsUser newUser = cms.addUser(user, pwd, defaultGroup, desc,
                                        additionalInfo, C_FLAG_ENABLED);
                                newUser.setEmail(email);
                                newUser.setFirstname(firstname);
                                newUser.setLastname(userLastname);
                                newUser.setAddress(street);
                                newUser.setAdditionalInfo(C_ADDITIONAL_INFO_ZIPCODE, zipcode);
                                newUser.setAdditionalInfo(C_ADDITIONAL_INFO_TOWN, town);
                                for(int z = 0;z < selectedGroups.size();z++) {
                                    String groupname = (String)selectedGroups.elementAt(z);
                                    if(!groupname.equals(defaultGroup)) {
                                        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.getType() == CmsException.C_SHORT_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.getType() == CmsException.C_NO_GROUP) {
                                        templateSelector = "errornogroup1";
                                    }else {
                                        if(e.getType() == CmsException.C_NO_USER
                                                && e.getMessage().equals("user data missing")) {
                                            templateSelector = "errordatamissing1";
                                        }else {
                                            // unknown error
                                            xmlTemplateDocument.setData("details", Utils.getStackTrace(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 = (CmsUser)cms.readUser(user);
                    if(theUser == null) {
                        throw new CmsException("user does not exist");
                    }
                    firstname = theUser.getFirstname();
                    desc = theUser.getDescription();
                    street = theUser.getAddress();
                    userLastname = theUser.getLastname();
                    email = theUser.getEmail();
                    disabled = theUser.getDisabled();
                    zipcode = (String)theUser.getAdditionalInfo(C_ADDITIONAL_INFO_ZIPCODE);
                    town = (String)theUser.getAdditionalInfo(C_ADDITIONAL_INFO_TOWN);
                    defaultGroup = theUser.getDefaultGroup().getName();
                    Vector groups = cms.getDirectGroupsOfUser(user);
                    if(groups != null) {
                        selectedGroups = new Vector();
                        for(int z = 0;z < groups.size();z++) {
                            selectedGroups.addElement(((CmsGroup)groups.elementAt(z)).getName());
                        }
                    }else {
                        throw new CmsException(CmsException.C_NO_GROUP);
                    }
                    groups = cms.getGroups();
                    if(groups != null) {
                        notSelectedGroups = new Vector();
                        for(int z = 0;z < groups.size();z++) {
                            String name = ((CmsGroup)groups.elementAt(z)).getName();
                            if(!selectedGroups.contains(name)) {
                                notSelectedGroups.addElement(name);
                            }
                        }
                    }
                }else {

                    // fetch data from the form
                    if((String)parameters.get("LOCK") != null) {
                        disabled = true;
                    }
                    if(reqCont.getRequest().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(reqCont.getRequest().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(reqCont.getRequest().getParameter("OK") != null) {

                                // form submitted, try to change the user data
                                try {
                                    if(email.equals("") || userLastname.equals("")
                                            || user.equals("")) {
                                        throw new CmsException("user data missing",
                                                CmsException.C_NO_USER);
                                    }
                                    if(!pwd.equals(pwd2)) {
                                        throw new CmsException("unequal passwords",
                                                CmsException.C_SHORT_PASSWORD);
                                    }
                                    if(!pwd.equals("")) {
                                        cms.setPassword(user, pwd);
                                    } // if nothing is entered don't change the password
                                    CmsUser theUser = (CmsUser)cms.readUser(user);
                                    theUser.setEmail(email);
                                    theUser.setDescription(desc);
                                    theUser.setFirstname(firstname);
                                    theUser.setLastname(userLastname);
                                    theUser.setAddress(street);
                                    theUser.setAdditionalInfo(C_ADDITIONAL_INFO_ZIPCODE, zipcode);
                                    theUser.setAdditionalInfo(C_ADDITIONAL_INFO_TOWN, town);
                                    if((C_USER_ADMIN.equals(theUser.getName()))
                                            && (!selectedGroups.contains(C_GROUP_ADMIN))) {
                                        throw new CmsException("cant remove Admin from "
                                                + C_GROUP_ADMIN, CmsException.C_NOT_ADMIN);
                                    }
                                    if(disabled && selectedGroups.contains(C_GROUP_ADMIN)) {
                                        throw new CmsException("disabled admin",
                                                 CmsException.C_NOT_ADMIN);
                                    }
                                    if(disabled == true) {
                                        theUser.setDisabled();
                                    }else {
                                        theUser.setEnabled();
                                    }
                                    changeGroups(cms, theUser, defaultGroup, 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.getType() == CmsException.C_SHORT_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.getType() == CmsException.C_NO_GROUP) {
                                            templateSelector = "errornogroup2";
                                        }else {
                                            if(e.getType() == CmsException.C_NO_USER
                                                    && e.getMessage().equals("user data missing")) {
                                                templateSelector = "errordatamissing2";
                                            }else {
                                                if(e.getType() == CmsException.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);

⌨️ 快捷键说明

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