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' ),
)
);
}
}
}
Methods Methods
- activate — Activate plugin.
- add_dynamics_addon — Add Dynamics 365 add-on on the add-ons page.
- addon_template — Dynamics 365 add-on template.
- deactivate — Deactivate plugin.
- enqueue_admin_scripts — Enqueue admin scripts.
- init — Init function.
- register — Register functions.
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0 | Introduced. |