From 1170417ceeb8c49a46cda522a38eaa71c9cae30c Mon Sep 17 00:00:00 2001 From: Derrell Lipman Date: Sat, 30 Dec 2006 05:09:59 +0000 Subject: r20414: Start to make SWAT usable by others. This is just a start... (This used to be commit 26a34037a7ca6fbd05c5a6f7c2d5973e34bc6918) --- .../source/class/qx/io/local/CookieApi.js | 139 +++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100755 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/local/CookieApi.js (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/local/CookieApi.js') diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/local/CookieApi.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/local/CookieApi.js new file mode 100755 index 0000000000..23d3c928a4 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/local/CookieApi.js @@ -0,0 +1,139 @@ +/* ************************************************************************ + + qooxdoo - the new era of web development + + http://qooxdoo.org + + Copyright: + 2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org + + License: + LGPL 2.1: http://www.gnu.org/licenses/lgpl.html + + Authors: + * Sebastian Werner (wpbasti) + * Andreas Ecker (ecker) + +************************************************************************ */ + +/* ************************************************************************ + + +************************************************************************ */ + +qx.OO.defineClass("qx.io.local.CookieApi", +{ + STR_EXPIRES : "expires", + STR_PATH : "path", + STR_DOMAIN : "domain", + STR_SECURE : "secure", + STR_DELDATA : "Thu, 01-Jan-1970 00:00:01 GMT" +}); + + + + + +/* +--------------------------------------------------------------------------- + USER APPLICATION METHODS +--------------------------------------------------------------------------- +*/ + +qx.Class.get = function(vName) +{ + var start = document.cookie.indexOf(vName + "="); + var len = start + vName.length + 1; + + if ((!start) && (vName != document.cookie.substring(0, vName.length))) { + return null; + } + + if (start == -1) { + return null; + } + + var end = document.cookie.indexOf(";", len); + + if (end == -1) { + end = document.cookie.length; + } + + return unescape(document.cookie.substring(len, end)); +} + +qx.Class.set = function(vName, vValue, vExpires, vPath, vDomain, vSecure) +{ + var today = new Date(); + today.setTime(today.getTime()); + + // Generate cookie + var vCookie = [ vName, "=", escape(vValue) ]; + + if (vExpires) + { + vCookie.push(";"); + vCookie.push(qx.io.local.CookieApi.STR_EXPIRES); + vCookie.push("="); + vCookie.push(new Date(today.getTime() + (vExpires * 1000 * 60 * 60 * 24)).toGMTString()); + } + + if (vPath) + { + vCookie.push(";"); + vCookie.push(qx.io.local.CookieApi.STR_PATH); + vCookie.push("="); + vCookie.push(vPath); + } + + if (vDomain) + { + vCookie.push(";"); + vCookie.push(qx.io.local.CookieApi.STR_DOMAIN); + vCookie.push("="); + vCookie.push(vDomain); + } + + if (vSecure) + { + vCookie.push(";"); + vCookie.push(qx.io.local.CookieApi.STR_SECURE); + } + + // Store cookie + document.cookie = vCookie.join(""); +} + +qx.Class.del = function(vName, vPath, vDomain) +{ + if (!qx.io.local.CookieApi.get(vName)) { + return; + } + + // Generate cookie + var vCookie = [ vName, "=" ]; + + if (vPath) + { + vCookie.push(";"); + vCookie.push(qx.io.local.CookieApi.STR_PATH); + vCookie.push("="); + vCookie.push(vPath); + } + + if (vDomain) + { + vCookie.push(";"); + vCookie.push(qx.io.local.CookieApi.STR_DOMAIN); + vCookie.push("="); + vCookie.push(vDomain); + } + + vCookie.push(";"); + vCookie.push(qx.io.local.CookieApi.STR_EXPIRES); + vCookie.push("="); + vCookie.push(qx.io.local.CookieApi.STR_DELDATA); + + // Store cookie + document.cookie = vCookie.join(""); +} -- cgit