????JFIF??x?x????'
| Server IP : 104.21.30.238 / Your IP : 216.73.216.87 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /././home/tempvsty/pontiacques.org/wp-content/plugins/optinmonster/OMAPI/ |
Upload File : |
<?php
/**
* Revenue attribution class.
*
* @since 2.6.13
*
* @package OMAPI
* @author Thomas Griffin
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* The Revenue Attribution class.
*
* @since 2.6.13
*/
class OMAPI_RevenueAttribution {
/**
* Holds the class object.
*
* @since 2.6.13
*
* @var object
*/
public static $instance;
/**
* Path to the file.
*
* @since 2.6.13
*
* @var string
*/
public $file = __FILE__;
/**
* Holds the base class object.
*
* @since 2.6.13
*
* @var object
*/
public $base;
/**
* Primary class constructor.
*
* @since 2.6.13
*/
public function __construct() {
// Set our object.
$this->set();
}
/**
* Sets our object instance and base class instance.
*
* @since 2.6.13
*/
public function set() {
self::$instance = $this;
$this->base = OMAPI::get_instance();
}
/**
* Maybe stores revenue attribution data when a purchase is successful.
*
* @since 2.6.13
*
* @param array $data An array of revenue attribution data to store.
*
* @return bool|WP_Error True if successful, WP_Error or false otherwise.
*/
public function store( $data = array() ) {
// If revenue attribution is not turned on, return early.
$ra = $this->base->get_revenue_attribution();
if ( empty( $ra['enabled'] ) || empty( $ra['currency'] ) ) {
return false;
}
// If we can't find the account ID, return early.
$accountId = $this->base->get_option( 'accountId' );
if ( empty( $accountId ) ) {
return false;
}
// Build and send the request.
$api = OMAPI_Api::build( 'v2', 'revenue/' . $accountId, 'POST' );
return $api->request( $data );
}
/**
* Returns revenue attribution data.
*
* @since 2.6.13
*
* @return array An array of revenue attribution data.
*/
public function get_revenue_data() {
// If we don't have any cookies set for OM campaigns, return early.
if ( empty( $_COOKIE['_omra'] ) ) {
return array();
}
// If revenue attribution is not turned on, return early.
$ra = $this->base->get_revenue_attribution();
if ( empty( $ra['enabled'] ) || empty( $ra['currency'] ) ) {
return array();
}
// Loop through and prepare the campaign data. If it is empty, return early.
$campaign_data = json_decode( stripslashes( rawurldecode( $_COOKIE['_omra'] ) ), true );
if ( empty( $campaign_data ) ) {
return array();
}
// Sanitize the campaign data before sending it back.
$sanitized_campaigns = array();
foreach ( $campaign_data as $campaign_id => $action ) {
$sanitized_campaigns[ esc_html( $campaign_id ) ] = esc_html( $action );
}
// Return the default revenue attribution data. Additional revenue
// data should be returned from the integration itself (such as
// the total, transaction ID, etc.).
return array(
'campaigns' => $sanitized_campaigns,
'currency' => esc_html( $ra['currency'] ),
'device' => wp_is_mobile() ? 'mobile' : 'desktop',
'type' => 'sale',
);
}
}