File "class-wc-tracks.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/woocommerce/includes/tracks/class-wc-tracks.php
File
size: 2.76 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
class WC_Tracks
{
const PREFIX = 'wcadmin_';
public static function get_products_count()
{
$product_counts = WC_Tracker::get_product_counts();
return $product_counts['total'];
}
public static function get_blog_details($user_id)
{
$blog_details = get_transient('wc_tracks_blog_details');
if (false === $blog_details) {
$blog_details = array('url' => home_url(), 'blog_lang' => get_user_locale($user_id), 'blog_id' => class_exists('Jetpack_Options') ? Jetpack_Options::get_option('id') : null, 'products_count' => self::get_products_count(), 'wc_version' => WC()->version);
set_transient('wc_tracks_blog_details', $blog_details, DAY_IN_SECONDS);
}
return $blog_details;
}
public static function get_server_details()
{
$data = array();
$data['_via_ua'] = isset($_SERVER['HTTP_USER_AGENT']) ? wc_clean(wp_unslash($_SERVER['HTTP_USER_AGENT'])) : '';
$data['_via_ip'] = isset($_SERVER['REMOTE_ADDR']) ? wc_clean(wp_unslash($_SERVER['REMOTE_ADDR'])) : '';
$data['_lg'] = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? wc_clean(wp_unslash($_SERVER['HTTP_ACCEPT_LANGUAGE'])) : '';
$data['_dr'] = isset($_SERVER['HTTP_REFERER']) ? wc_clean(wp_unslash($_SERVER['HTTP_REFERER'])) : '';
$uri = isset($_SERVER['REQUEST_URI']) ? wc_clean(wp_unslash($_SERVER['REQUEST_URI'])) : '';
$host = isset($_SERVER['HTTP_HOST']) ? wc_clean(wp_unslash($_SERVER['HTTP_HOST'])) : '';
$data['_dl'] = isset($_SERVER['REQUEST_SCHEME']) ? wc_clean(wp_unslash($_SERVER['REQUEST_SCHEME'])) . '://' . $host . $uri : '';
return $data;
}
public static function record_event($event_name, $properties = array())
{
if (!WC_Site_Tracking::is_tracking_enabled()) {
return false;
}
$user = wp_get_current_user();
if ($user instanceof WP_User && 'wptests_capabilities' === $user->cap_key) {
return false;
}
$prefixed_event_name = self::PREFIX . $event_name;
$data = array('_en' => $prefixed_event_name, '_ts' => WC_Tracks_Client::build_timestamp());
$server_details = self::get_server_details();
$identity = WC_Tracks_Client::get_identity($user->ID);
$blog_details = self::get_blog_details($user->ID);
$filtered_properties = apply_filters('woocommerce_tracks_event_properties', $properties, $prefixed_event_name);
unset($filtered_properties['_ui']);
unset($filtered_properties['_ut']);
$event_obj = new WC_Tracks_Event(array_merge($data, $server_details, $identity, $blog_details, $filtered_properties));
if (is_wp_error($event_obj->error)) {
return $event_obj->error;
}
return $event_obj->record();
}
}