woocommerce-active-campaign.php 2.46 KB
<?php
/**
 * Plugin Name: WooCommerce - Active Campaign Integration
 * Plugin URI: http://activewoo.com
 * Version: 0.3.9
 * Description: Syncs WooCommerce purchases to Active Campaign. Requires an Active Campaign account to work.
 * Author: Jason Kadlec: CrazyEffective.com
 * Author URI: http://www.crazyeffective.com/
*/

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'WC_Active_Woo' ) ) :

class WC_Active_Woo {

    /**
	* Construct the plugin.
	*/

	public function __construct() {
		add_action( 'plugins_loaded', array( $this, 'init' ) );
	}

	/**
	* Initialize the plugin.
	*/

	public function init() {

        // Checks if WooCommerce is installed.
        if ( class_exists( 'WC_Integration' ) ) {


            // Include our integration class and other scripts.
            require_once( plugin_dir_path( __FILE__ ) . 'vendor/wp-background-processing/wp-background-processing.php');
            require_once( plugin_dir_path( __FILE__ ) . 'vendor/aw-update-checker/aw-update-checker.php' );
            require_once( plugin_dir_path( __FILE__ ) . 'vendor/active-campaign/ActiveCampaign.class.php' );

            require_once( plugin_dir_path( __FILE__ ) . 'includes/aw-functions.php' );
            require_once( plugin_dir_path( __FILE__ ) . 'includes/class-aw-woocommerce-integration.php' );
            require_once( plugin_dir_path( __FILE__ ) . 'includes/class-aw-subscriptions-integration.php' );
            require_once( plugin_dir_path( __FILE__ ) . 'includes/class-aw-license.php' );
            require_once( plugin_dir_path( __FILE__ ) . 'includes/class-aw-bg-sync.php' );

            // Register the integration.
            add_filter( 'woocommerce_integrations', array( $this, 'add_integration' ) );

            $MyUpdateChecker = PucFactory::buildUpdateChecker(
                'http://activewoo.com/aw_update/?action=get_metadata&slug=woocommerce-active-campaign',
                __FILE__,
                'woocommerce-active-campaign'
            );

            if ( class_exists('WC_Subscriptions') ) {
                AW_WC_Subscription_Integration::init();
            }

        } else {
            // throw an admin error if you like
            echo '<div class="error"><p>There was an error loading the plugin.</p></div>';
        }
	}

	/**
	 * Add a new integration to WooCommerce.
	 */
	public function add_integration( $integrations ) {
        $integrations[] = 'WC_Integration_Active_Woo';
        return $integrations;
	}

}

new WC_Active_Woo();

endif;