[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 /******************************************************* 2 COOKIE FUNCTIONALITY 3 Based on "Night of the Living Cookie" by Bill Dortch 4 (c) 2003, Ryan Parman 5 http://www.skyzyx.com 6 Distributed according to SkyGPL 2.1, http://www.skyzyx.com/license/ 7 *******************************************************/ 8 function cookie(name, value, expires, path, domain, secure) 9 { 10 // Passed Values 11 this.name=name; 12 this.value=value; 13 this.expires=expires; 14 this.path=path; 15 this.domain=domain; 16 this.secure=secure; 17 18 // Read cookie 19 this.read=function() 20 { 21 // To allow for faster parsing 22 var ck=document.cookie; 23 24 var arg = this.name + "="; 25 var alen = arg.length; 26 var clen = ck.length; 27 var i = 0; 28 29 while (i < clen) 30 { 31 var j = i + alen; 32 if (ck.substring(i, j) == arg) 33 { 34 var endstr = ck.indexOf (";", j); 35 if (endstr == -1) endstr = ck.length; 36 return unescape(ck.substring(j, endstr)); 37 } 38 i = ck.indexOf(" ", i) + 1; 39 if (i == 0) break; 40 } 41 return null; 42 }; 43 44 // Set cookie 45 this.set=function() 46 { 47 // Store initial value of "this.expires" for re-initialization. 48 expStore=this.expires; 49 50 // Set time to absolute zero. 51 exp = new Date(); 52 base = new Date(0); 53 skew = base.getTime(); 54 if (skew > 0) exp.setTime (exp.getTime() - skew); 55 exp.setTime(exp.getTime() + (this.expires*24*60*60*1000)); 56 this.expires=exp; 57 58 document.cookie = this.name + "=" + escape (this.value) + 59 ((this.expires) ? "; expires=" + this.expires.toGMTString() : "") + 60 ((this.path) ? "; path=" + this.path : "") + 61 ((this.domain) ? "; domain=" + this.domain : "") + 62 ((this.secure) ? "; secure" : ""); 63 64 // Re-initialize 65 this.expires=expStore; 66 }; 67 68 // Kill cookie 69 this.kill=function() 70 { 71 document.cookie = this.name + "=" + 72 ((this.path) ? "; path=" + this.path : "") + 73 ((this.domain) ? "; domain=" + this.domain : "") + 74 "; expires=Thu, 01-Jan-70 00:00:01 GMT"; 75 }; 76 77 // Change cookie settings. 78 this.changeName=function(chName) { this.kill(); this.name=chName; this.set(); }; 79 this.changeVal=function(chVal) { this.kill(); this.value=chVal; this.set(); }; 80 this.changeExp=function(chExp) { this.kill(); this.expires=chExp; this.set(); }; 81 this.changePath=function(chPath) { this.kill(); this.path=chPath; this.set(); }; 82 this.changeDomain=function(chDom) { this.kill(); this.domain=chDom; this.set(); }; 83 this.changeSecurity=function(chSec) { this.kill(); this.secure=chSec; this.set(); } 84 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |