# wpfunnels/3.12.3/admin/modules/setup-wizard/class-wpfnl-activate-plugin.php

WPFunnels – Funnel Builder for WooCommerce with Checkout &amp; One Click Upsell, version 3.12.3. 67 lines.

- Page: https://pluginprobe.com/plugins/wpfunnels/3.12.3/code/admin/modules/setup-wizard/class-wpfnl-activate-plugin.php
- Raw: https://pluginprobe.com/plugins/wpfunnels/3.12.3/raw/admin/modules/setup-wizard/class-wpfnl-activate-plugin.php
- Modified: 2024-08-08T10:40:06+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/wpfunnels/3.12.3/code/admin/modules/setup-wizard/class-wpfnl-activate-plugin.php#L10-L20`.

```php
<?php
namespace WPFunnels\Admin\SetupWizard;

/**
 * Activate Plugins
 * 
 * @since 3.3.1
 */
class ActivatePlugin {
    
    protected $plugins = [];


    /**
     * Constructor
     * 
     * @param array $plugins
     * @since 3.3.1
     */
    public function __construct( $plugins = [] ){
        $this->plugins = $plugins;
    }

    /**
     * Activate plugins
     * 
     * @return array
     * @since 3.3.1
     */
    public function activate_plugins(){

        if( empty($this->plugins) && !is_array($this->plugins) ){
            return;
        }

        $response = [
            'suceess' => true,
        ];
        foreach( $this->plugins as $key=>$plugin ){
           
            if( !isset($plugin['name'],$plugin['status'],$plugin['path'],$plugin['type']) && ($plugin['status'] == 'activated' || $plugin['status'] == 'uninstalled') ){
                continue;
            }

            if( 'bricks' === $plugin['name'] ){
                if (wp_get_theme($plugin['path'])->exists()) {
                    switch_theme($plugin['path']);
                }
            }else{
                \activate_plugin( $plugin['path'] );

                if( isset($plugin['slug']) ){
                    if(  'woocommerce' === $plugin['slug'] ){
                        delete_transient( '_wc_activation_redirect' );
                    }
    
                    if(  'elementor' === $plugin['slug'] ){
                        update_option('elementor_onboarded',true);
                    }
                }
            }
        }
        return $response;
    }
}

?>
```
