WP Upgrade; DNT support

This commit is contained in:
Jarek Rozanski 2024-05-01 22:11:05 +00:00
parent f9597f16ae
commit 590ae448bc
7 changed files with 48 additions and 50 deletions

View file

@ -5,7 +5,7 @@
Description: Easily enable and configure Wide Angle Analytics on your Wordpress site
Author: Wide Angle Analytics by Input Objects GmbH
Author URI: https://wideangle.co
Version: 1.0.7
Version: 1.0.8
Requires at least: 5.2
Requires PHP: 7.2
License: GPL v2
@ -18,10 +18,10 @@ class WideAngleAnalytics {
const WAA_CONF_SITE_ID = "waa_site_id";
const WAA_CONF_TRACKER_DOMAIN = "waa_tracker_domain";
const WAA_CONF_FINGERPRINT = "waa_fingerprint";
const WAA_CONF_EPRIVACY_MODE = "waa_eprivacy_mode";
const WAA_CONF_EXC_PATHS = "waa_exc_path";
const WAA_CONF_INC_PARAMS = "waa_inc_params";
const WAA_CONF_IGNORE_HASH = "waa_ignore_hash";
const WAA_CONF_SUPRESS_DNT = "waa_supress_dnt";
const WAA_CONF_ATTRIBUTES = "waa_attributes";
public function __construct() {
@ -123,12 +123,12 @@ class WideAngleAnalytics {
$waaTrackerDomain = $this->plugin->helpers->validateTrackerDomain(self::WAA_CONF_TRACKER_DOMAIN, sanitize_text_field($_REQUEST['waa_tracker_domain']));
$waaIgnoreHash = $this->plugin->helpers->validateIgnoreHashFlag(self::WAA_CONF_IGNORE_HASH, sanitize_text_field($_REQUEST['waa_ignore_hash']));
$waaFingerprint = $this->plugin->helpers->validateFingerprint(self::WAA_CONF_FINGERPRINT, sanitize_text_field($_REQUEST['waa_fingerprint']));
$waaEPrivacyMode = $this->plugin->helpers->validateEPrivacyMode(self::WAA_CONF_EPRIVACY_MODE, sanitize_text_field($_REQUEST['waa_eprivacy_mode']));
$waaSupressDnt = $this->plugin->helpers->validateSupressDntFlag(self::WAA_CONF_SUPRESS_DNT, sanitize_text_field($_REQUEST['waa_supress_dnt']));
$waaIncParams = $this->plugin->helpers->validateIncludeParams(self::WAA_CONF_INC_PARAMS, $_REQUEST);
$waaExclusionPaths = $this->plugin->helpers->validateExclusionPathsRequest(self::WAA_CONF_EXC_PATHS, $_REQUEST);
include_once( $this->plugin->folder . '/types/WideAngleAttributes.php');
$merged = array($waaSiteId, $waaTrackerDomain, $waaIgnoreHash, $waaIncParams, $waaExclusionPaths);
$merged = array($waaSiteId, $waaTrackerDomain, $waaIgnoreHash, $waaIncParams, $waaExclusionPaths, $waaSupressDnt);
$errors = array();
foreach($merged as $validated) {
if(!$validated->is_valid()) {
@ -144,7 +144,7 @@ class WideAngleAnalytics {
$waaExclusionPaths->get_value(),
$waaIncParams->get_value(),
$waaFingerprint->get_value(),
$waaEPrivacyMode->get_value()
$waaSupressDnt->get_value()
);
update_option(self::WAA_CONF_SITE_ID, $waaSiteId->get_value());
update_option(self::WAA_CONF_TRACKER_DOMAIN, $waaTrackerDomain->get_value());
@ -152,7 +152,7 @@ class WideAngleAnalytics {
update_option(self::WAA_CONF_EXC_PATHS, $waaExclusionPaths->get_value());
update_option(self::WAA_CONF_INC_PARAMS, $waaIncParams->get_value());
update_option(self::WAA_CONF_FINGERPRINT, $waaFingerprint->get_value());
update_option(self::WAA_CONF_EPRIVACY_MODE, $waaEPrivacyMode->get_value());
update_option(self::WAA_CONF_SUPRESS_DNT, $waaSupressDnt->get_value());
update_option(self::WAA_CONF_ATTRIBUTES, $attributes->generateAttributes());
$this->message = __('Settings updated', $this->plugin->name);
} else {
@ -167,7 +167,7 @@ class WideAngleAnalytics {
self::WAA_CONF_TRACKER_DOMAIN => get_option(self::WAA_CONF_TRACKER_DOMAIN),
self::WAA_CONF_IGNORE_HASH => get_option(self::WAA_CONF_IGNORE_HASH),
self::WAA_CONF_FINGERPRINT => get_option(self::WAA_CONF_FINGERPRINT),
self::WAA_CONF_EPRIVACY_MODE => get_option(self::WAA_CONF_EPRIVACY_MODE),
self::WAA_CONF_SUPRESS_DNT => get_option(self::WAA_CONF_SUPRESS_DNT),
self::WAA_CONF_ATTRIBUTES => get_option(self::WAA_CONF_ATTRIBUTES)
);
include_once( $this->plugin->folder . '/views/admin_settings.php' );
@ -182,6 +182,7 @@ class WideAngleAnalytics {
* - waa_exc_path
* - waa_inc_params
* - waa_ignore_hash
* - waa_supress_dnt
* - waa_header_script
* - waa_footer_script
*/
@ -192,7 +193,7 @@ class WideAngleAnalytics {
register_setting($this->plugin->name, self::WAA_CONF_TRACKER_DOMAIN, array('default' => 'stats.wideangle.co'));
register_setting($this->plugin->name, self::WAA_CONF_IGNORE_HASH, array('default' => 'false'));
register_setting($this->plugin->name, self::WAA_CONF_FINGERPRINT, array('default' => 'false'));
register_setting($this->plugin->name, self::WAA_CONF_EPRIVACY_MODE, array('default' => 'disabled'));
register_setting($this->plugin->name, self::WAA_CONF_SUPRESS_DNT, array('default' => 'false'));
register_setting($this->plugin->name, self::WAA_CONF_ATTRIBUTES, array('type' => 'array'));
}