Automattic\WooCommerce\Blueprint\Importers

ImportActivatePlugin{}WC 1.0└─ StepProcessor

Class ImportActivatePlugin

No Hooks.

Usage

$ImportActivatePlugin = new ImportActivatePlugin();
// use class methods

Methods

  1. public check_step_capabilities( $schema )
  2. public get_step_class()
  3. public process( $schema )

ImportActivatePlugin{} code WC 9.9.5

class ImportActivatePlugin implements StepProcessor {
	use UsePluginHelpers;

	/**
	 * Process the schema.
	 *
	 * @param object $schema The schema to process.
	 *
	 * @return StepProcessorResult
	 */
	public function process( $schema ): StepProcessorResult {
		$result = StepProcessorResult::success( ActivatePlugin::get_step_name() );

		// Not snake case because it's a property of the schema.
		$plugin_path = $schema->pluginPath; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase

		$activate = $this->wp_activate_plugin( $plugin_path );

		if ( $this->is_wp_error( $activate ) ) {
			$result->add_error( "Unable to activate {$plugin_path}." );
		} else {
			$result->add_info( "Activated {$plugin_path}." );
		}

		return $result;
	}

	/**
	 * Get the step class.
	 *
	 * @return string
	 */
	public function get_step_class(): string {
		return ActivatePlugin::class;
	}

	/**
	 * Check if the current user has the required capabilities for this step.
	 *
	 * @param object $schema The schema to process.
	 *
	 * @return bool True if the user has the required capabilities. False otherwise.
	 */
	public function check_step_capabilities( $schema ): bool {
		return current_user_can( 'activate_plugins' );
	}
}