Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@gmail.com>2015-04-28 02:34:58 +0300
committerThomas Steur <thomas.steur@gmail.com>2015-04-28 02:34:58 +0300
commite9c5ee52954adddf793695974f6c4023b07085ff (patch)
treeb8737b62608c25b009d9036ca5110741be682028 /js
parent5d556a0ebc4b3cfd496fcf88c8eadeaee98f3a91 (diff)
refs #7752 before setting a new cookie domain, test whether it works to set a cookie on that domain
Diffstat (limited to 'js')
-rw-r--r--js/piwik.js34
1 files changed, 28 insertions, 6 deletions
diff --git a/js/piwik.js b/js/piwik.js
index 50d589969e..19c41aee68 100644
--- a/js/piwik.js
+++ b/js/piwik.js
@@ -2801,15 +2801,33 @@ if (typeof Piwik !== 'object') {
];
}
+ function isPossibleToSetCookieOnDomain(domainToTest)
+ {
+ var valueToSet = 'testvalue';
+ setCookie('test', valueToSet, 10000, null, domainToTest);
+
+ if (getCookie('test') === valueToSet) {
+ deleteCookie('test', null, domainToTest);
+
+ return true;
+ }
+
+ return false;
+ }
+
+ function deleteCookie(cookieName, path, domain) {
+ setCookie(cookieName, '', -86400, path, domain);
+ }
+
function deleteCookies() {
var savedConfigCookiesDisabled = configCookiesDisabled;
// Temporarily allow cookies just to delete the existing ones
configCookiesDisabled = false;
- setCookie(getCookieName('id'), '', -86400, configCookiePath, configCookieDomain);
- setCookie(getCookieName('ses'), '', -86400, configCookiePath, configCookieDomain);
- setCookie(getCookieName('cvar'), '', -86400, configCookiePath, configCookieDomain);
- setCookie(getCookieName('ref'), '', -86400, configCookiePath, configCookieDomain);
+ deleteCookie(getCookieName('id'), configCookiePath, configCookieDomain);
+ deleteCookie(getCookieName('ses'), configCookiePath, configCookieDomain);
+ deleteCookie(getCookieName('cvar'), configCookiePath, configCookieDomain);
+ deleteCookie(getCookieName('ref'), configCookiePath, configCookieDomain);
configCookiesDisabled = savedConfigCookiesDisabled;
}
@@ -4643,8 +4661,12 @@ if (typeof Piwik !== 'object') {
* @param string domain
*/
setCookieDomain: function (domain) {
- configCookieDomain = domainFixup(domain);
- updateDomainHash();
+ var domainFixed = domainFixup(domain);
+
+ if (isPossibleToSetCookieOnDomain(domainFixed)) {
+ configCookieDomain = domainFixed;
+ updateDomainHash();
+ }
},
/**