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
diff options
context:
space:
mode:
authorMatthieu Aubry <matt@piwik.org>2015-09-08 09:38:44 +0300
committerMatthieu Aubry <matt@piwik.org>2015-09-08 09:38:44 +0300
commit9df172e5afd0d99a0ac513cbe67c35cc303540d0 (patch)
tree9c2e13769ebcbd9f9a26842bd7191afa6fd4906d
parent9c2ae2b007adb777f0e5289f628fa2a838966ffb (diff)
parentc44c14e165b788d1fe0a1efa70c9d56469660fa7 (diff)
Merge pull request #8646 from piwik/opt_out_no_3rd_party
Always use new window when setting opt-out cookies
-rw-r--r--plugins/CoreAdminHome/OptOutManager.php10
-rw-r--r--plugins/CoreAdminHome/templates/optOut.twig30
2 files changed, 16 insertions, 24 deletions
diff --git a/plugins/CoreAdminHome/OptOutManager.php b/plugins/CoreAdminHome/OptOutManager.php
index 42a1cd9aea..9aede6b7b5 100644
--- a/plugins/CoreAdminHome/OptOutManager.php
+++ b/plugins/CoreAdminHome/OptOutManager.php
@@ -151,7 +151,6 @@ class OptOutManager
$this->view->trackVisits = $trackVisits;
$this->view->nonce = Nonce::getNonce('Piwik_OptOut', 3600);
$this->view->language = $lang;
- $this->view->isSafari = $this->isUserAgentSafari();
$this->view->showConfirmOnly = Common::getRequestVar('showConfirmOnly', false, 'int');
$this->view->reloadUrl = $reloadUrl;
$this->view->javascripts = $this->getJavascripts();
@@ -168,13 +167,4 @@ class OptOutManager
{
return $this->doNotTrackHeaderChecker;
}
-
- /**
- * @return bool
- */
- protected function isUserAgentSafari()
- {
- $userAgent = @$_SERVER['HTTP_USER_AGENT'] ?: '';
- return strpos($userAgent, 'Safari') !== false && strpos($userAgent, 'Chrome') === false;
- }
}
diff --git a/plugins/CoreAdminHome/templates/optOut.twig b/plugins/CoreAdminHome/templates/optOut.twig
index e24d47f85b..e0eef92571 100644
--- a/plugins/CoreAdminHome/templates/optOut.twig
+++ b/plugins/CoreAdminHome/templates/optOut.twig
@@ -10,19 +10,21 @@
{% endif %}
<script>
- function submitForm(event, form, loadInNewWindow) {
- event.preventDefault();
+ function submitForm(e, form) {
+ if (e.preventDefault) { // IE8 and below do not support preventDefault
+ e.preventDefault();
+ }
- if (loadInNewWindow) {
- var newWindow = window.open(form.action + '&time=' + Date.now());
+ var now = Date.now ? Date.now() : (+(new Date())), // Date.now does not exist in < IE8
+ newWindow = window.open(form.action + '&time=' + now);
- // when the new window loads, reload this page
- newWindow.addEventListener('unload', function () {
+ setInterval(function () {
+ if (newWindow.closed) {
window.location.reload();
- }, false);
- } else {
- form.submit();
- }
+ }
+ }, 1000);
+
+ return false;
}
</script>
@@ -49,7 +51,8 @@
# otherwise we try to close the window immediately.
#}
{% if showConfirmOnly %}
- <p>{{ 'CoreAdminHome_OptingYouOut'|translate }}</p><script>window.close();</script>
+ <p>{{ 'CoreAdminHome_OptingYouOut'|translate }}</p>
+ <script>window.close();</script>
<noscript>
{% endif %}
@@ -68,11 +71,10 @@
<br/><br/>
{% if not showConfirmOnly %}
- {% set loadInNewWindow = isSafari and trackVisits %}
- <form method="post" action="?module=CoreAdminHome&amp;action=optOut{% if language %}&amp;language={{ language }}{% endif %}{% if loadInNewWindow %}&amp;setCookieInNewWindow=1{% endif %}" {% if loadInNewWindow %}target="_blank"{% endif %}>
+ <form method="post" action="?module=CoreAdminHome&amp;action=optOut{% if language %}&amp;language={{ language }}{% endif %}&amp;setCookieInNewWindow=1" target="_blank">
<input type="hidden" name="nonce" value="{{ nonce }}" />
<input type="hidden" name="fuzz" value="{{ "now"|date }}" />
- <input onclick="submitForm(event, this.form, {{ loadInNewWindow|default(0) }});" type="checkbox" id="trackVisits" name="trackVisits" {% if trackVisits %}checked="checked"{% endif %} />
+ <input onclick="submitForm(event, this.form);" type="checkbox" id="trackVisits" name="trackVisits" {% if trackVisits %}checked="checked"{% endif %} />
<label for="trackVisits"><strong>
{% if trackVisits %}
{{ 'CoreAdminHome_YouAreOptedIn'|translate }} {{ 'CoreAdminHome_ClickHereToOptOut'|translate }}