MP_Addon_CalculatorsDynamicsAddon

Class MP_Addon_CalculatorsDynamicsAddon.


Source Source

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

	class MP_Addon_CalculatorsDynamicsAddon {


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

			load_plugin_textdomain( 'CalculatorsDynamicsAddon', 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_dynamics'] ) && get_option( MortgagePlatform::$prefix . 'export' )['allow_dynamics'] ) {
				add_action( 'export_lead_data', array( new MP_Addon_Dynamics, 'set_lead_data_to_dynamics' ) );
			}

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

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

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

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

			if ( ! empty( get_option( MortgagePlatform::$prefix . 'dynamics_access_token' ) ) ) {
				add_action( 'add_meta_boxes', array( new MP_Addon_Dynamics_Settings, 'dynamics_metabox' ), 20 );
				add_filter( MortgagePlatform::$prefix . 'add_connectors', array( new MP_Addon_Dynamics_Settings, 'export_to_dynamics') );
				add_action( MortgagePlatform::$prefix . 'connector', array( new MP_Addon_Dynamics, 'send_dynamics_manually') );
			}

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

			add_action( 'wp_ajax_dynamics_revoke_token', array( new MP_Addon_Dynamics, 'revoke_token' ) );
			add_action( 'wp_ajax_dynamics_send', array( new MP_Addon_Dynamics, 'dynamics_send_from_lead_page' ) );

			add_action( 'wp_ajax_export_csv_dynamics', array( new MP_Addon_Dynamics, 'dynamics_csv' ) );

		}


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

			flush_rewrite_rules();

			MP_Addon_Dynamics_Settings::default_settings();
		}


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

			flush_rewrite_rules();

		}


		/**
		 * Add Dynamics 365 add-on on the add-ons page.
		 * @access public
		 * @since  1.0.0
		 */
		public function add_dynamics_addon() {

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

		}


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

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

		}

	}

Top ↑

Methods Methods


Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0 Introduced.