Add_Mailchimp_Integration
Source Source
File: src/integrations/mailchimp/add-mailchimp-integration.php
class Add_Mailchimp_Integration { /** * Integration code * @var string */ public static $integration = 'MAILCHIMP'; /** * connected * * @var bool */ public $connected = false; /** * Add_Integration constructor. */ public function __construct() { } /** * Only load this integration and its triggers and actions if the related plugin is active * * @param $status * @param $code * * @return bool */ public function plugin_active( $status, $code ) { $is_enabled = true; $directories = array( 'wp-content', 'plugins', 'uncanny-automator-pro', 'src', 'integrations', 'mailchimp', 'helpers', ); $pro_integration_helpers_path = ABSPATH . implode( DIRECTORY_SEPARATOR, $directories ) . '/mailchimp-pro-helpers.php'; // If the helper file exists in pro it means, the pro version still contains the old helper file. if ( file_exists( $pro_integration_helpers_path ) && $this->is_automator_pro_active() ) { $is_enabled = false; } return $is_enabled; } /** * Check if automator pro is active or not. * * @return boolean True if automator pro is active. Otherwise false. */ public function is_automator_pro_active() { $is_active = false; // Check if automator pro is in list of active plugins. if ( in_array( 'uncanny-automator-pro/uncanny-automator-pro.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { return true; } return $is_active; } /** * Set the directories that the auto loader will run in * * @param $directory * * @return array */ public function add_integration_directory_func( $directory ) { $directory[] = dirname( __FILE__ ) . '/helpers'; $directory[] = dirname( __FILE__ ) . '/actions'; return $directory; } /** * Register the integration by pushing it into the global automator object */ public function add_integration_func() { global $uncanny_automator; // check if Consumer Key and Consumer Secret available $gtw_options = get_option( '_uncannyowl_mailchimp_settings', array() ); if ( isset( $gtw_options['access_token'] ) && ! empty( $gtw_options['access_token'] ) ) { $this->connected = true; } $uncanny_automator->register->integration( self::$integration, array( 'name' => 'Mailchimp', 'connected' => $this->connected, 'icon_svg' => Utilities::automator_get_integration_icon( __DIR__ . '/img/mailchimp-icon.svg' ), 'settings_url' => admin_url( 'edit.php' ) . '?post_type=uo-recipe&page=uncanny-automator-settings&tab=mailchimp_api' ) ); } }
Expand full source code Collapse full source code View on Github
Methods Methods
- __construct — Add_Integration constructor.
- add_integration_directory_func — Set the directories that the auto loader will run in
- add_integration_func — Register the integration by pushing it into the global automator object
- is_automator_pro_active — Check if automator pro is active or not.
- plugin_active — Only load this integration and its triggers and actions if the related plugin is active