Merge pull request #3187 from tiblu/ep_prefs_different_cookie_for_different_protocol

#3179 - Using EP on same domain, but over different protocols causes "Warning: it appears that your browser does not have cookies enabled.
This commit is contained in:
Stefan 2017-07-30 11:49:29 +02:00 committed by GitHub
commit f6456c0aa7
2 changed files with 8 additions and 3 deletions

View File

@ -459,7 +459,7 @@ var pad = {
// This will check if the prefs-cookie is set.
// Otherwise it shows up a message to the user.
padcookie.init();
if (!readCookie("prefs"))
if (!padcookie.isCookiesEnabled())
{
$('#loading').hide();
$('#noCookie').show();

View File

@ -23,6 +23,8 @@
var padcookie = (function()
{
var cookieName = isHttpsScheme() ? "prefs" : "prefsHttp";
function getRawCookie()
{
// returns null if can't get cookie text
@ -31,7 +33,7 @@ var padcookie = (function()
return null;
}
// look for (start of string OR semicolon) followed by whitespace followed by prefs=(something);
var regexResult = document.cookie.match(/(?:^|;)\s*prefs=([^;]*)(?:;|$)/);
var regexResult = document.cookie.match(new RegExp("(?:^|;)\\s*" + cookieName + "=([^;]*)(?:;|$)"));
if ((!regexResult) || (!regexResult[1]))
{
return null;
@ -44,7 +46,7 @@ var padcookie = (function()
var expiresDate = new Date();
expiresDate.setFullYear(3000);
var secure = isHttpsScheme() ? ";secure" : "";
document.cookie = ('prefs=' + safeText + ';expires=' + expiresDate.toGMTString() + secure);
document.cookie = (cookieName + "=" + safeText + ";expires=" + expiresDate.toGMTString() + secure);
}
function parseCookie(text)
@ -122,6 +124,9 @@ var padcookie = (function()
{
return wasNoCookie;
},
isCookiesEnabled: function() {
return !!getRawCookie();
},
getPref: function(prefName)
{
return cookieData[prefName];