Metabox
1 week ago
views
1 week ago
Dashboard.php
1 week ago
DashboardTracker.php
1 week ago
DashboardTrackingData.php
1 week ago
DashboardTrackingReceiver.php
1 week ago
FSIE.php
1 week ago
FSPro.php
1 week ago
FSWalkthrough.php
1 week ago
FSWalkthroughPL.php
1 week ago
Metabox.php
1 week ago
Video.php
1 week ago
WooCommerceABC.php
1 week ago
WooCommerceABCPL.php
1 week ago
DashboardTracker.php
43 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Dashboard tracker integration. |
| 4 | * |
| 5 | * @package WPDesk\FS\Info |
| 6 | */ |
| 7 | |
| 8 | declare( strict_types=1 ); |
| 9 | |
| 10 | namespace WPDesk\FS\Info; |
| 11 | |
| 12 | use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable; |
| 13 | |
| 14 | /** |
| 15 | * Adds dashboard counters to the Flexible Shipping tracker payload. |
| 16 | */ |
| 17 | final class DashboardTracker implements Hookable { |
| 18 | |
| 19 | /** |
| 20 | * @var DashboardTrackingData |
| 21 | */ |
| 22 | private DashboardTrackingData $tracking_data; |
| 23 | |
| 24 | public function __construct( DashboardTrackingData $tracking_data ) { |
| 25 | $this->tracking_data = $tracking_data; |
| 26 | } |
| 27 | |
| 28 | public function hooks(): void { |
| 29 | add_filter( 'wpdesk_tracker_data', [ $this, 'add_tracking_data' ], 12 ); |
| 30 | } |
| 31 | |
| 32 | /** |
| 33 | * @param array<string, mixed> $data Tracker data. |
| 34 | * |
| 35 | * @return array<string, mixed> |
| 36 | */ |
| 37 | public function add_tracking_data( array $data ): array { |
| 38 | $data['flexible_shipping']['dashboard'] = $this->tracking_data->get_data(); |
| 39 | |
| 40 | return $data; |
| 41 | } |
| 42 | } |
| 43 |