📄 jahiasitetools.java
字号:
if ( path != null ){ buff = new StringBuffer(path); buff.append(File.separator); buff.append(site.getSiteKey()); f = new File(buff.toString()); JahiaConsole.println(CLASS_NAME,"delete site applications folder " + f.getAbsolutePath()); JahiaTools.deleteFile(f); } JahiaApplicationsManagerService aps = ServicesRegistry .getInstance() .getJahiaApplicationsManagerService(); // purge site's webapps if ( aps != null ){ String jahiaHomeDiskPath = ads.getJahiaHomeDiskPath(); JahiaConsole.println(CLASS_NAME,"delete site applications folder jahiaHomeDiskPath=" + jahiaHomeDiskPath ); // get webapps definitions Vector vec = aps.getApplications(site.getID()); ApplicationBean app = null; String webAppsRootPath = ads.getWebAppsRootPath(); String context = null; StringBuffer appPath = null; f = null; int size = vec.size(); for (int i=0 ; i<size ; i++){ app = (ApplicationBean)vec.get(i); // delete application shares AppsShareService ass = ServicesRegistry.getInstance().getAppsShareService(); if ( ass != null ){ ass.removeShares(app); } appPath = new StringBuffer(webAppsRootPath); appPath.append(File.separator); appPath.append(app.getContext().substring(1,app.getContext().length())); f = new File(appPath.toString()); if ( !f.getAbsolutePath().equals(jahiaHomeDiskPath) ){ // delete from disk JahiaConsole.println(CLASS_NAME,"delete site applications folder " + f.getAbsolutePath()); JahiaTools.deleteFile(f); // delete from database aps.removeApplication(app.getID()); } } } return true; } //------------------------------------------------------------------------- /** * Purge site's users * * @param (JahiaUser) the user to check right ( the admin ) * @param (JahiaSite) the site for whcih to delete users * @param (Vector) the vector of users providers. * @return boolean false on error * @author NK */ public static boolean deleteUsers(JahiaUser user, JahiaSite site, Vector providers) throws JahiaException { if ( site == null || user == null || providers == null || providers.size()==0 ){ return false; } JahiaGroup adminGrp = getAdminGroup(site); if ( adminGrp == null || !adminGrp.isMember(user) ){ return false; } JahiaUserManagerService ums = ServicesRegistry.getInstance() .getJahiaUserManagerService(); JahiaGroupManagerService gms = ServicesRegistry.getInstance() .getJahiaGroupManagerService(); if ( ums == null || gms == null ){ return false; } // list of user providers UserManagerProviderBean usrProviderBean = null; JahiaUser theUser = null; String userKey = null; Vector sites = null; int size = providers.size(); for ( int i=0 ; i<size ; i++ ){ usrProviderBean = (UserManagerProviderBean)providers.get(i); // delete users Vector v = usrProviderBean.getInstance().getUserList(site.getID()); int nbUsers = v.size(); JahiaSite siteItem = null; for ( int j=0 ; j<nbUsers ; j++ ){ userKey = (String)v.get(j); if ( !user.getName().equals(userKey) ){ theUser = usrProviderBean.getInstance().lookupUser(userKey); if ( theUser != null ){ // check if the user is admin on more than one site sites = gms.getAdminGrantedSites(theUser); if ( sites.size()<1 ){ JahiaConsole.println(CLASS_NAME,"site.deleteUsers delete user = " + userKey); usrProviderBean.getInstance().deleteUser(theUser); JahiaConsole.println(CLASS_NAME,"site.deleteUsers user " + userKey + " deleted "); } else if ( sites.size() == 1 ){ siteItem = (JahiaSite)sites.get(i); if ( siteItem.getID()==site.getID() ){ JahiaConsole.println(CLASS_NAME,"site.deleteUsers delete user = " + userKey); usrProviderBean.getInstance().deleteUser(theUser); JahiaConsole.println(CLASS_NAME,"site.deleteUsers user delete "); } } } } } // delete grps v = GroupsTools.getGroups(site.getID(),false); int nbGroups = v.size(); JahiaGroup grp = null; for ( int j=0 ; j<nbGroups ; j++ ){ grp = (JahiaGroup)v.get(i); JahiaConsole.println(CLASS_NAME,"site.deleteUsers delete group = " + grp ); gms.deleteGroup(grp); } } ServicesRegistry.getInstance().getJahiaSiteUserManagerService() .removeMembers(site.getID()); ServicesRegistry.getInstance().getJahiaSiteGroupManagerService() .removeGroups(site.getID()); return true; } //------------------------------------------------------------------------- /** * Purge site's filemanager * * @param (JahiaSite) the site * @param (JahiaUser) the user to check right * @return boolean false on error * @author NK */ public static boolean deleteFileRepository(JahiaUser user, JahiaSite site) throws JahiaException { if ( site == null || user == null ){ return false; } //JahiaConsole.println(CLASS_NAME+".deleteFileRepository","delete file repository of site " + site.getServerName() ); /* if ( !checkAdminAccess(user) ){ return false; } */ if ( !user.isAdminMember(0) ){ JahiaConsole.println(CLASS_NAME+".deleteFileRepository", "Hey user is not admin of this site !!!" ); return false; } JahiaFilemanagerService fms = ServicesRegistry.getInstance() .getJahiaFilemanagerService(); if ( fms == null ){ JahiaConsole.println(CLASS_NAME+".deleteFileRepository","Hey file manager service is null !?! " ); return false; } String fileRepositoryRootPath = fms.getFileRepositoryRootPath(); Filemanager fmng = fms.getFilemanagerByOwner(site.getID()); if ( fmng != null ){ String filemanagerFolder = fmng.getStoragePath(); fmng.deleteFolder(fmng.getRootFolder()); fms.deleteFilemanager(user,site.getID()); //FilemanagerDB.getInstance().delete(fmng.getFilemanagerID()); // delete the file repository StringBuffer buff = new StringBuffer(fileRepositoryRootPath); buff.append(File.separator); buff.append(filemanagerFolder); File f = new File(buff.toString()); JahiaConsole.println(CLASS_NAME,"delete file repository " + f.getAbsolutePath() ); JahiaTools.deleteFile(f); } JahiaConsole.println(CLASS_NAME+".deleteFileRepository","Hey file manager is null !?! " ); return true; } //-------------------------------------------------------------------------- /** * Create a web apps repository used to store new webapps for a site. * * @JahiaSite site for which to create the webapps folder * @return boolean false on error * @author NK */ private static boolean createSiteNewWebAppsFolder(JahiaSite site){ JahiaWebAppsDeployerService wads = ServicesRegistry .getInstance() .getJahiaWebAppsDeployerService(); if ( wads == null || site == null ){ return false; } String path = wads.getNewWebAppsPath(); if ( path == null ){ return false; } StringBuffer buff = new StringBuffer(path); buff.append(File.separator); buff.append(site.getSiteKey()); File f = new File(buff.toString() ); if ( !f.isDirectory() ){ return f.mkdirs(); } return true; } //-------------------------------------------------------------------------- /** * Start a file watcher to watch a site's new web apps folder * * @JahiaSite site for which to watch new webapps * @return boolean false on error * @author NK */ public static boolean startWebAppsObserver(JahiaSite site){ JahiaWebAppsDeployerService wads = ServicesRegistry .getInstance() .getJahiaWebAppsDeployerService(); if ( wads == null || site == null ){ return false; } StringBuffer buff = new StringBuffer(wads.getNewWebAppsPath()); buff.append(File.separator); buff.append(site.getSiteKey()); File f = new File(buff.toString()); boolean success = true; if ( !f.isDirectory() ){ // try to create it success = createSiteNewWebAppsFolder(site); } if ( success ){ // Hollis , should be loaded from site's settings long interval = 5000; boolean fileOnly = true; boolean checkDate = false; try { WebAppsObserver fobs = new WebAppsObserver ( site.getID(), wads.getNewWebAppsPath() +File.separator+site.getSiteKey(), checkDate, interval, fileOnly ); return true; } catch ( JahiaException je ){ JahiaConsole.println(CLASS_NAME+".startWebAppsObserver","exception with FilesObserver" + site.getSiteKey() ); } } return false; } //-------------------------------------------------------------------------- /** * Create a templates repository used to store new templates for a site. * * @JahiaSite site for which to create the templates folder * @return boolean false on error * @author NK */ private static boolean createSiteNewTemplatesFolder(JahiaSite site){ JahiaTemplatesDeployerService tds = ServicesRegistry .getInstance() .getJahiaTemplatesDeployerService(); if ( tds == null || site == null ){ return false; } String path = tds.getNewTemplatesPath(); if ( path == null ){ return false; } StringBuffer buff = new StringBuffer(path); buff.append(File.separator); buff.append(site.getSiteKey()); File f = new File(buff.toString() ); if ( !f.isDirectory() ){ return f.mkdirs(); } return true; } //-------------------------------------------------------------------------- /** * Start a file watcher to watch a site's new templates folder * * @JahiaSite site for which to create the templates folder * @return boolean false on error * @author NK */ public static boolean startTemplateObserver(JahiaSite site){ JahiaTemplatesDeployerService tds = ServicesRegistry .getInstance() .getJahiaTemplatesDeployerService(); if ( tds == null || site == null ){ return false; } StringBuffer buff = new StringBuffer(tds.getNewTemplatesPath()); buff.append(File.separator); buff.append(site.getSiteKey()); File f = new File(buff.toString()); boolean success = true; if ( !f.isDirectory() ){ // try to create it success = createSiteNewTemplatesFolder(site); } if ( success ){ // Hollis , should be loaded from site's settings long interval = 5000; boolean fileOnly = true; boolean checkDate = false; try { TemplatesObserver fobs = new TemplatesObserver( site.getID(), tds.getNewTemplatesPath() +File.separator+site.getSiteKey(), checkDate, interval, fileOnly ); return true; } catch ( JahiaException je ){ JahiaConsole.println(CLASS_NAME+".startTemplateObserver","exception with FilesObserver" + site.getSiteKey() ); } } return false; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -