| Server IP : 185.143.234.238 / Your IP : 185.215.232.195 Web Server : nginx/1.22.1 System : Linux server2065 6.1.0-35-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.137-1 (2025-05-07) x86_64 User : www-data ( 33) PHP Version : 8.2.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/bcandle/wp-content/plugins/otter-blocks/inc/ |
Upload File : |
<?php
/**
* Class for telemetry.
*
* @package ThemeIsle
*/
namespace ThemeIsle\GutenbergBlocks;
/**
* Class Tracker
*/
class Tracker {
/**
* Tracking URL.
*
* @var string
*/
public static $track_url = 'https://api.themeisle.com/tracking/events';
/**
* Send data to the server if the user has opted in.
*
* @param array<array> $events Data to track.
* @param array $options Options.
* @return void
*/
public static function track( $events, $options = array() ) {
if ( ! self::has_consent() && ( ! isset( $options['hasConsent'] ) || ! $options['hasConsent'] ) ) {
return;
}
try {
$payload = array();
$license = apply_filters( 'product_otter_license_key', 'free' );
if ( 'free' !== $license ) {
$license = wp_hash( $license );
}
foreach ( $events as $event ) {
$payload[] = array(
'slug' => 'otter',
'site' => get_site_url(),
'license' => $license,
'data' => $event,
);
}
$args = array(
'headers' => array(
'Content-Type' => 'application/json',
),
'body' => wp_json_encode( $payload ),
);
wp_remote_post( self::$track_url, $args );
} finally {
return;
}
}
/**
* Check if the user has consented to tracking.
*
* @return bool
*/
public static function has_consent() {
return (bool) get_option( 'otter_blocks_logger_flag', false );
}
}