📄 managesites.java
字号:
PageInfoInterface.TYPE_DIRECT, "Welcome to " + site.getServerName(), pageDef.getID(), "", 0, "Jahia", 0, null ); JahiaConsole.println(CLASS_NAME + ".addSite", "Home Page created"); // enable guest user to access the page JahiaACLEntry guestAclEntry = new JahiaACLEntry(1,0); page.getACL().setUserEntry(guestSiteUser, guestAclEntry); page.getACL().setGroupEntry(guestGroup, guestAclEntry); // enable admin group to admin the page adminAclEntry = new JahiaACLEntry(7,0); page.getACL().setGroupEntry(adminGroup, adminAclEntry); // set the site page by last action... site.setHomePageID( page.getID() ); // set the site default template site.setDefaultTemplateID( pageDef.getID() ); jsms.updateSite(site); JahiaConsole.println(CLASS_NAME + ".addSite", "Site updated with Home Page"); } // start and create the site's new templates folder JahiaSiteTools.startTemplateObserver(site); // start and create the site's new web apps folder JahiaSiteTools.startWebAppsObserver(site); // copy the default shared components copySharedComponents(site.getSiteKey()); // create the search index searchServ.indexSite(site.getID()); // create administrator user if requested... if(existantAdminUser == null) { // get session administrator properties... String adminUsername = (String) session.getAttribute( CLASS_NAME + "adminUsername" ); String adminPassword = (String) session.getAttribute( CLASS_NAME + "adminPassword" ); Properties adminProps = (Properties) session.getAttribute( CLASS_NAME + "adminProps" ); // create user... uniqueKey = adminUsername + ":" + String.valueOf(site.getID()); adminSiteUser = jums.createUser( adminUsername, adminPassword, uniqueKey, site.getID(), adminProps ); } else { adminSiteUser = existantAdminUser; // the administrator already exists... use this. } // attach admin to administrators group... JahiaSiteTools.getAdminGroup(site).addMember( adminSiteUser ); // create admin membership for this site... JahiaSiteTools.addMember( adminSiteUser , site ); // set as default site if ( defaultSite.booleanValue() ){ changeDefaultSite(site); } // set as current site if the session site is null if ( session.getAttribute( ParamBean.SESSION_SITE ) == null ){ session.setAttribute( ParamBean.SESSION_SITE, site ); session.setAttribute( JahiaAdministration.CLASS_NAME + "manageSiteID", new Integer( site.getID() ) ); } SharedTemplatePackagesRegistry tmplSetReg = SharedTemplatePackagesRegistry.getInstance(); Integer siteID = new Integer(site.getID()); // set new site in session session.setAttribute( CLASS_NAME + "newJahiaSite" , site ); } else { sMgr.removeSite(site); // remove site because the process generate error(s)... warningMsg = "An error occurred while processing the request..."; request.setAttribute("warningMsg", warningMsg); displayAdd( request, response, session ); } } catch (JahiaException ex) { // clean site try { sMgr.removeSite(site); } catch ( Throwable t ) { } ex.printStackTrace(); warningMsg = "An error occurred while processing the request"; request.setAttribute("warningMsg", warningMsg); displayAdd( request, response, session ); } } // end terminateAdd /** * Display page to create an administrator for the new site. * * @author AK * @param request Servlet request. * @param response Servlet response. * @param session HttpSession object. */ private void displayCreateAdmin( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { //System.out.println(" ManageSites :: display create administrator started "); // retrieve previous form values... String jahiaDisplayMessage = (String) request.getAttribute(CLASS_NAME + "jahiaDisplayMessage"); String adminUsername = (String) request.getAttribute("adminUsername"); String adminPassword = (String) request.getAttribute("adminPassword"); String adminConfirm = (String) request.getAttribute("adminConfirm"); String adminFirstName = (String) request.getAttribute("adminFirstName"); String adminLastName = (String) request.getAttribute("adminLastName"); String adminOrganization = (String) request.getAttribute("adminOrganization"); String adminEmail = (String) request.getAttribute("adminEmail"); // set default values... if(jahiaDisplayMessage == null) { jahiaDisplayMessage = Jahia.COPYRIGHT; } if(adminUsername == null) { adminUsername = ""; } if(adminPassword == null) { adminPassword = ""; } if(adminConfirm == null) { adminConfirm = ""; } if(adminFirstName == null) { adminFirstName = ""; } if(adminLastName == null) { adminLastName = ""; } if(adminOrganization == null) { adminOrganization = ""; } if(adminEmail == null) { adminEmail = ""; } // set display message... session.setAttribute(CLASS_NAME + "jahiaDisplayMessage", jahiaDisplayMessage); // set request attributes... request.setAttribute("adminUsername", adminUsername); request.setAttribute("adminPassword", adminPassword); request.setAttribute("adminConfirm", adminConfirm); request.setAttribute("adminFirstName", adminFirstName); request.setAttribute("adminLastName", adminLastName); request.setAttribute("adminOrganization", adminOrganization); request.setAttribute("adminEmail", adminEmail); // redirect... JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "site_create_admin.jsp" ); } // end displayCreateAdmin /** * Process create new administrator for this new site. * * @author AK * @param request Servlet request. * @param response Servlet response. * @param session HttpSession object. */ private void processCreateAdmin( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { //System.out.println(" ManageSites :: process create administrator started "); boolean processError = true; // get form values... String adminUsername = JahiaTools.getStrParameter(request,"adminUsername","").trim(); String adminPassword = JahiaTools.getStrParameter(request,"adminPassword","").trim(); String adminConfirm = JahiaTools.getStrParameter(request,"adminConfirm","").trim(); String adminFirstName = JahiaTools.getStrParameter(request,"adminFirstName","").trim(); String adminLastName = JahiaTools.getStrParameter(request,"adminLastName","").trim(); String adminOrganization = JahiaTools.getStrParameter(request,"adminOrganization","").trim(); String adminEmail = JahiaTools.getStrParameter(request,"adminEmail","").trim(); String jahiaDisplayMessage = ""; // set request attributes... request.setAttribute("adminUsername", adminUsername); request.setAttribute("adminPassword", adminPassword); request.setAttribute("adminConfirm", adminConfirm); request.setAttribute("adminFirstName", adminFirstName); request.setAttribute("adminLastName", adminLastName); request.setAttribute("adminOrganization", adminOrganization); request.setAttribute("adminEmail", adminEmail); // get current user... JahiaUser currentUser = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser( 0, (String) session.getAttribute(CLASS_NAME+"jahiaLoginUsername") ); // check validity... if(adminUsername.equals(currentUser.getUsername())) { jahiaDisplayMessage = "Username cannot be the same as your login."; } else if(adminUsername.length() == 0) { jahiaDisplayMessage = "Username must be set (at least 4 characters)."; } else if(adminUsername.length() < 4) { jahiaDisplayMessage = "Username is too short. It must be at least 4 characters."; } else if(!adminPassword.equals(adminConfirm)) { jahiaDisplayMessage = "Confirm password must be the same as password."; } else if(adminPassword.length() == 0) { jahiaDisplayMessage = "Password must be set (at least 4 characters)."; } else if(adminPassword.length() < 4) { jahiaDisplayMessage = "Password is too short. It must be at least 4 characters."; } else if(adminEmail.length() == 0) { jahiaDisplayMessage = "E-mail must be set."; } else if(!JahiaTools.isAlphaValid( adminUsername )) { jahiaDisplayMessage = "Please use only letters, digits or underscores in username."; } else if(!JahiaTools.isAlphaValid( adminPassword )) { jahiaDisplayMessage = "Please use only letters, digits or underscores in password."; } else { processError = false; } if(!processError) { // compose user properties... Properties userProps = new Properties(); userProps.setProperty("firstname", adminFirstName); userProps.setProperty("lastname", adminLastName); userProps.setProperty("email", adminEmail); userProps.setProperty("organization", adminOrganization); session.setAttribute( CLASS_NAME + "adminUsername", adminUsername ); session.setAttribute( CLASS_NAME + "adminPassword", adminPassword ); session.setAttribute( CLASS_NAME + "adminProps", userProps ); session.setAttribute( CLASS_NAME + "jahiaDisplayMessage", Jahia.COPYRIGHT); // reset session session.setAttribute( CLASS_NAME + "existantAdminUser", null ); SharedTemplatePackagesRegistry tmplSetReg = SharedTemplatePackagesRegistry.getInstance(); if ( tmplSetReg != null && (tmplSetReg.getNbPackage()>0) ){ displayTemplateSetChoice(request, response, session); } else { // redirection to full sites list... terminateAdd( request, response, session ); displayList( request, response, session ); } } else { request.setAttribute(CLASS_NAME + "jahiaDisplayMessage", jahiaDisplayMessage); displayCreateAdmin( request, response, session); } } // end processCreateAdmin /** * Display page to select an existant administrator for the new site. * * @author AK * @param request Servlet request. * @param response Servlet response. * @param session HttpSession object. */ private void displaySelectExistantAdmin( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { //System.out.println(" ManageSites :: display select existant administrator started "); // retrieve previous form values... String jahiaDisplayMessage = (String) request.getAttribute(CLASS_NAME + "jahiaDisplayMessage"); String selectedSite = (String) request.getAttribute("selectedSite"); // set default values... if(jahiaDisplayMessage == null) { jahiaDisplayMessage = Jahia.COPYRIGHT; } if(selectedSite == null) { if(request.getParameter("site") == null) { selectedSite = "0"; } else { selectedSite = (String) request.getParameter("site"); } } try { // get admins list... JahiaGroupManagerService groupManager = ServicesRegistry.getInstance().getJahiaGroupManagerService(); JahiaUserManagerService userManager = ServicesRegistry.getInstance().getJahiaUserManagerService(); Enumeration allSites = sMgr.getSites(); Vector sitesList = new Vector(); Integer siteIDInteger = new Integer( selectedSite ); // clean sites... while(allSites.hasMoreElements()) { JahiaSite site = (JahiaSite) allSites.nextElement(); if(site.getID() > 0) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -