<?php
// @phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- This namespace should reflect the namespace of the original class.
namespace Yoast\WP\SEO\Editors\Framework\Integrations;
use WPSEO_Addon_Manager;
use Yoast\WP\SEO\Editors\Domain\Integrations\Integration_Data_Provider_Interface;
/**
* Describes if the Woocommerce SEO addon is enabled.
*/
class WooCommerce_SEO implements Integration_Data_Provider_Interface {
/**
* The addon manager.
*
* @var WPSEO_Addon_Manager
*/
private $addon_manager;
/**
* The constructor.
*
* @param WPSEO_Addon_Manager $addon_manager The addon manager.
*/
public function __construct( WPSEO_Addon_Manager $addon_manager ) {
$this->addon_manager = $addon_manager;
}
/**
* If the plugin is activated.
*
* @return bool If the plugin is activated.
*/
public function is_enabled(): bool {
return \is_plugin_active( $this->addon_manager->get_plugin_file( WPSEO_Addon_Manager::WOOCOMMERCE_SLUG ) );
}
/**
* Return this object represented by a key value array.
*
* @return array<string,bool> Returns the name and if the addon is enabled.
*/
public function to_array(): array {
return [ 'isWooCommerceSeoActive' => $this->is_enabled() ];
}
/**
* Returns this object represented by a key value structure that is compliant with the script data array.
*
* @return array<string,bool> Returns the legacy key and if the feature is enabled.
*/
public function to_legacy_array(): array {
return [ 'isWooCommerceSeoActive' => $this->is_enabled() ];
}
}