mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-03 19:54:14 +00:00 
			
		
		
		
	Fixed error in login functions and prepared home controller
This commit is contained in:
		@@ -240,18 +240,43 @@ var ComunicWeb = {
 | 
				
			|||||||
            /**
 | 
					            /**
 | 
				
			||||||
             * Refresh the user login state
 | 
					             * Refresh the user login state
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            refreshLoginState: function(){},
 | 
					            refreshLoginState: function(afterLogin){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /**
 | 
					            /**
 | 
				
			||||||
             * Try to login user
 | 
					             * Try to login user
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            loginUser: function(usermail, userpassword, permanentLogin, afterLogin){},
 | 
					            loginUser: function(usermail, userpassword, permanentLogin, afterLogin){},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * Get user infos
 | 
					         * Get user infos
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        userInfos: {
 | 
					        userInfos: {
 | 
				
			||||||
            //TODO: implement
 | 
					            //TODO: implement
 | 
				
			||||||
        }
 | 
					        },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Pages functions
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    pages:{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * Home page
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        home: {
 | 
				
			||||||
 | 
					            /**
 | 
				
			||||||
 | 
					             * Common homes functions
 | 
				
			||||||
 | 
					             */
 | 
				
			||||||
 | 
					            home:{
 | 
				
			||||||
 | 
					                /**
 | 
				
			||||||
 | 
					                 * Open home page
 | 
				
			||||||
 | 
					                 */
 | 
				
			||||||
 | 
					                openHomePage: function(additionnalData, targetElement){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -24,6 +24,11 @@
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    ComunicWeb.common.langs.initLanguages();
 | 
					    ComunicWeb.common.langs.initLanguages();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * What to do after login refresh
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    var afterLoginRefresh = function(){
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * Open a page
 | 
					         * Open a page
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
@@ -32,6 +37,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        //Open a page
 | 
					        //Open a page
 | 
				
			||||||
        ComunicWeb.common.page.openPage(currentPage);
 | 
					        ComunicWeb.common.page.openPage(currentPage);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get login state
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    ComunicWeb.user.userLogin.refreshLoginState(afterLoginRefresh);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //End of init
 | 
					    //End of init
 | 
				
			||||||
    ComunicWeb.debug.logMessage("Application is ready !");
 | 
					    ComunicWeb.debug.logMessage("Application is ready !");
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										26
									
								
								assets/js/pages/home/home.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								assets/js/pages/home/home.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Common homes functions
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					ComunicWeb.pages.home.home = {
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Open home page
 | 
				
			||||||
 | 
					     * @param {Object} additionnalData Additionnal data passed in the method
 | 
				
			||||||
 | 
					     * @param {element} targetElement Where the template will be applied
 | 
				
			||||||
 | 
					     * @returns {Boolean} False if it fails
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    openHomePage: function(additionnalData, targetElement){
 | 
				
			||||||
 | 
					        //Check wether if user is logged in or not
 | 
				
			||||||
 | 
					        var userLoggedIn = ComunicWeb.user.userLogin.getUserLoginState();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Dev feature : Show result
 | 
				
			||||||
 | 
					        if(userLoggedIn){
 | 
				
			||||||
 | 
					            targetElement.appendChild(ComunicWeb.common.messages.createCalloutElem("", "User logged in !", "info"));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else{
 | 
				
			||||||
 | 
					            targetElement.appendChild(ComunicWeb.common.messages.createCalloutElem("", "User not logged in !", "warning"));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Everything seems to be OK
 | 
				
			||||||
 | 
					        return true;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -10,7 +10,7 @@ ComunicWeb.pagesList = {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    home: {
 | 
					    home: {
 | 
				
			||||||
        pageTitle: "Comunic, v2",
 | 
					        pageTitle: "Comunic, v2",
 | 
				
			||||||
 | 
					        methodHandler: "ComunicWeb.pages.home.home.openHomePage",
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,13 +42,13 @@ ComunicWeb.user.loginTokens = {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    checkLoginTokens: function(){
 | 
					    checkLoginTokens: function(){
 | 
				
			||||||
        //First, check in local storage
 | 
					        //First, check in local storage
 | 
				
			||||||
        if(localStorage.getItem("loginTokens") != "null"){
 | 
					        if(localStorage.getItem("loginTokens") != null){
 | 
				
			||||||
            //It is OK
 | 
					            //It is OK
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Check if we have to remove any thing in session storage
 | 
					        //Check if we have to remove any thing in session storage
 | 
				
			||||||
        if(sessionStorage.getItem("loginTokens") != "null"){
 | 
					        if(sessionStorage.getItem("loginTokens") != null){
 | 
				
			||||||
            //It is OK
 | 
					            //It is OK
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@ ComunicWeb.user.userLogin = {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getUserID: function(){
 | 
					    getUserID: function(){
 | 
				
			||||||
        //If user is logged in
 | 
					        //If user is logged in
 | 
				
			||||||
        if(this.getUserLoginState === true){
 | 
					        if(this.getUserLoginState() === true){
 | 
				
			||||||
            //Return user ID
 | 
					            //Return user ID
 | 
				
			||||||
            return this.__userID;
 | 
					            return this.__userID;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -59,6 +59,15 @@ ComunicWeb.user.userLogin = {
 | 
				
			|||||||
                //Set user ID to 0 (security purpose)
 | 
					                //Set user ID to 0 (security purpose)
 | 
				
			||||||
                ComunicWeb.user.userLogin.__userID = 0;
 | 
					                ComunicWeb.user.userLogin.__userID = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                //If error is 404, make user as logged out
 | 
				
			||||||
 | 
					                if(result.error.code == 401){
 | 
				
			||||||
 | 
					                    ComunicWeb.user.userLogin.__userLogin = false;
 | 
				
			||||||
 | 
					                    ComunicWeb.user.loginTokens.deleteLoginTokens();
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					                    //Refresh the page
 | 
				
			||||||
 | 
					                    location.href = document.location;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                //Perform next action
 | 
					                //Perform next action
 | 
				
			||||||
                afterGetCurrentUserID(0);
 | 
					                afterGetCurrentUserID(0);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -78,14 +87,21 @@ ComunicWeb.user.userLogin = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Refresh the user login state
 | 
					     * Refresh the user login state
 | 
				
			||||||
 | 
					     * 
 | 
				
			||||||
 | 
					     * @param {Function} afterRefresh Optionnal, what to do after refreshing login
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    refreshLoginState: function(){
 | 
					    refreshLoginState: function(afterRefresh){
 | 
				
			||||||
        //First, check if we have login tokens
 | 
					        //First, check if we have login tokens
 | 
				
			||||||
        if(ComunicWeb.user.loginTokens.checkLoginTokens() !== true){
 | 
					        if(ComunicWeb.user.loginTokens.checkLoginTokens() !== true){
 | 
				
			||||||
            //Specify the user isn't logged in
 | 
					            //Specify the user isn't logged in
 | 
				
			||||||
            this.__userLogin = false;
 | 
					            this.__userLogin = false;
 | 
				
			||||||
            this.__userID = 0;
 | 
					            this.__userID = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //If there is a next action, do it (even if user isn't logged in)
 | 
				
			||||||
 | 
					            if(afterRefresh){
 | 
				
			||||||
 | 
					                afterRefresh();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //User not logged in
 | 
					            //User not logged in
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -97,6 +113,11 @@ ComunicWeb.user.userLogin = {
 | 
				
			|||||||
                //We consider user is not logged in
 | 
					                //We consider user is not logged in
 | 
				
			||||||
                 ComunicWeb.user.userLogin.__userLogin = false;
 | 
					                 ComunicWeb.user.userLogin.__userLogin = false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //If there is a next action, do it
 | 
				
			||||||
 | 
					            if(afterRefresh){
 | 
				
			||||||
 | 
					                afterRefresh();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        this.getCurrentUserId(nextStep);
 | 
					        this.getCurrentUserId(nextStep);
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -126,6 +147,9 @@ ComunicWeb.user.userLogin = {
 | 
				
			|||||||
            if(result.success){
 | 
					            if(result.success){
 | 
				
			||||||
                loginstate = true;
 | 
					                loginstate = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                //Log
 | 
				
			||||||
 | 
					                ComunicWeb.debug.logMessage("User login " + usermail + " successful !");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                //Indicates user is logged in
 | 
					                //Indicates user is logged in
 | 
				
			||||||
                ComunicWeb.user.userLogin.__userLogin = true;
 | 
					                ComunicWeb.user.userLogin.__userLogin = true;
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
@@ -145,7 +169,43 @@ ComunicWeb.user.userLogin = {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Perform request
 | 
					        //Perform request
 | 
				
			||||||
        ComunicWeb.common.api.makeAPIrequest(apiURI, params, afterAPIrequest);
 | 
					        ComunicWeb.common.api.makeAPIrequest(apiURI, params, false, afterAPIrequest);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Logout user
 | 
				
			||||||
 | 
					     * 
 | 
				
			||||||
 | 
					     * @param {Function} afterLogout What to do once user is logged out
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    logoutUser: function(afterLogout){
 | 
				
			||||||
 | 
					        //Prepare and make an API request
 | 
				
			||||||
 | 
					        var apiURI = "user/disconnectUSER";
 | 
				
			||||||
 | 
					        var params = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //What to do after the request is completed
 | 
				
			||||||
 | 
					        var afterAPIrequest = function(result){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //Log
 | 
				
			||||||
 | 
					            ComunicWeb.debug.logMessage("Logout request on server terminated.");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //Perform next action (if specified)
 | 
				
			||||||
 | 
					            if(afterLogout){
 | 
				
			||||||
 | 
					                afterLogout();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Perform request
 | 
				
			||||||
 | 
					        ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, afterAPIrequest);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Destroy login tokens
 | 
				
			||||||
 | 
					        ComunicWeb.user.loginTokens.deleteLoginTokens();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Specify user is logged out
 | 
				
			||||||
 | 
					        this.__userID = 0;
 | 
				
			||||||
 | 
					        this.__userLogin = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Done !
 | 
				
			||||||
 | 
					        return 0;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -47,6 +47,9 @@ $config['JSfiles'] = array(
 | 
				
			|||||||
    "%PATH_ASSETS%js/user/loginTokens.js",
 | 
					    "%PATH_ASSETS%js/user/loginTokens.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/user/userLogin.js",
 | 
					    "%PATH_ASSETS%js/user/userLogin.js",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //Pages scripts
 | 
				
			||||||
 | 
					    "%PATH_ASSETS%js/pages/home/home.js",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //Init script
 | 
					    //Init script
 | 
				
			||||||
    "%PATH_ASSETS%js/init.js",
 | 
					    "%PATH_ASSETS%js/init.js",
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user