# subscription/1.10.2/includes/Admin/Required.php

Subscriptions for WooCommerce with Stripe Recurring Payments, version 1.10.2. 62 lines.

- Page: https://pluginprobe.com/plugins/subscription/1.10.2/code/includes/Admin/Required.php
- Raw: https://pluginprobe.com/plugins/subscription/1.10.2/raw/includes/Admin/Required.php
- Modified: 2025-12-29T06:11:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/subscription/1.10.2/code/includes/Admin/Required.php#L10-L20`.

```php
<?php

namespace SpringDevs\Subscription\Admin;

/**
 * Install & Activate required plugins
 *
 * Class Required
 */
class Required {

	private $plugin_file = true;

	public function __construct() {
		add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) );
		add_action( 'init', array( $this, 'check_plugins' ) );
	}

	public function check_plugins() {
		if ( ! function_exists( 'is_plugin_active' ) ) {
			include_once ABSPATH . 'wp-admin/includes/plugin.php';
		}

		$plugin_file = WP_PLUGIN_DIR . '/woocommerce/woocommerce.php';

		if ( ! file_exists( $plugin_file ) ) {
			$this->plugin_file = false;
		}

		if ( ! file_exists( $plugin_file ) || ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
			add_action( 'admin_notices', array( $this, 'install_plugin_notice' ) );
		}
	}

	public function enqueue_assets() {
		if ( ! wp_style_is( 'sdevs_installer' ) ) {
			wp_enqueue_style( 'sdevs_installer' );
		}

		if ( ! wp_script_is( 'sdevs_installer' ) ) {
			wp_enqueue_script( 'sdevs_installer' );
			wp_localize_script(
				'sdevs_installer',
				'sdevs_installer_helper_obj',
				array( 'ajax_url' => admin_url( 'admin-ajax.php' ) )
			);
		}
	}

	public function install_plugin_notice() {
		if ( $this->plugin_file ) {
			$id    = 'sdevs-activate-plugin';
			$label = __( 'Activate Woocommerce', 'subscription' );
		} else {
			$id    = 'sdevs-install-plugin';
			$label = __( 'Install Woocommerce', 'subscription' );
		}

		include 'views/required-notice.php';
	}
}

```
