Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
post-date
/
wp-content
/
plugins
/
flexible-shipping
/
src
/
WPDesk
/
FS
/
ProFeatures
/
Tracker
:
TrackingData.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Class TrackingData */ namespace WPDesk\FS\ProFeatures\Tracker; /** * Can provide pro features tracking data. */ class TrackingData { const OPTION_NAME = 'fs-pro-features-tracking-data'; const SHOW_COUNT = 'show_count'; const HIDE_COUNT = 'hide_count'; /** * @return void */ public function increase_show_count(): void { $this->increase_value( self::SHOW_COUNT ); } /** * @return void */ public function increase_hide_count(): void { $this->increase_value( self::HIDE_COUNT ); } /** * @return int[] */ public function get_tracking_data(): array { $tracking_data = get_option( self::OPTION_NAME, [] ); $tracking_data[ self::SHOW_COUNT ] = (int) ( $tracking_data[ self::SHOW_COUNT ] ?? 0 ); $tracking_data[ self::HIDE_COUNT ] = (int) ( $tracking_data[ self::HIDE_COUNT ] ?? 0 ); return $tracking_data; } /** * @param string $option . * * @return void */ private function increase_value( string $option ): void { $tracking_data = $this->get_tracking_data(); $tracking_data[ $option ]++; $this->save_tracking_data( $tracking_data ); } /** * @param int[] $tracking_data . */ private function save_tracking_data( array $tracking_data ): void { update_option( self::OPTION_NAME, $tracking_data, false ); } }