MP_Addon_CalculatorsReportingAddon

Class 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();

		}


	}

Top ↑

Methods Methods


Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0 Introduced.