• File: plugins.php
  • Full Path: /home/matthif/www/wp-content/plugins/wpforms-lite/includes/functions/plugins.php
  • Date Modified: 02/16/2024 11:45 AM
  • File size: 1.19 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
/**
 * Helper functions to perform various plugins and addons related actions.
 *
 * @since 1.8.2.2
 */

use WPForms\Requirements\Requirements;

/**
 * Check if addon met requirements.
 *
 * @since 1.8.2.2
 *
 * @param array $requirements Addon requirements.
 *
 * @return bool
 */
function wpforms_requirements( array $requirements ): bool {

    
// phpcs:ignore WPForms.Formatting.EmptyLineBeforeReturn.RemoveEmptyLineBeforeReturnStatement
    
return Requirements::get_instance()->validate$requirements );
}

/**
 * Check addon requirements and activate addon or plugin.
 *
 * @since 1.8.4
 *
 * @param string $plugin Path to the plugin file relative to the plugins' directory.
 *
 * @return null|WP_Error Null on success, WP_Error on invalid file.
 */
function wpforms_activate_pluginstring $plugin ) {

    
$activate activate_plugin$plugin );

    if ( 
is_wp_error$activate ) ) {
        return 
$activate;
    }

    
$requirements Requirements::get_instance();

    if ( ! 
$requirements->deactivate_not_valid_addon$plugin ) ) {
        return 
null;
    }

    
// Addon was deactivated due to requirements issues.
    
return new WP_Error(
        
'wpforms_addon_incompatible',
        
implode(
            
"\n",
            
$requirements->get_notices()
        )
    );
}