mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Added cache system
This commit is contained in:
		
							
								
								
									
										88
									
								
								assets/js/common/cacheManager.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								assets/js/common/cacheManager.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,88 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Global cache management system
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * @author Pierre HUBERT
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ComunicWeb.common.cacheManager = {
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * @var {Array} cachesArray An array that contains all the functions that can empty caches
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						__cachesCleaners: [],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * @var {Array} intervalsList A list of all created intervals
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						__intervalsList: [],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Register a new cache cleaner
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {Function} cacheCleaner The cache cleaner to register
 | 
				
			||||||
 | 
						 * @param {Boolean} persistant If it is set to true, the cache will have to be cleaned only on user logout
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						registerCacheCleaner: function(cacheCleaner, persistant){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Add the function to the list
 | 
				
			||||||
 | 
							this.__cachesCleaners.push([cacheCleaner, persistant]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Register a new interval
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {Interval} interval The interval to register
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						registerInterval: function(interval){
 | 
				
			||||||
 | 
							//Add the interval to the list
 | 
				
			||||||
 | 
							this.__intervalsList.push(interval);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Clean the caches
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {Boolean} allCaches Specify wether persistent caches has to be cleaned or not
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						cleanCaches: function(allCaches){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Log action
 | 
				
			||||||
 | 
							ComunicWeb.debug.logMessage("Empty all caches");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Process each cleaning function
 | 
				
			||||||
 | 
							for(i in this.__cachesCleaners){
 | 
				
			||||||
 | 
								if(allCaches || !this.__cachesCleaners[i][1])
 | 
				
			||||||
 | 
									eval(this.__cachesCleaners[i][0]+"()");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Unset all intervals
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						cleanIntervals: function(){
 | 
				
			||||||
 | 
							//Log action
 | 
				
			||||||
 | 
							ComunicWeb.debug.logMessage("Unset all intervals");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Process each cleaning function
 | 
				
			||||||
 | 
							for(i in this.__intervalsList){
 | 
				
			||||||
 | 
								//if(allCaches || !this.__intervalsList[i][1])
 | 
				
			||||||
 | 
									clearInterval(this.__intervalsList[i]);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -30,12 +30,17 @@ var ComunicWeb = {
 | 
				
			|||||||
			/**
 | 
								/**
 | 
				
			||||||
			 * Initializate the application
 | 
								 * Initializate the application
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			init: function(){},
 | 
								init: function(openPage){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/**
 | 
								/**
 | 
				
			||||||
			 * Restart the application
 | 
								 * Restart the application
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			restart: function(){},
 | 
								restart: function(){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								/**
 | 
				
			||||||
 | 
								 * Reset the application
 | 
				
			||||||
 | 
								 */
 | 
				
			||||||
 | 
								reset: function(complete, openPage){},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
@@ -48,6 +53,13 @@ var ComunicWeb = {
 | 
				
			|||||||
			makeAPIrequest: function(apiURI, params, requireLoginTokens, nextAction){},
 | 
								makeAPIrequest: function(apiURI, params, requireLoginTokens, nextAction){},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/**
 | 
				
			||||||
 | 
							 * Global cache management system
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							cacheManager:{
 | 
				
			||||||
 | 
								//TODO : implement
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Langs functions
 | 
							 * Langs functions
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
@@ -203,6 +215,11 @@ var ComunicWeb = {
 | 
				
			|||||||
			 */
 | 
								 */
 | 
				
			||||||
			getRequest: function(url, cache, GETnextAction){},
 | 
								getRequest: function(url, cache, GETnextAction){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								/**
 | 
				
			||||||
 | 
								 * Empty network cache
 | 
				
			||||||
 | 
								 */
 | 
				
			||||||
 | 
								emptyCache: function(){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/**
 | 
								/**
 | 
				
			||||||
			 * Update the status of the network
 | 
								 * Update the status of the network
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
@@ -372,6 +389,11 @@ var ComunicWeb = {
 | 
				
			|||||||
			 * Given user IDs (in an array) the function return their names in a string
 | 
								 * Given user IDs (in an array) the function return their names in a string
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			getNames: function(usersID, afterNames){},
 | 
								getNames: function(usersID, afterNames){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								/**
 | 
				
			||||||
 | 
								 * Empty users cache
 | 
				
			||||||
 | 
								 */
 | 
				
			||||||
 | 
								emptyCache: function(){},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -481,14 +503,14 @@ var ComunicWeb = {
 | 
				
			|||||||
			 * Friends list caching system
 | 
								 * Friends list caching system
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			list:{
 | 
								list:{
 | 
				
			||||||
 | 
									//TODO : implement
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/**
 | 
								/**
 | 
				
			||||||
 			 * Friends bar
 | 
					 			 * Friends bar
 | 
				
			||||||
			*/
 | 
								*/
 | 
				
			||||||
			bar:{
 | 
								bar:{
 | 
				
			||||||
 | 
									//TODO : implement
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -514,13 +536,22 @@ var ComunicWeb = {
 | 
				
			|||||||
			 * Conversations windows manager
 | 
								 * Conversations windows manager
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			windows:{
 | 
								windows:{
 | 
				
			||||||
 | 
									//TODO : implement
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/**
 | 
								/**
 | 
				
			||||||
			 * Interface between conversation UI and the API
 | 
								 * Interface between conversation UI and the API
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			interface:{},
 | 
								interface:{
 | 
				
			||||||
 | 
									//TODO : implement
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								/**
 | 
				
			||||||
 | 
								 * Opened conversations caching system
 | 
				
			||||||
 | 
								 */
 | 
				
			||||||
 | 
								cachingOpened:{
 | 
				
			||||||
 | 
									//TODO : implement
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -64,6 +64,18 @@ ComunicWeb.common.network = {
 | 
				
			|||||||
		xhrRequest.send(null);
 | 
							xhrRequest.send(null);
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Empty network cache
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						emptyCache: function(){
 | 
				
			||||||
 | 
							this.cache = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Update the status of the network
 | 
						 * Update the status of the network
 | 
				
			||||||
	 * 
 | 
						 * 
 | 
				
			||||||
@@ -102,5 +114,5 @@ ComunicWeb.common.network = {
 | 
				
			|||||||
			//Make sure the error message is visible on the screen
 | 
								//Make sure the error message is visible on the screen
 | 
				
			||||||
			byId("networkErrorMessage").style.display = "block";
 | 
								byId("networkErrorMessage").style.display = "block";
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
@@ -47,7 +47,7 @@ ComunicWeb.common.page = {
 | 
				
			|||||||
        this.emptyPage();
 | 
					        this.emptyPage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Log message
 | 
					        //Log message
 | 
				
			||||||
        ComunicWeb.debug.logMessage("Display a wait splash screen the screen.");
 | 
					        ComunicWeb.debug.logMessage("Display a wait splash screen on the screen.");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Create message element (if required)
 | 
					        //Create message element (if required)
 | 
				
			||||||
        if(message){
 | 
					        if(message){
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,9 +8,10 @@ ComunicWeb.common.system = {
 | 
				
			|||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Initializate the application
 | 
						 * Initializate the application
 | 
				
			||||||
	 * 
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {String} Specify a page to open
 | 
				
			||||||
	 * @return {Boolean} True for a success
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	init: function(){
 | 
						init: function(openPage){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Display Comunic logo
 | 
							//Display Comunic logo
 | 
				
			||||||
		ComunicWeb.debug.displayComunicLogo();
 | 
							ComunicWeb.debug.displayComunicLogo();
 | 
				
			||||||
@@ -30,7 +31,7 @@ ComunicWeb.common.system = {
 | 
				
			|||||||
		ComunicWeb.common.page.emptyPage();
 | 
							ComunicWeb.common.page.emptyPage();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		//Show a wait splash screen
 | 
							//Show a wait splash screen
 | 
				
			||||||
		ComunicWeb.common.page.showWaitSplashScreen();
 | 
							ComunicWeb.common.page.showWaitSplashScreen("Starting up...");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Language initator
 | 
							 * Language initator
 | 
				
			||||||
@@ -45,11 +46,16 @@ ComunicWeb.common.system = {
 | 
				
			|||||||
			/**
 | 
								/**
 | 
				
			||||||
			 * Open a page
 | 
								 * Open a page
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
 | 
								if(!openPage){
 | 
				
			||||||
				//Get current page URI
 | 
									//Get current page URI
 | 
				
			||||||
				var currentPage = ComunicWeb.common.url.getCurrentWebsiteURL();
 | 
									var currentPage = ComunicWeb.common.url.getCurrentWebsiteURL();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				//Open a page
 | 
									//Open a page
 | 
				
			||||||
				ComunicWeb.common.page.openPage(currentPage);
 | 
									ComunicWeb.common.page.openPage(currentPage);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									//Open specified page
 | 
				
			||||||
 | 
									ComunicWeb.common.page.openPage(openPage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//End of init
 | 
								//End of init
 | 
				
			||||||
			ComunicWeb.debug.logMessage("Application is ready !");
 | 
								ComunicWeb.debug.logMessage("Application is ready !");
 | 
				
			||||||
@@ -66,8 +72,9 @@ ComunicWeb.common.system = {
 | 
				
			|||||||
		var autoRefresh = setInterval((function(){
 | 
							var autoRefresh = setInterval((function(){
 | 
				
			||||||
			ComunicWeb.user.userLogin.refreshLoginState();
 | 
								ComunicWeb.user.userLogin.refreshLoginState();
 | 
				
			||||||
		}), 20000);
 | 
							}), 20000);
 | 
				
			||||||
 | 
							ComunicWeb.common.cacheManager.registerInterval(autoRefresh);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Sucess
 | 
							//Success
 | 
				
			||||||
		return true;
 | 
							return true;
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -82,5 +89,29 @@ ComunicWeb.common.system = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		//Reload the page
 | 
							//Reload the page
 | 
				
			||||||
		location.href = document.location;
 | 
							location.href = document.location;
 | 
				
			||||||
	}
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Reset the application
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {Boolean} complete Specify wether the cache cleaning has to be complete or not (for logout)
 | 
				
			||||||
 | 
						 * @param {String} openPage Specify a page to open once the application is restarted
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						reset: function(complete, openPage){
 | 
				
			||||||
 | 
							//Show a wait splashscreen message
 | 
				
			||||||
 | 
							ComunicWeb.common.page.showWaitSplashScreen("Reset the application in progress...");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Clear intervals
 | 
				
			||||||
 | 
							ComunicWeb.common.cacheManager.cleanIntervals();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Clean caches
 | 
				
			||||||
 | 
							ComunicWeb.common.cacheManager.cleanCaches(complete);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Init the page again
 | 
				
			||||||
 | 
							this.init(openPage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
							
								
								
									
										41
									
								
								assets/js/components/conversations/cachingOpened.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								assets/js/components/conversations/cachingOpened.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Opened conversations caching system
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * @author Pierre HUBERT
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ComunicWeb.components.conversations.cachingOpened = {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						__varName: "opened-conversations-ids",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Add a new conversation ID in the list
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {Integer} conversationID The ID of the conversation to add
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Get all conversations ID in the list
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @return {Array} An array with all opened conversations ID
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Empty the storage
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						emptyStorage: function(){
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Remove variables for session storage
 | 
				
			||||||
 | 
							sessionStorage.removeItem(this.__varName);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Register cache cleaner
 | 
				
			||||||
 | 
					ComunicWeb.common.cacheManager.registerCacheCleaner("ComunicWeb.components.conversations.cachingOpened.emptyStorage", true);
 | 
				
			||||||
@@ -182,7 +182,9 @@ ComunicWeb.components.conversations.list = {
 | 
				
			|||||||
			infos.listBox.rootElem.remove();
 | 
								infos.listBox.rootElem.remove();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//Open the conversation (under construction)
 | 
								//Open the conversation (under construction)
 | 
				
			||||||
			console.log("Open conversation ID: " + response.conversationID);
 | 
								ComunicWeb.components.conversations.manager.openConversation({
 | 
				
			||||||
 | 
									conversationID: response.conversationID
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -255,8 +257,10 @@ ComunicWeb.components.conversations.list = {
 | 
				
			|||||||
			//Remove conversations list
 | 
								//Remove conversations list
 | 
				
			||||||
			listBox.rootElem.remove();
 | 
								listBox.rootElem.remove();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//Show conversation
 | 
								//Open conversation
 | 
				
			||||||
			console.log("Open conversation ID: " + conversationInfos.ID);
 | 
								ComunicWeb.components.conversations.manager.openConversation({
 | 
				
			||||||
 | 
									conversationID: conversationInfos.ID
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Add conversations last activity
 | 
							//Add conversations last activity
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -79,4 +79,34 @@ ComunicWeb.components.conversations.manager = {
 | 
				
			|||||||
			ComunicWeb.components.conversations.list.display(this);
 | 
								ComunicWeb.components.conversations.list.display(this);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Open a conversation accordingly to specified informations
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {Object} infos Informations about the conversation to open
 | 
				
			||||||
 | 
						 * @info {Integer} conversationID The ID of the conversation to open
 | 
				
			||||||
 | 
						 * @return {Boolean} True or false depending of the success of the operation
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						openConversation: function(infos){
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//We check if a conversation ID was specified or not
 | 
				
			||||||
 | 
							if(infos.conversationID){
 | 
				
			||||||
 | 
								ComunicWeb.debug.logMessage("Open a conversation based on its ID");
 | 
				
			||||||
 | 
								var conversationID = infos.conversationID;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else {
 | 
				
			||||||
 | 
								//It is an error
 | 
				
			||||||
 | 
								ComunicWeb.debug.logMessage("Don't know which conversation to open !");
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Log action
 | 
				
			||||||
 | 
							ComunicWeb.debug.logMessage("Opening conversation " + conversationID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Save conversation ID in session storage
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -62,8 +62,9 @@ ComunicWeb.components.friends.bar = {
 | 
				
			|||||||
		this.refresh(listFriendsElem);
 | 
							this.refresh(listFriendsElem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Remove previously existing interval
 | 
							//Remove previously existing interval
 | 
				
			||||||
		if(this.refreshInterval)
 | 
							if(this.refreshInterval){
 | 
				
			||||||
			clearInterval(this.refreshInterval);
 | 
								clearInterval(this.refreshInterval);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Make the friend bar automaticaly refreshed
 | 
							//Make the friend bar automaticaly refreshed
 | 
				
			||||||
		this.refreshInterval = setInterval(function(){
 | 
							this.refreshInterval = setInterval(function(){
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -89,4 +89,21 @@ ComunicWeb.components.friends.list = {
 | 
				
			|||||||
		//Success
 | 
							//Success
 | 
				
			||||||
		return true;
 | 
							return true;
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Empty friends cache list
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						emptyCache: function(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Empty cache
 | 
				
			||||||
 | 
							this.__list = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Register cache cleaner
 | 
				
			||||||
 | 
					ComunicWeb.common.cacheManager.registerCacheCleaner("ComunicWeb.components.friends.list.emptyCache");
 | 
				
			||||||
@@ -20,11 +20,8 @@ ComunicWeb.pages.logout = {
 | 
				
			|||||||
        //Perform logout
 | 
					        //Perform logout
 | 
				
			||||||
        ComunicWeb.user.userLogin.logoutUser();
 | 
					        ComunicWeb.user.userLogin.logoutUser();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Show a success notification
 | 
					        //Clean all caches
 | 
				
			||||||
        ComunicWeb.common.notificationSystem.showNotification("Good bye, you successfully terminated your session !", "success", 3);
 | 
					        ComunicWeb.common.system.reset(true, "home");
 | 
				
			||||||
 | 
					 | 
				
			||||||
        //Open login page
 | 
					 | 
				
			||||||
        ComunicWeb.common.page.openPage("home");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Remove overlay
 | 
					        //Remove overlay
 | 
				
			||||||
        screenOverlay.remove();
 | 
					        screenOverlay.remove();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -200,4 +200,19 @@ ComunicWeb.user.userInfos = {
 | 
				
			|||||||
			afterNames(usersName);
 | 
								afterNames(usersName);
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Empty users cache
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						emptyCache: function(){
 | 
				
			||||||
 | 
							this.usersInfos = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Register cache cleaner
 | 
				
			||||||
 | 
					ComunicWeb.common.cacheManager.registerCacheCleaner("ComunicWeb.user.userInfos.emptyCache");
 | 
				
			||||||
@@ -56,6 +56,7 @@ $config['JSfiles'] = array(
 | 
				
			|||||||
    "%PATH_ASSETS%js/common/functionsSchema.js",
 | 
					    "%PATH_ASSETS%js/common/functionsSchema.js",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //App scripts
 | 
					    //App scripts
 | 
				
			||||||
 | 
					    "%PATH_ASSETS%js/common/cacheManager.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/common/network.js",
 | 
					    "%PATH_ASSETS%js/common/network.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/pagesList.js",
 | 
					    "%PATH_ASSETS%js/pagesList.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/common/api.js",
 | 
					    "%PATH_ASSETS%js/common/api.js",
 | 
				
			||||||
@@ -84,6 +85,7 @@ $config['JSfiles'] = array(
 | 
				
			|||||||
    "%PATH_ASSETS%js/components/conversations/list.js",
 | 
					    "%PATH_ASSETS%js/components/conversations/list.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/components/conversations/windows.js",
 | 
					    "%PATH_ASSETS%js/components/conversations/windows.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/components/conversations/interface.js",
 | 
					    "%PATH_ASSETS%js/components/conversations/interface.js",
 | 
				
			||||||
 | 
					    "%PATH_ASSETS%js/components/conversations/cachingOpened.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/components/userSelect/userSelect.js",
 | 
					    "%PATH_ASSETS%js/components/userSelect/userSelect.js",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //User scripts
 | 
					    //User scripts
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user