Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojo.cookie"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo._hasResource["dojo.cookie"] = true;
dojo.provide("dojo.cookie");
/*=====
dojo.__cookieProps = function(kwArgs){
// expires: Date|Number?
// If a number, seen as the number of days from today. If a date, the
// date past which the cookie is invalid. If expires is in the past,
// the cookie will be deleted If expires is left out or is 0, the
// cookie will expire when the browser closes.
// path: String?
// The path to use for the cookie.
// domain: String?
// The domain to use for the cookie.
// secure: Boolean?
// Whether to only send the cookie on secure connections
}
=====*/
dojo.cookie = function(/*String*/name, /*String?*/value, /*dojo.__cookieProps?*/props){
// summary:
// Get or set a cookie.
// description:
// If you pass in one argument, the the value of the cookie is returned
//
// If you pass in two arguments, the cookie value is set to the second
// argument.
//
// If you pass in three arguments, the cookie value is set to the
// second argument, and the options on the third argument are used for
// extended properties on the cookie
// name:
// The name of the cookie
// value:
// Optional. The value for the cookie.
// props:
// Optional additional properties for the cookie
// example:
// set a cookie with the JSON-serialized contents of an object which
// will expire 5 days from now:
// | dojo.cookie("configObj", dojo.toJson(config), { expires: 5 });
//
// example:
// de-serialize a cookie back into a JavaScript object:
// | var config = dojo.fromJson(dojo.cookie("configObj"));
//
// example:
// delete a cookie:
// | dojo.cookie("configObj", null);
var c = document.cookie;
if(arguments.length == 1){
var idx = c.lastIndexOf(name+'=');
if(idx == -1){ return null; }
var start = idx+name.length+1;
var end = c.indexOf(';', idx+name.length+1);
if(end == -1){ end = c.length; }
return decodeURIComponent(c.substring(start, end));
}else{
props = props || {};
value = encodeURIComponent(value);
if(typeof(props.expires) == "number"){
var d = new Date();
d.setTime(d.getTime()+(props.expires*24*60*60*1000));
props.expires = d;
}
document.cookie = name + "=" + value
+ (props.expires ? "; expires=" + props.expires.toUTCString() : "")
+ (props.path ? "; path=" + props.path : "")
+ (props.domain ? "; domain=" + props.domain : "")
+ (props.secure ? "; secure" : "");
return null;
}
};
}