-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #115 from asfadmin/test
Test to Prod for DS-5372
- Loading branch information
Showing
3 changed files
with
91 additions
and
122 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,83 +1,90 @@ | ||
let Cookie = | ||
{ | ||
set: function(name, value, days) | ||
{ | ||
let domain, domainParts, date, expires, host; | ||
|
||
if (days) | ||
{ | ||
date = new Date(); | ||
date.setTime(date.getTime()+(days*24*60*60*1000)); | ||
expires = "; expires="+date.toGMTString(); | ||
} | ||
else | ||
{ | ||
expires = ""; | ||
} | ||
|
||
host = location.host; | ||
if (host.split('.').length === 1) | ||
{ | ||
// no "." in a domain - it's localhost or something similar | ||
document.cookie = name+"="+value+expires+"; path=/"; | ||
} | ||
else | ||
{ | ||
// Remember the cookie on all subdomains. | ||
// | ||
// Start with trying to set cookie to the top domain. | ||
// (example: if user is on foo.com, try to set | ||
// cookie to domain ".com") | ||
// | ||
// If the cookie will not be set, it means ".com" | ||
// is a top level domain and we need to | ||
// set the cookie to ".foo.com" | ||
domainParts = host.split('.'); | ||
domainParts.shift(); | ||
domain = '.'+domainParts.join('.'); | ||
|
||
document.cookie = name+"="+value+expires+"; path=/; domain="+domain; | ||
|
||
// check if cookie was successfuly set to the given domain | ||
// (otherwise it was a Top-Level Domain) | ||
if (Cookie.get(name) == null || Cookie.get(name) != value) | ||
{ | ||
// append "." to current domain | ||
domain = '.'+host; | ||
document.cookie = name+"="+value+expires+"; path=/; domain="+domain; | ||
} | ||
} | ||
}, | ||
|
||
get: function(name) | ||
{ | ||
const nameEQ = name + "="; | ||
const ca = document.cookie.split(';'); | ||
for (let i=0; i < ca.length; i++) | ||
{ | ||
let c = ca[i]; | ||
while (c.charAt(0)==' ') | ||
{ | ||
c = c.substring(1,c.length); | ||
} | ||
|
||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); | ||
} | ||
return null; | ||
}, | ||
|
||
erase: function(name) | ||
{ | ||
Cookie.set(name, '', -1); | ||
} | ||
}; | ||
|
||
let stats = Cookie.get("cookieconsent_status") | ||
console.log("Cookie consent status: " + stats); | ||
|
||
if (stats === "dismiss") { | ||
console.log("User dismissed the notification"); | ||
} else { | ||
Cookie.set("cookieconsent_status", "dismiss", 1); | ||
console.log("set the cookieconsent_status to dismiss"); | ||
} | ||
// This entire file will be remarked out. It is only here for reference. | ||
// This is the code that is used to set the cookie for the cookie consent banner, using the idea | ||
// that we will maintain a cross-subdomain cookie for the user's consent status. | ||
// For now, this idea is shelved because the effort to change Vertex cookie logic and the effort | ||
// needed to change the MkDocs Material templates use of a non-standard cookie that really isn't a "cookie". | ||
// | ||
// https://dev.to/text/setting-cookies-to-subdomains-in-javascript-1md9 | ||
// let Cookie = | ||
// { | ||
// set: function(name, value, days) | ||
// { | ||
// let domain, domainParts, date, expires, host; | ||
// | ||
// if (days) | ||
// { | ||
// date = new Date(); | ||
// date.setTime(date.getTime()+(days*24*60*60*1000)); | ||
// expires = "; expires="+date.toGMTString(); | ||
// } | ||
// else | ||
// { | ||
// expires = ""; | ||
// } | ||
// | ||
// host = location.host; | ||
// if (host.split('.').length === 1) | ||
// { | ||
// // no "." in a domain - it's localhost or something similar | ||
// document.cookie = name+"="+value+expires+"; path=/"; | ||
// } | ||
// else | ||
// { | ||
// // Remember the cookie on all subdomains. | ||
// // | ||
// // Start with trying to set cookie to the top domain. | ||
// // (example: if user is on foo.com, try to set | ||
// // cookie to domain ".com") | ||
// // | ||
// // If the cookie will not be set, it means ".com" | ||
// // is a top level domain and we need to | ||
// // set the cookie to ".foo.com" | ||
// domainParts = host.split('.'); | ||
// domainParts.shift(); | ||
// domain = '.'+domainParts.join('.'); | ||
// | ||
// document.cookie = name+"="+value+expires+"; path=/; domain="+domain; | ||
// | ||
// // check if cookie was successfuly set to the given domain | ||
// // (otherwise it was a Top-Level Domain) | ||
// if (Cookie.get(name) == null || Cookie.get(name) != value) | ||
// { | ||
// // append "." to current domain | ||
// domain = '.'+host; | ||
// document.cookie = name+"="+value+expires+"; path=/; domain="+domain; | ||
// } | ||
// } | ||
// }, | ||
// | ||
// get: function(name) | ||
// { | ||
// const nameEQ = name + "="; | ||
// const ca = document.cookie.split(';'); | ||
// for (let i=0; i < ca.length; i++) | ||
// { | ||
// let c = ca[i]; | ||
// while (c.charAt(0)==' ') | ||
// { | ||
// c = c.substring(1,c.length); | ||
// } | ||
// | ||
// if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); | ||
// } | ||
// return null; | ||
// }, | ||
// | ||
// erase: function(name) | ||
// { | ||
// Cookie.set(name, '', -1); | ||
// } | ||
// }; | ||
// | ||
// let stats = Cookie.get("cookieconsent_status") | ||
// console.log("Cookie consent status: " + stats); | ||
// | ||
// if (stats === "dismiss") { | ||
// console.log("User dismissed the notification"); | ||
// } else { | ||
// Cookie.set("cookieconsent_status", "dismiss", 1); | ||
// console.log("set the cookieconsent_status to dismiss"); | ||
// } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters