MP_Addon_CalculatorsInfusionsoftAddon

Class MP_Addon_CalculatorsInfusionsoftAddon.


Source Source

File: calculator-infusionsoft-add-on/calculator-infusionsoft-add-on.php

	class MP_Addon_CalculatorsInfusionsoftAddon {


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

			load_plugin_textdomain( 'CalculatorsInfusionsoftAddon', 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_infusionsoft']) && get_option( MortgagePlatform::$prefix . 'export' )['allow_infusionsoft'] ) {
				add_action( 'export_lead_data', array( new MP_Addon_Infusionsoft, 'set_lead_data_to_infusionsoft' ) );
			}

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


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

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

			if(!empty(get_option(MortgagePlatform::$prefix . 'infusionsoft_access_token'))){
				add_action( 'add_meta_boxes', array( new MP_Addon_Infusionsoft_Settings, 'infusionsoft_metabox' ), 20 );
				add_filter(MortgagePlatform::$prefix . 'add_connectors', array(new MP_Addon_Infusionsoft_Settings, 'export_to_infusionsoft'));
				add_action(MortgagePlatform::$prefix . 'connector', array( new MP_Addon_Infusionsoft, 'send_infusionsoft_manually' ));
			}

			add_action( 'init', array(new MP_Addon_Infusionsoft, 'decode_state'), 9 );

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

			add_action( 'wp_ajax_infusionsoft_revoke_token', array( new MP_Addon_Infusionsoft, 'revoke_token' ) );
			add_action( 'wp_ajax_infusionsoft_send', array( new MP_Addon_Infusionsoft, 'infusionsoft_send_from_lead_page' ) );
			add_action( 'wp_ajax_send-infusionsoft-manually', array( new MP_Addon_Infusionsoft, 'send_infusionsoft_manually' ) );
			add_action( 'wp_ajax_export_csv_infusionsoft', array( new MP_Addon_Infusionsoft, 'export_leads_to_csv_for_infusionsoft' ) );
		}

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

			flush_rewrite_rules();

			MP_Addon_Infusionsoft_Settings::default_settings();

		}


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

			flush_rewrite_rules();

		}


		/**
		 * Add Infusionsoft add-on on the add-ons page.
		 * @access public
		 * @since  1.0.0
		 */
		public function add_infusionsoft_addon() {

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

		}


		/**
		 * Infusionsoft add-on template.
		 * @access public
		 * @since  1.0.0
		 */
		public function addon_template() {
			?>
			<div class="mortgage-calculator-addon">
				<h3><?php echo esc_html__( 'Infusionsoft add-on', 'CalculatorsInfusionsoftAddon' ); ?></h3>
				<p><?php echo esc_html__( 'Description', 'CalculatorsInfusionsoftAddon' ); ?></p>
				<a href="#"
				   class="addon"><?php echo esc_html__( 'install add-on', 'CalculatorsInfusionsoftAddon' ); ?></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']) && ('infusionsoft' === $_GET['tab'] || 'export' === $_GET['tab'])) || 'post.php' === $hook ) {
				wp_enqueue_script( 'addon_infusionsoft_admin', plugins_url( 'assets/js/infusionsoft-admin.js', __FILE__ ), array( 'jquery' ), '1.0.0', true );

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

	}

Top ↑

Methods Methods


Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0 Introduced.