wpmudev-sls
12/17/2017 - 11:08 AM

[Membership 2] - Modify invoice date

[Membership 2] - Modify invoice date

<?php

/**
* Plugin Name: DateTime modify
* Plugin URI: https://premium.wpmudev.org/
* Description: This will add time information with date information in the invoice of the membership plugin
* Author: Ariful Islam @ WPMUDEV
* Author URI: https://premium.wpmudev.org/profile/itsarifulislam
* License: GPLv2 or later
*/


if ( ! defined( 'ABSPATH' ) ) {
	exit;
}


if ( ! class_exists( 'Membership_Datetime_Modify' ) ) {

	class Membership_Datetime_Modify {

		public static $datetime_saparator = ', at ';

		private static $_instance = null;

		public static function get_instance() {

			if( is_null( self::$_instance ) ) {
				self::$_instance = new Membership_Datetime_Modify();
			}

			return self::$_instance;

		}


		private function __construct() {

			if ( !class_exists('MS_Helper_Period') ) return;

			add_filter('ms_model_invoice_create_before_save', array( $this, 'ms_model_invoice_create_before_save' ), 10, 1);

			add_filter('ms_view_billing_edit_prepare_fields', array( $this, 'ms_view_billing_edit_prepare_fields' ), 10, 2);
			
		}


		public function ms_model_invoice_create_before_save( $invoice ) {

			$invoice->invoice_date = MS_Helper_Period::current_date('Y-m-d H:i:s');

			return $invoice;

		}


		public function ms_view_billing_edit_prepare_fields( $fields, $calss ) {

			$invoice = $calss->data['invoice'];

			$fields['txt_created']['value'] = MS_Helper_Period::format_date( $invoice->invoice_date, get_option( 'date_format' ) ) . esc_html__(self::$datetime_saparator) . MS_Helper_Period::format_date( $invoice->invoice_date, get_option( 'time_format' ) );

			return $fields;

		}

	}


	function render_membership_satetime_modify(){

		$GLOBALS['Membership_Datetime_Modify'] = Membership_Datetime_Modify::get_instance();

	}

	add_action( 'plugins_loaded', 'render_membership_satetime_modify' );

}