Add cookie tracking settings

[MAILPOET-1856]
This commit is contained in:
Pavel Dohnal
2019-05-14 10:01:43 +02:00
committed by M. Shull
parent 29253bfe7e
commit 08851ef0a3
5 changed files with 33 additions and 4 deletions

View File

@@ -30,7 +30,8 @@ function RevenueTrackingPermission() {
const submit = (allowed) => {
setLoading(true);
const settings = {
accept_cookie_revenue_tracking: allowed ? 1 : 0,
'woocommerce.accept_cookie_revenue_tracking.enabled': allowed ? 1 : 0,
'woocommerce.accept_cookie_revenue_tracking.set': 1,
};
updateSettings(settings).then(finishWizard);
};

View File

@@ -114,7 +114,7 @@ class Changelog {
private function checkRevenueTrackingPermissionPage() {
if (
!in_array($_GET['page'], ['mailpoet-revenue-tracking-permission', 'mailpoet-welcome-wizard', 'mailpoet-migration'])
&& ($this->settings->get('accept_cookie_revenue_tracking') === null)
&& ($this->settings->get('woocommerce.accept_cookie_revenue_tracking.set') === null)
&& $this->settings->get('tracking.enabled')
&& $this->wooCommerceHelper->isWooCommerceActive()
&& $this->wp->currentUserCan('administrator')

View File

@@ -51,7 +51,7 @@ class Clicks {
}
private function sendRevenueCookie(StatisticsClicks $clicks) {
if ($this->settings_controller->get('accept_cookie_revenue_tracking')) {
if ($this->settings_controller->get('woocommerce.accept_cookie_revenue_tracking.enabled') === "1") {
setcookie(
'mailpoet_revenue_tracking',
serialize([

View File

@@ -98,7 +98,7 @@ class Settings {
}
function withCookieRevenueTracking() {
$this->settings->set('accept_cookie_revenue_tracking', true);
$this->settings->set('woocommerce.accept_cookie_revenue_tracking.enabled', 1);
return $this;
}

View File

@@ -80,4 +80,32 @@
</p>
</td>
</tr>
<% if settings.display_revenues %>
<tr>
<th scope="row">
<label for="settings[mailpoet_accept_cookie_revenue_tracking]">
<%= _x('Enable browser cookies', 'Option in settings page: the user can accept or forbid MailPoet to use browser cookies') %>
</label>
<p class="description">
<%= _x('If you enable this option, MailPoet will use browser cookies for more precise WooCommerce tracking. This is practical for abandoned cart emails for example.', 'Browser cookies are data created by websites and stored in visitors web browser') %>
</p>
</th>
<td>
<p>
<input
type="checkbox"
value="1"
id="settings[mailpoet_accept_cookie_revenue_tracking]"
name="woocommerce[accept_cookie_revenue_tracking][enabled]"
<% if(settings.woocommerce.accept_cookie_revenue_tracking) %>checked="checked"<% endif %>
>
<input
type="hidden"
value="1"
name="woocommerce[accept_cookie_revenue_tracking][set]"
>
</p>
</td>
</tr>
<% endif %>
</table>