MP_Addon_CalculatorsConstantContactAddon

Class MP_Addon_CalculatorsConstantContactAddon.


Source Source

File: calculator-constant-contact-add-on/calculator-constant-contact-add-on.php

	class MP_Addon_CalculatorsConstantContactAddon {


		/**
		 * Register functions.
		 * @since  1.0.0
		 * @access public
		 */
		public function register() {

			load_plugin_textdomain( 'CalculatorsConstantContactAddon', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );

			add_action( 'mortgage_platform_addons', array( $this, 'init' ), 10 );

		}


		/**
		 * Init function.
		 * @since  1.0.0
		 * @access public
		 */
		public function init() {

			if ( isset(get_option( MortgagePlatform::$prefix . 'export' )['allow_constant_contact']) && get_option( MortgagePlatform::$prefix . 'export' )['allow_constant_contact'] ) {
				add_action( 'export_lead_data', array( new MP_Addon_ConstantContact, 'set_lead_data_to_constant_contact' ) );
			}

			add_filter( MortgagePlatform::$prefix . 'export', array( new MP_Addon_ConstantContact_Settings, 'filter_export_data_settings' ), 40 );


			add_action( 'admin_menu', array( $this, 'add_constant_contact_addon' ), 50 );

			add_action( 'admin_init', array( new MP_Addon_ConstantContact_Settings, 'register' ) , 40);

			if(!empty(get_option(MortgagePlatform::$prefix . 'constant_contact_access_token'))){
				add_action( 'add_meta_boxes', array( new MP_Addon_ConstantContact_Settings, 'constant_contact_metabox' ), 20 );
				add_filter(MortgagePlatform::$prefix . 'add_connectors', array(new MP_Addon_ConstantContact_Settings, 'export_to_constant_contact'));
				add_action(MortgagePlatform::$prefix . 'connector', array( new MP_Addon_ConstantContact, 'send_constant_contact_manually' ));

			}

			add_action( 'init', array(new MP_Addon_ConstantContact, 'decode_state'), 9 );
			add_action( 'update_option', array(new MP_Addon_ConstantContact, 'lists') );

			add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );

			add_action( 'wp_ajax_constant_contact_revoke_token', array( new MP_Addon_ConstantContact, 'revoke_token' ) );
			add_action( 'wp_ajax_constant_contact_send', array( new MP_Addon_ConstantContact, 'constant_contact_send_from_lead_page' ) );
			add_action( 'wp_ajax_export_csv_constant_contact', array( new MP_Addon_ConstantContact, 'export_leads_to_csv_for_constant_contact' ) );
		}

		/**
		 * Activate plugin.
		 * @since  1.0.0
		 * @access public
		 */
		public function activate() {

			flush_rewrite_rules();

			MP_Addon_ConstantContact_Settings::default_settings();

		}


		/**
		 * Deactivate plugin.
		 * @since  1.0.0
		 * @access public
		 */
		public function deactivate() {

			flush_rewrite_rules();

		}


		/**
		 * Add Constant Contact add-on on the add-ons page.
		 * @access public
		 * @since  1.0.0
		 */
		public function add_constant_contact_addon() {

			add_filter( 'mortgage_platform_addon_page', array( $this, 'addon_template' ) );

		}


		/**
		 * Constant Contact add-on template.
		 * @access public
		 * @since  1.0.0
		 */
		public function addon_template() {
			?>
			<div class="mortgage-calculator-addon">
				<h3><?php echo esc_html__( 'Constant Contact add-on', 'CalculatorsConstantContactAddon' ); ?></h3>
				<p><?php echo esc_html__( 'Description', 'CalculatorsConstantContactAddon' ); ?></p>
				<a href="#" class="addon"><?php echo esc_html__( 'install add-on', 'CalculatorsConstantContactAddon' ); ?></a>
			</div>
			<?php
		}


		/**
		 * Enqueue admin scripts.
		 * @access public
		 * @since  1.0.0
		 */
		public function enqueue_admin_scripts( $hook ) {
			if ( ('toplevel_page_mortgage_platform' === $hook && 'mortgage_platform' === $_GET['page'] && isset($_GET['tab']) && ('constant_contact' === $_GET['tab'] || 'export' === $_GET['tab'])) || 'post.php' === $hook ) {
				wp_enqueue_script( 'addon_constant_contact_admin', plugins_url( 'assets/js/constant_contact-admin.js', __FILE__ ), array( 'jquery' ), '1.0.0', true );

				wp_localize_script(
					'addon_constant_contact_admin',
					MortgagePlatform::$prefix . 'constant_contact',
					array(
						'nonce'    => wp_create_nonce( MortgagePlatform::$prefix . 'constant_contact' ),
					)
				);
			}
		}

	}

Top ↑

Methods Methods


Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0 Introduced.