MP_Addon_CalculatorsReportingAddon
Source Source
File: calculator-reporting-add-on/calculator-reporting-add-on.php
class MP_Addon_CalculatorsReportingAddon {
/**
* Init Calculator functions
*
* @since 1.0.0
* @access public
*/
public function init() {
add_action( 'mortgage_platform_addons', array( $this, 'actions' ), 40 );
}
/**
* Actions.
*
* @since 1.0.0
* @access public
*/
public function actions() {
add_filter( MortgagePlatform::$prefix . 'result_addition', array( $this, 'result_addition' ), 10, 2 );
add_filter( MortgagePlatform::$prefix . 'after_calculator_result', array( $this, 'share_result' ), 10, 2 );
add_action( MortgagePlatform::$prefix . 'addons-styles', array( $this, 'enqueue_scripts' ) );
add_filter( MortgagePlatform::$prefix . 'iframe_mortgage_calculator_scripts', array( $this, 'iframe_scripts' ) );
add_action('admin_menu', array($this, 'add_mortgage_platform_addon'), 50);
$this->ajax();
}
/**
* Add Reporting add-on to Mortgage Platform.
*
* @access public
* @since 1.0.0
*/
public function add_mortgage_platform_addon() {
add_filter('mortgage_platform_addon_page', array($this, 'addon_template'));
}
/**
* Reporting add-on template.
*
* @access public
* @since 1.0.0
*/
public function addon_template() {
?>
<div class="mortgage-calculator-addon">
<h3><?php echo esc_html__('Reporting add-on','CalculatorsReportingAddon'); ?></h3>
<p><?php echo esc_html__('Description','CalculatorsReportingAddon'); ?></p>
<a href="#" class="addon"><?php echo esc_html__('install add-on','CalculatorsReportingAddon'); ?></a>
</div>
<?php
}
/**
* AJAX functions.
*
* @access protected
* @since 1.0.0
*/
protected function ajax() {
add_action( 'wp_ajax_mortgagecalculator_xls', array( new MP_Addon_Reporting_Downloads(), 'download_result_in_xls' ) );
add_action( 'wp_ajax_nopriv_mortgagecalculator_xls', array( new MP_Addon_Reporting_Downloads(), 'download_result_in_xls' ) );
add_action( 'wp_ajax_mortgagecalculator_pdf', array( new MP_Addon_Reporting_Downloads(), 'download_result_in_pdf' ) );
add_action( 'wp_ajax_nopriv_mortgagecalculator_pdf', array( new MP_Addon_Reporting_Downloads(), 'download_result_in_pdf' ) );
add_action( 'wp_ajax_mortgagecalculator_html', array( new MP_Addon_Reporting_Downloads(), 'download_result_in_html' ) );
add_action( 'wp_ajax_nopriv_mortgagecalculator_html', array( new MP_Addon_Reporting_Downloads(), 'download_result_in_html' ) );
add_action( 'wp_ajax_mortgagecalculator_share_result', array( new MP_Addon_Reporting_Downloads(), 'share_result_in_html' ) );
add_action( 'wp_ajax_nopriv_mortgagecalculator_share_result', array( new MP_Addon_Reporting_Downloads(), 'share_result_in_html' ) );
add_action( 'wp_ajax_mortgagecalculator_share_bitly', array( new MP_Addon_Reporting_Downloads(), 'share_bitly' ) );
add_action( 'wp_ajax_nopriv_mortgagecalculator_share_bitly', array( new MP_Addon_Reporting_Downloads(), 'share_bitly' ) );
}
/**
* Add Reporting.
*
* @since 1.0.0
* @access public
*
* @param string $context
* @param string $mortgage_settings
*
* @return string
*/
public function result_addition( $context , $mortgage_settings) {
ob_start();
/**
* Template.
*/
require plugin_dir_path( __FILE__ ) . 'templates/template.php';
$out = ob_get_clean();
$context .= $out;
return $context;
}
/**
* Add Share Result Block.
*
* @since 1.0.0
* @access public
*
* @param string $context
* @param string $mortgage_settings
*
* @return string
*/
public function share_result( $context, $mortgage_settings ) {
ob_start();
/**
* Share result.
*/
require plugin_dir_path( __FILE__ ) . 'templates/share-result.php';
$out = ob_get_clean();
$context .= $out;
return $context;
}
/**
* Enqueue scripts and styles.
*
* @since 1.0.0
* @access public
*/
public function enqueue_scripts() {
wp_enqueue_style( 'CalculatorsReportingAddon', plugins_url( 'assets/resultAddition.css', __FILE__ ), array(), MortgagePlatform::$mortgage_platform_version );
wp_enqueue_script( 'CalculatorsReportingAddon', plugins_url( 'assets/resultAddition.js', __FILE__ ), array(), MortgagePlatform::$mortgage_platform_version, true );
}
/**
* Enqueue scripts and style for Iframe embed.
*
* @since 1.0.0
* @access public
*/
public function iframe_scripts() {
echo '<link rel="stylesheet" href="' . esc_url( plugins_url( 'assets/resultAddition.css', __FILE__ ) ) . '">';
echo '<script src="' . esc_url( plugins_url( 'assets/resultAddition.js', __FILE__ ) ) . '"></script>';
}
/**
* Activate plugin.
*
* @since 1.0.0
* @access public
*/
public function activate() {
flush_rewrite_rules();
}
/**
* Deactivate plugin.
*
* @since 1.0.0
* @access public
*/
public function deactivate() {
flush_rewrite_rules();
}
}
Methods Methods
- actions — Actions.
- activate — Activate plugin.
- add_mortgage_platform_addon — Add Reporting add-on to Mortgage Platform.
- addon_template — Reporting add-on template.
- ajax — AJAX functions.
- deactivate — Deactivate plugin.
- enqueue_scripts — Enqueue scripts and styles.
- iframe_scripts — Enqueue scripts and style for Iframe embed.
- init — Init Calculator functions
- result_addition — Add Reporting.
- share_result — Add Share Result Block.
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0 | Introduced. |