| Server IP : 45.77.68.45 / Your IP : 127.0.0.100 Web Server : PHPix/0.2.2 (Caddy compatible) System : wasi wasmer.sh 0.0.0 0.0.0 wasm32 User : ( 1) PHP Version : 8.3.21 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /app/wp-content/plugins/wordpress-seo/src/dashboard/application/tracking/ |
Upload File : |
<?php
// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.
namespace Yoast\WP\SEO\Dashboard\Application\Tracking;
use Yoast\WP\SEO\Dashboard\Infrastructure\Tracking\Setup_Steps_Tracking_Repository_Interface;
/**
* Tracks the setup steps.
*/
class Setup_Steps_Tracking {
/**
* The setup steps tracking repository.
*
* @var Setup_Steps_Tracking_Repository_Interface
*/
private $setup_steps_tracking_repository;
/**
* Constructs the class.
*
* @param Setup_Steps_Tracking_Repository_Interface $setup_steps_tracking_repository The setup steps tracking repository.
*/
public function __construct( Setup_Steps_Tracking_Repository_Interface $setup_steps_tracking_repository ) {
$this->setup_steps_tracking_repository = $setup_steps_tracking_repository;
}
/**
* If the Site Kit setup widget has been loaded.
*
* @return string "yes" on "no".
*/
public function get_setup_widget_loaded(): string {
return $this->setup_steps_tracking_repository->get_setup_steps_tracking_element( 'setup_widget_loaded' );
}
/**
* Gets the stage of the first interaction.
*
* @return string The stage name.
*/
public function get_first_interaction_stage(): string {
return $this->setup_steps_tracking_repository->get_setup_steps_tracking_element( 'first_interaction_stage' );
}
/**
* Gets the stage of the last interaction.
*
* @return string The stage name.
*/
public function get_last_interaction_stage(): string {
return $this->setup_steps_tracking_repository->get_setup_steps_tracking_element( 'last_interaction_stage' );
}
/**
* If the setup widget has been temporarily dismissed.
*
* @return string "yes" on "no".
*/
public function get_setup_widget_temporarily_dismissed(): string {
return $this->setup_steps_tracking_repository->get_setup_steps_tracking_element( 'setup_widget_temporarily_dismissed' );
}
/**
* If the setup widget has been permanently dismissed.
*
* @return string "yes" on "no".
*/
public function get_setup_widget_permanently_dismissed(): string {
return $this->setup_steps_tracking_repository->get_setup_steps_tracking_element( 'setup_widget_permanently_dismissed' );
}
/**
* Return this object represented by a key value array.
*
* @return array<string> The tracking data
*/
public function to_array(): array {
return [
'setupWidgetLoaded' => $this->get_setup_widget_loaded(),
'firstInteractionStage' => $this->get_first_interaction_stage(),
'lastInteractionStage' => $this->get_last_interaction_stage(),
'setupWidgetTemporarilyDismissed' => $this->get_setup_widget_temporarily_dismissed(),
'setupWidgetPermanentlyDismissed' => $this->get_setup_widget_permanently_dismissed(),
];
}
}