Blog

  • Save and get data from Cookie

    Hello guys ,In this blog I tell you how to save data that are come from form from custom class and also give time when to expire cookie data.And also get data for validation each time when user login between cookie expire time.Step to Save and get data from Cookie is given below:-

    first of all I show you my form -:.

    Fill the form press ok.

     

     

    Code for save and validate form is given below-:

    Validation of the form

    
    MyClass2.prototype.validateInputs = function validateInputs()
    {
            var widgets = this.widgets,
            userNameInput = widgets.userNameInput;
            if (userNameInput.getData() === '') {
            statusMessage.add('Email is a required field. Please go to     http://www.oodlestechnologies.com/blogs to register.');
    
    //That is a alert type message 
    
            this.setInputFocus(userNameInput); 
    //our manual function for the focus on field
    
            return false;
        }; 
        var passwordInput = widgets.passwordInput;
        if (passwordInput.getData() === '') {
            statusMessage.add('Password is a required field. Go to http://www.oodlestechnologies.com/blogs to register or set new password.');
    
    //That is a alert type message 
    
            this.setInputFocus(passwordInput); 
    //our manual function for the focus on field
    
            return false;
        }  else if (passwordInput.getData().length<6) {  
            statusMessage.add('Password must have 6 or more characters, contain a number and is case sensitive.'); 
    
     //That is a alert type message 
    
            this.setInputFocus(passwordInput);  
    //our manual function for the focus on field
    
            return false;  
        };  
         return true;
    };
    

     

    Through getData(){inbuilt function} method we get the value from form that you filled

     

    Code for the setInutFocus() function

     

     

    
    MyClass2.prototype.setInputFocus = function setInputFocus(newInput)
    {
        var widgets = this.widgets,
            oldInput = this._lastFocusedInput;
        
        if (newInput === oldInput) return;
        
        if (oldInput) {
            oldInput.setFocus(false);//inbuilt function
            this._lastFocusedInput = null;
        }
        
        newInput.setFocus(true);
        this._lastFocusedInput = newInput;
    };
    

     

     

    Check whethere it is new user and old

     

    
    MyClass2.prototype.processLogin = function processLogin(urlForExtendedInformation, type, pass) {
    	var status;
    	var extendedData;
    	var xhr = XMLHttpRequest();
    
    //create an xml parsing object from server
    
    	if (urlForExtendedInformation == "http://www.oodlestechnologies.com/blogs") {
    		xhr.open("POST", urlForExtendedInformation, false);
    
    //take or put data as post method
    
    		xhr.setRequestHeader("Content-Length", 0);
    
    //set the header of the request that you made
    
    	} else
    		xhr.open("GET", urlForExtendedInformation, false);
    	if (type == "secure") {
    		pass = Base64.encode(pass);
    
    //our manual func. for encoding password(optional)
    
    		NGM.trace("password is------" + pass);
    
    //That is used for the make log or bugging
    
    		xhr.setRequestHeader("Authorization", "Basic " + pass);
    		NGM.trace("Request header set");
    	}
    	            xhr.onreadystatechange = function() {
    		NGM.trace("xhr.readyState " + xhr.readyState);
    		if (xhr.readyState != 4){
    			return;
    		}
    		extendedData = xhr.responseObject;
    		status = xhr.status;
    //it return the status of the page found or not
    
    		NGM.trace("xhr.statusText " + xhr.statusText);
    		xhr = null;
    	};
    	try {
    		xhr.send(null);
    	} catch(e) {
    		NGM.trace("Request Failed");
    	}
    	if (status == 200){
    		return extendedData;
    	}
    };
    

    xhr.open() function ==>open the page according to url with method type xhr.status;==>it return the status of the page found or not

     

    code for encoding pass

     

    
     var Base64 = {
    	// private property
    	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    	// public method for encoding
    	encode : function (input) {
    		var output = "";
    		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
    		var i = 0;
    		input = Base64._utf8_encode(input);
    		while (i < input.length) {
    			chr1 = input.charCodeAt(i++);
    			chr2 = input.charCodeAt(i++);
    			chr3 = input.charCodeAt(i++);
    			enc1 = chr1 >> 2;
    			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
    			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
    			enc4 = chr3 & 63;
     			if (isNaN(chr2)) {
    				enc3 = enc4 = 64;
    			} else if (isNaN(chr3)) {
    				enc4 = 64;
    			}
     			output = output +
    			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
    			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
    		}
    		return output;
    	},
    
     // private method for UTF-8 encoding
    	_utf8_encode : function (string) {
    		string = string.replace(/\n\r/g,"\n");
    		var utftext = "";
    		for (var n = 0; n < string.length; n++) {
    			var c = string.charCodeAt(n);
     			if (c < 128) {
    				utftext += String.fromCharCode(c);
    			}
    			else if((c > 127) && (c < 2048)) {
    				utftext += String.fromCharCode((c >> 6) | 192);
    				utftext += String.fromCharCode((c & 63) | 128);
    			}
    			else {
    				utftext += String.fromCharCode((c >> 12) | 224);
    				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
    				utftext += String.fromCharCode((c & 63) | 128);
    			}
     
    		}
     
    		return utftext;
    	},
    };
    

     

    Above code first encode the string after that another function decoding the encode code .It uses own logic to encode the string

    Save in Cookie

                                         this.validateInputs();
    			 if(this.validateInputs()==true){
    		             var url="http://www.oodlestechnologies.com/blogs";//as eg.
    			var widgets = this.widgets;					
    			var password=widgets.passwordInput.getData();
    			var username=widgets.userNameInput.getData();
    			var cookieExpireDate = new Date();
                cookieExpireDate.setMonth(cookieExpireDate.getMonth() + 12);
    
    //Get the month through new Date(). Class increase the month by the 12
              
    			
    var userAccountdetail=this.processLogin(url,"secure",username+":"+password);
    			var userAccountdetail=this.processLogin(url,"secure",username+":"+password);
    
    //check it is register user or not
    
    			if(userAccountdetail==null)
    			 statusMessage.add("Email or password is incorrect. For help or to register go to http://saffdemo.cloudapp.net");
    			 else{
    			var firstName=userAccountdetail.getElementsByTagName("FirstName")[0].firstChild.nodeValue;
    
    //here it get the value by the node name 
    
    			var lastName=userAccountdetail.getElementsByTagName("LastName")[0].firstChild.nodeValue;
    
    //here it get the value by the node name 
    
    			var email=userAccountdetail.getElementsByTagName("Email")[0].firstChild.nodeValue;
    			NGM.trace("firstName " + firstName);
    			

    document.cookie="email="+email+",password="+password+"; expires="+ cookieExpireDate.toGMTString() + ";"; //line to save data in cookie statusMessage.add("Hello "+firstName); this.formClose("formClose"); //we can pass any String } }

     

    Get Data from Cookie

    
    function getCookie(c_name) { 
    
    //parameter to get value from cookie that you pass 
    		var i, x, y, ARRcookies = document.cookie.split(",");
    
    //all value in the cookie are seperated by (,)comma
    
    		for ( i = 0; i < ARRcookies.length; i++) {
    		if (ARRcookies[i].search("email") != -1) {
    			x = ARRcookies[0].substr(ARRcookies[0].lastIndexOf("=") + 1);
    					}
    		if (ARRcookies[ARRcookies.length - 1].indexOf(";") != -1){
    			NGM.trace("Inside if");
    			y = ARRcookies[ARRcookies.length - 1].substr(ARRcookies[ARRcookies.length - 1].indexOf("=") + 1, ARRcookies[ARRcookies.length - 1].indexOf(";") - 9);
    					}
    		else{
    			y = ARRcookies[ARRcookies.length - 1].substr(ARRcookies[ARRcookies.length - 1].indexOf("=") + 1);
    		}
    			
    		if (c_name == "email")
    			return unescape(x);
    		else
    			return unescape(y);
    	}
    }
    

     

    document.cookie.split(",")==> get the data which saved in the cookie and split by the comma operator ARRcookies[i].search("email") != -1 ===>return -1 if email is not found in the array The deprecated unescape() method computes a new string in which hexadecimal escape sequences are replaced with the character that it represents

    Thanks Deepak Gupta

Tags: netgem , iptv