0byt3m1n1
Path:
/
data
/
applications
/
aps
/
tikiwiki
/
3.2.0-5
/
standard
/
htdocs
/
lib
/
mootools
/
src
/
Remote
/
[
Home
]
File: Cookie.js
/* Script: Cookie.js A cookie reader/creator Credits: based on the functions by Peter-Paul Koch (http://quirksmode.org) */ /* Class: Cookie Class for creating, getting, and removing cookies. */ var Cookie = new Abstract({ options: { domain: false, path: false, duration: false, secure: false }, /* Property: set Sets a cookie in the browser. Arguments: key - the key (name) for the cookie value - the value to set, cannot contain semicolons options - an object representing the Cookie options. See Options below. Default values are stored in Cookie.options. Options: domain - the domain the Cookie belongs to. If you want to share the cookie with pages located on a different domain, you have to set this value. Defaults to the current domain. path - the path the Cookie belongs to. If you want to share the cookie with pages located in a different path, you have to set this value, for example to "/" to share the cookie with all pages on the domain. Defaults to the current path. duration - the duration of the Cookie before it expires, in days. If set to false or 0, the cookie will be a session cookie that expires when the browser is closed. This is default. secure - Stored cookie information can be accessed only from a secure environment. Returns: An object with the options, the key and the value. You can give it as first parameter to Cookie.remove. Example: >Cookie.set('username', 'Harald'); // session cookie (duration is false), or ... >Cookie.set('username', 'JackBauer', {duration: 1}); // save this for 1 day */ set: function(key, value, options){ options = $merge(this.options, options); value = encodeURIComponent(value); if (options.domain) value += '; domain=' + options.domain; if (options.path) value += '; path=' + options.path; if (options.duration){ var date = new Date(); date.setTime(date.getTime() + options.duration * 24 * 60 * 60 * 1000); value += '; expires=' + date.toGMTString(); } if (options.secure) value += '; secure'; document.cookie = key + '=' + value; return $extend(options, {'key': key, 'value': value}); }, /* Property: get Gets the value of a cookie. Arguments: key - the name of the cookie you wish to retrieve. Returns: The cookie string value, or false if not found. Example: >Cookie.get("username") //returns JackBauer */ get: function(key){ var value = document.cookie.match('(?:^|;)\\s*' + key.escapeRegExp() + '=([^;]*)'); return value ? decodeURIComponent(value[1]) : false; }, /* Property: remove Removes a cookie from the browser. Arguments: cookie - the name of the cookie to remove or a previous cookie (for domains) options - optional. you can also pass the domain and path here. Same as options in <Cookie.set> Examples: >Cookie.remove('username') //bye-bye JackBauer, cya in 24 hours > >var myCookie = Cookie.set('username', 'Aaron', {domain: 'mootools.net'}); // Cookie.set returns an object with all values need to remove the cookie >Cookie.remove(myCookie); */ remove: function(cookie, options){ if ($type(cookie) == 'object') this.set(cookie.key, '', $merge(cookie, {duration: -1})); else this.set(cookie, '', $merge(options, {duration: -1})); } });