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

📄 jahiasitetools.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        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 + -