<?php
/**
* Deactivation tracker data.
*
* @package WPDesk\FS\TableRate
*/
namespace WPDesk\FS\TableRate\Beacon;
use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
/**
* Can add beacon data to deactivation tracker data.
*/
class BeaconDeactivationTracker implements Hookable {
const ADDITIONAL_DATA = 'additional_data';
/**
* Hooks.
*/
public function hooks() {
add_filter( 'wpdesk_tracker_deactivation_data', [ $this, 'append_beacon_data_to_deactivation_tracker' ] );
}
/**
* Set new rules table data to data array.
*
* @param array $data Data.
*
* @return array
* @internal
*/
public function append_beacon_data_to_deactivation_tracker( array $data ) {
if ( empty( $data[ self::ADDITIONAL_DATA ] ) || ! is_array( $data[ self::ADDITIONAL_DATA ] ) ) {
$data[ self::ADDITIONAL_DATA ] = [];
}
$data[ self::ADDITIONAL_DATA ]['beacon'] = [ 'clicked' => 1 === (int) get_option( BeaconClickedAjax::OPTION_NAME, 0 ) ? 'yes' : 'no' ];
return $data;
}
}