403Webshell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.146
Web Server : Apache
System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64
User : karinebmkh ( 644538)
PHP Version : 8.4.22
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/karinebmkh/www2/wp-content/plugins/mailchimp-for-wp/includes/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/karinebmkh/www2/wp-content/plugins/mailchimp-for-wp/includes/admin//class-usage-tracking.php
<?php

/**
 * Class MC4WP_Usage_Tracking
 *
 * @access private
 * @since 2.3
 * @ignore
 */
class MC4WP_Usage_Tracking
{

    /**
     * @var string
     */
    protected $tracking_url = 'https://mc4wp.com/api/usage-tracking';

    /**
     * @var MC4WP_Usage_Tracking The One True Instance
     */
    protected static $instance;

    /**
     * @return MC4WP_Usage_Tracking
     */
    public static function instance()
    {
        if (! self::$instance instanceof MC4WP_Usage_Tracking) {
            self::$instance = new MC4WP_Usage_Tracking();
        }

        return self::$instance;
    }

    /**
     * Constructor
     */
    public function __construct()
    {
    }

    /**
     * Add hooks
     */
    public function add_hooks()
    {
        add_action('mc4wp_usage_tracking', array( $this, 'track' ));
        add_filter('cron_schedules', array( $this, 'cron_schedules' ));
    }

    /**
     * Registers a new schedule with WP Cron
     *
     * @param array $schedules
     *
     * @return array
     */
    public function cron_schedules($schedules)
    {
        $schedules['monthly'] = array(
            'interval' => 30 * DAY_IN_SECONDS,
            'display' => __('Once a month')
        );
        return $schedules;
    }

    /**
     * Enable usage tracking
     *
     * @return bool
     */
    public function enable()
    {
        // only schedule if not yet scheduled
        if (! wp_next_scheduled('mc4wp_usage_tracking')) {
            return wp_schedule_event(time(), 'monthly', 'mc4wp_usage_tracking');
        }

        return true;
    }

    /**
     * Disable usage tracking
     */
    public function disable()
    {
        wp_clear_scheduled_hook('mc4wp_usage_tracking');
    }

    /**
     * Toggle tracking (clears & sets the scheduled tracking event)
     *
     * @param bool $enable
     */
    public function toggle($enable)
    {
        $enable ? $this->enable() : $this->disable();
    }

    /**
     * Sends the tracking request. Non-blocking.
     *
     * @return bool
     */
    public function track()
    {
        $data = $this->get_tracking_data();

        // send non-blocking request and be done with it
        wp_remote_post(
            $this->tracking_url,
            array(
                'body' => json_encode($data),
                'headers' => array(
                    'Content-Type' => 'application/json',
                    'Accept' => 'application/json'
                ),
                'blocking' => false,
            )
        );

        return true;
    }

    /**
     * @return array
     */
    protected function get_tracking_data()
    {
        $data = array(
            // use md5 hash of home_url, we don't need/want to know the actual site url
            'site' => md5(home_url()),
            'number_of_mailchimp_lists' => $this->get_mailchimp_lists_count(),
            'mc4wp_version' => $this->get_mc4wp_version(),
            'mc4wp_premium_version' => $this->get_mc4wp_premium_version(),
            'plugins' => (array) get_option('active_plugins', array()),
            'php_version' => $this->get_php_version(),
            'curl_version' => $this->get_curl_version(),
            'wp_version' => $GLOBALS['wp_version'],
            'wp_language' => get_locale(),
            'server_software' => $this->get_server_software(),
            'using_https' => $this->is_site_using_https()
        );

        return $data;
    }

    public function get_php_version()
    {
        if (! defined('PHP_MAJOR_VERSION')) { // defined since PHP 5.2.7
            return null;
        }

        return PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION;
    }

    /**
     * @return string
     */
    public function get_mc4wp_premium_version()
    {
        return defined('MC4WP_PREMIUM_VERSION') ? MC4WP_PREMIUM_VERSION : null;
    }

    /**
     * Returns the Mailchimp for WordPress version
     *
     * @return string
     */
    protected function get_mc4wp_version()
    {
        return MC4WP_VERSION;
    }

    /**
     * @return int
     */
    protected function get_mailchimp_lists_count()
    {
        $mailchimp = new MC4WP_MailChimp();
        $list_ids = $mailchimp->get_list_ids(false);
        return count($list_ids);
    }


    /**
     * @return string
     */
    protected function get_curl_version()
    {
        if (! function_exists('curl_version')) {
            return null;
        }

        $curl_version_info = curl_version();
        return $curl_version_info['version'];
    }

    /**
     * @return bool
     */
    protected function is_site_using_https()
    {
        $site_url = site_url();
        return stripos($site_url, 'https') === 0;
    }

    /**
     * @return string
     */
    protected function get_server_software()
    {
        if (! isset($_SERVER['SERVER_SOFTWARE'])) {
            return null;
        }

        return $_SERVER['SERVER_SOFTWARE'];
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit