mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-02-01 03:12:42 +01:00
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:
commit
f6456c0aa7
2 changed files with 8 additions and 3 deletions
|
@ -459,7 +459,7 @@ var pad = {
|
||||||
// This will check if the prefs-cookie is set.
|
// This will check if the prefs-cookie is set.
|
||||||
// Otherwise it shows up a message to the user.
|
// Otherwise it shows up a message to the user.
|
||||||
padcookie.init();
|
padcookie.init();
|
||||||
if (!readCookie("prefs"))
|
if (!padcookie.isCookiesEnabled())
|
||||||
{
|
{
|
||||||
$('#loading').hide();
|
$('#loading').hide();
|
||||||
$('#noCookie').show();
|
$('#noCookie').show();
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
|
|
||||||
var padcookie = (function()
|
var padcookie = (function()
|
||||||
{
|
{
|
||||||
|
var cookieName = isHttpsScheme() ? "prefs" : "prefsHttp";
|
||||||
|
|
||||||
function getRawCookie()
|
function getRawCookie()
|
||||||
{
|
{
|
||||||
// returns null if can't get cookie text
|
// returns null if can't get cookie text
|
||||||
|
@ -31,7 +33,7 @@ var padcookie = (function()
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// look for (start of string OR semicolon) followed by whitespace followed by prefs=(something);
|
// 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]))
|
if ((!regexResult) || (!regexResult[1]))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
@ -44,7 +46,7 @@ var padcookie = (function()
|
||||||
var expiresDate = new Date();
|
var expiresDate = new Date();
|
||||||
expiresDate.setFullYear(3000);
|
expiresDate.setFullYear(3000);
|
||||||
var secure = isHttpsScheme() ? ";secure" : "";
|
var secure = isHttpsScheme() ? ";secure" : "";
|
||||||
document.cookie = ('prefs=' + safeText + ';expires=' + expiresDate.toGMTString() + secure);
|
document.cookie = (cookieName + "=" + safeText + ";expires=" + expiresDate.toGMTString() + secure);
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseCookie(text)
|
function parseCookie(text)
|
||||||
|
@ -122,6 +124,9 @@ var padcookie = (function()
|
||||||
{
|
{
|
||||||
return wasNoCookie;
|
return wasNoCookie;
|
||||||
},
|
},
|
||||||
|
isCookiesEnabled: function() {
|
||||||
|
return !!getRawCookie();
|
||||||
|
},
|
||||||
getPref: function(prefName)
|
getPref: function(prefName)
|
||||||
{
|
{
|
||||||
return cookieData[prefName];
|
return cookieData[prefName];
|
||||||
|
|
Loading…
Reference in a new issue