📄 managesites.java
字号:
request.setAttribute("nbSites", new Integer(nbSites) ); // set license info request.setAttribute("siteLimit", new Integer(mLicenseKey.getSiteLimit()) ); //System.out.println(" ManageSites :: display add site , let go in "); // redirect... JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "site_add.jsp" ); } catch ( JahiaException je ) { // set request attributes... request.setAttribute("jahiaDisplayMessage", "An error occurred while processing your request"); // redirect... JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "sites_management.jsp" ); } } // end displayAdd /** * Process Add new site form * * @author AK * @author NK * @param request Servlet request. * @param response Servlet response. * @param session HttpSession object. */ private void processAdd( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { JahiaConsole.println("ManageSites::processAdd","started"); boolean processError = true; boolean siteMembershipRequested = false; // get form values... String siteTitle = JahiaTools.getStrParameter (request,"siteTitle","").trim(); String siteServerName = JahiaTools.getStrParameter (request,"siteServerName","").trim(); String siteKey = JahiaTools.getStrParameter (request,"siteKey","").toLowerCase().trim(); String siteDescr = JahiaTools.getStrParameter (request,"siteDescr","").trim(); Boolean siteMemberShip = new Boolean (request.getParameter("siteMemberShip") != null); String siteAdmin = JahiaTools.getStrParameter (request,"siteAdmin","").trim(); Boolean defaultSite = new Boolean (request.getParameter ("defaultSite") != null); String warningMsg = ""; session.setAttribute( CLASS_NAME + "defaultSite", defaultSite ); session.setAttribute( CLASS_NAME + "siteMemberShip", siteMemberShip ); // check license limitation again try { // get the number of sites in db int nbSites = ServicesRegistry.getInstance().getJahiaSitesService(). getNbSites(); if ( !(mLicenseKey.getSiteLimit() == -1) && !(mLicenseKey.getSiteLimit()>nbSites) ){ // redirect... JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "sites_management.jsp" ); return; } } catch ( JahiaException je ) { // set request attributes... request.setAttribute("jahiaDisplayMessage", "An error occurred while processing your request"); // redirect... JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "sites_management.jsp" ); return; } // create jahia site object if checks are in green light... try { // check validity... if ( siteTitle != null && (siteTitle.length()>0) && siteServerName != null && (siteServerName.length()>0) && siteKey != null && (siteKey.length()>0) ) { if(!JahiaTools.isAlphaValid(siteKey)) { warningMsg = "Please use only letters, digits or underscores in site key."; } else if ( siteKey.equals("site") ){ warningMsg = "Please choose another site key."; } else if ( siteServerName.equals("default") ){ warningMsg = "Please choose another server name."; } else if ( siteServerName.equals("localhost") ){ warningMsg = "Please choose another server name."; } else if ( sMgr.getSite(siteServerName) != null ){ warningMsg = "Please choose another server name."; } else if( sMgr.getSiteByKey(siteKey) != null){ warningMsg = "Please choose another site key."; } else if( siteKey.equals(ExtDepSiteConstants.SERVER) ){ warningMsg = "Please choose another site key."; } else { processError = false; } } else { warningMsg = "Please complete requested informations (*)"; } if(!processError) { // create the ACL object... JahiaBaseACL acl = null; acl = new JahiaBaseACL (); acl.create(0); // save new jahia site... JahiaSite site = new JahiaSite( -1, siteTitle, siteServerName, siteKey, true, // is active -1, // default page (homepage id)... subject to update in terminateAdd(). siteDescr, acl, null ); site.setDefaultTemplateID(3); // FIXME_MULTISITE should not be hardcoded site.setTemplatesAutoDeployMode(true); site.setWebAppsAutoDeployMode(true); // set in session... session.setAttribute( CLASS_NAME + "newJahiaSite", site ); // all is okay, go to add admin or use existant admin... if(siteAdmin.trim().equals("0")) { displayCreateAdmin( request, response, session ); } else { displaySelectExistantAdmin( request, response, session ); } acl = null; site = null; } else { JahiaSite site = new JahiaSite( -1, siteTitle, siteServerName, siteKey, true, -1, siteDescr, null, null ); session.setAttribute( CLASS_NAME + "newJahiaSite", site ); request.setAttribute("newJahiaSite", site); request.setAttribute("warningMsg", warningMsg); displayAdd( request, response, session); } } catch (JahiaException ex) { warningMsg = "An error occurred while processing the request."; request.setAttribute("warningMsg", warningMsg); displayAdd( request, response, session); } finally{ siteTitle = null; siteServerName = null; siteKey = null; siteDescr = null; siteMemberShip = null; siteAdmin = null; defaultSite = null; warningMsg = null; } } // end processAdd /** * Terminate the creation of a new site. Create the site and dependancies. * * @author AK * @author NK * @param request Servlet request. * @param response Servlet response. * @param session HttpSession object. */ private void terminateAdd( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException { JahiaConsole.println("ManageSites::terminateAdd","started"); String warningMsg = ""; JahiaSite currentSite = (JahiaSite) session.getAttribute( ParamBean.SESSION_SITE ); // get objects temporary stocked in session... JahiaSite site = (JahiaSite) session.getAttribute( CLASS_NAME + "newJahiaSite" ); Boolean membership = (Boolean) session.getAttribute( CLASS_NAME + "siteMemberShip" ); Boolean defaultSite = (Boolean) session.getAttribute( CLASS_NAME + "defaultSite" ); JahiaUser existantAdminUser = (JahiaUser) session.getAttribute( CLASS_NAME + "existantAdminUser" ); try { JahiaUser currentUser = ServicesRegistry.getInstance() .getJahiaUserManagerService() .lookupUser( 0, (String) session.getAttribute(CLASS_NAME+"jahiaLoginUsername") ); JahiaUser adminSiteUser; // get services... JahiaUserManagerService jums = ServicesRegistry.getInstance().getJahiaUserManagerService(); JahiaGroupManagerService jgms = ServicesRegistry.getInstance().getJahiaGroupManagerService(); JahiaSiteGroupManagerService jsgms = ServicesRegistry.getInstance().getJahiaSiteGroupManagerService(); JahiaSiteUserManagerService jsums = ServicesRegistry.getInstance().getJahiaSiteUserManagerService(); JahiaSitesService jsms = ServicesRegistry.getInstance().getJahiaSitesService(); JahiaPageTemplateService jpts = ServicesRegistry.getInstance().getJahiaPageTemplateService(); JahiaSearchService searchServ = ServicesRegistry.getInstance().getJahiaSearchService(); // add the site in siteManager... sMgr.addSite(site); // continue if the site is added correctly... if(site.getID() != -1) { // settings default permissions JahiaACLEntry adminAclEntry = new JahiaACLEntry(7,0); // root admin group JahiaGroup adminGrp = ServicesRegistry.getInstance() .getJahiaGroupManagerService().getAdministratorGroup(0); site.getACL().setGroupEntry(adminGrp,adminAclEntry); // site admin group adminGrp = ServicesRegistry.getInstance() .getJahiaGroupManagerService().getAdministratorGroup(site.getID()); site.getACL().setGroupEntry(adminGrp,adminAclEntry); // create default groups... JahiaGroup adminGroup = jgms.createGroup( site.getID(), jgms.ADMINISTRATORS_GROUPNAME, null ); JahiaGroup usersGroup = jgms.createGroup( site.getID(), jgms.USERS_GROUPNAME, null ); JahiaGroup guestGroup = jgms.createGroup( site.getID(), jgms.GUEST_GROUPNAME, null ); // create groups memberships... JahiaSiteTools.addGroup( adminGroup , site); JahiaSiteTools.addGroup( usersGroup , site); JahiaSiteTools.addGroup( guestGroup , site); // create the guest user String uniqueKey = JahiaUserManagerService.GUEST_USERNAME + ":" + String.valueOf(site.getID()); JahiaUser guestSiteUser = jums.createUser( JahiaUserManagerService.GUEST_USERNAME, JahiaUserManagerService.GUEST_USERNAME, uniqueKey, site.getID(), null ); // attach superadmin user (current) to administrators group... adminGroup.addMember( currentUser ); // create creator user membership for this site... if ( membership.booleanValue() ){ JahiaSiteTools.addMember(currentUser,site); } // attach guest user to guest group... guestGroup.addMember( guestSiteUser ); // create guest user membership for this site... JahiaSiteTools.addMember( guestSiteUser , site ); JahiaPageDefinition pageDef = null; JahiaConsole.println(CLASS_NAME + ".addSite", "createTemplateDir now"); if ( JahiaSiteTools.createTemplateDir(site) ){ pageDef = createDefaultTemplate(site); } JahiaConsole.println(CLASS_NAME + ".addSite", "createTemplateDir done"); if ( pageDef != null ){ // create the default homepage... JahiaPageService pageService = ServicesRegistry.getInstance().getJahiaPageService(); JahiaPage page = pageService.createPage( site.getID(), 0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -