<?php
/*
 * Jetpack CRM
 * https://jetpackcrm.com
 * V1.1.19
 *
 * Copyright 2020 Automattic
 *
 * Date: 25/10/16
 */

defined( 'ZEROBSCRM_PATH' ) || exit( 0 );

# NOTE: http://themeflection.com/replace-wordpress-submit-meta-box/

/*
======================================================
	Init Func
	====================================================== */

function zeroBSCRM_SubmitMetaboxSetup() {

	$zeroBS__SubmitMetabox = new zeroBS__SubmitMetabox( __FILE__ );
}

	add_action( 'admin_init', 'zeroBSCRM_SubmitMetaboxSetup' );

/*
======================================================
	/ Init Func
	====================================================== */

/*
======================================================
	Submit Metabox
	====================================================== */

class zeroBS__SubmitMetabox {

	static $instance;
	#private $packPerm;
	#private $pack;
	private $postTypes;
	private $postTypesLabels;

	public function __construct( $plugin_file ) {
		# if ( $this->instance instanceof wProject_Metabox ) {
		#    wp_die( sprintf( __( 'Cannot instantiate singleton class: %1$s. Use %1$s::$instance instead.', 'zero-bs-crm' ), __CLASS__ ) );
		#} else {
			self::$instance = $this;
		#}

		#$this->postType = 'zerobs_customer';
		#add_action( 'add_meta_boxes', array( $this, 'create_meta_box' ) );
		#} Moved to multiples 1.1.19 WH

		$this->postTypes = array( 'zerobs_invoice' );
		#} Temp
		$this->postTypesLabels = array(
			'zerobs_invoice' => 'Invoice',
		);
		add_action( 'add_meta_boxes', array( $this, 'initMetaBox' ) );

		#add_filter( 'save_post', array( $this, 'save_meta_box' ), 10, 2 );
	}

	public function initMetaBox() {

		if ( count( $this->postTypes ) > 0 ) {
			foreach ( $this->postTypes as $pt ) {

				#} pass an arr
				$callBackArr = array( $this, $pt );

				add_meta_box(
					'wpzbscsub_itemdetails_' . $pt,
					__( $this->postTypesLabels[ $pt ], 'zero-bs-crm' ) . ' Actions', #quick title
					array( $this, 'print_meta_box' ),
					$pt,
					'side',
					'low',
					$callBackArr
				);

			}
		}
	}
	/*
	public function create_meta_box() {


		#} Don't share for new customers :)
		#if (isset($this->ID)){

				add_meta_box(
					'wpzbscext_itemdetails',
					'External Source(s)',
					array( $this, 'print_meta_box' ),
					$this->postType,
					'side',
					'low'
				);

		#}
	}
	*/
	public function print_meta_box( $post, $metabox ) {

			#} Post type
			$postType = '';
		if ( isset( $metabox['args'] ) && isset( $metabox['args'][1] ) && ! empty( $metabox['args'][1] ) ) {
			$postType = $metabox['args'][1];
		}

			#} Only load if is legit.
		if ( in_array( $postType, array( 'zerobs_invoice' ) ) ) {

			#} if a saved post...
			if ( isset( $post->post_status ) && $post->post_status != 'auto-draft' ) {
				?>
						<input type="hidden" name="meta_box_ids[]" value="<?php echo esc_attr( $metabox['id'] ); ?>" />

				
						<?php
						$zbs_inv_meta = get_post_meta( $post->ID, 'zbs_customer_invoice_meta', true );

						if ( ! isset( $zbs_inv_meta['status'] ) ) {
							$zbs_stat = 'Draft';
						} else {
							$zbs_stat = $zbs_inv_meta['status'];
						}

						global $zbsCustomerInvoiceFields;

						$sel = '';
						?>
								<div class="zbs-actions-side">
									<div class="row">
										<div class='pull-left zbs-what'>
									<?php esc_html_e( 'Status', 'zero-bs-crm' ); ?>
										</div>
										<div class="action pull-right">
											<select id="invoice_status" name="invoice_status">
										<?php
										foreach ( $zbsCustomerInvoiceFields['status'][3] as $z ) {
											if ( $z == $zbs_stat ) {
												$sel = 'selected';
											} else {
												$sel = '';}
											echo '<option value="' . esc_attr( $z ) . '"' . esc_attr( $sel ) . '>' . esc_html__( $z, 'zero-bs-crm' ) . '</option>';
										}
										?>
											</select>
										</div>
									</div>
								</div>





								<div class="clear"></div>

								<?php do_action( 'zbs_invpro_itemlink' ); ?>

								<div class="clear"></div>
						 
					   
							<div class='bottom zbs-invoice-actions-bottom'>
								<button class='button button-primary button-large pull-right' id="zbs_invoice_save"><?php esc_attr_e( 'Update', 'zero-bs-crm' ); ?></button>
								<?php

								#} Quick ver of this: http://themeflection.com/replace-wordpress-submit-meta-box/

								?>
								<div id="delete-action" class='pull-left'>
							<?php
							if ( current_user_can( 'delete_post', $post->ID ) ) {
								if ( ! EMPTY_TRASH_DAYS ) {
									$delete_text = __( 'Delete Permanently', 'zero-bs-crm' );
								} else {
									$delete_text = __( 'Move to Trash', 'zero-bs-crm' );
								}
								?>
								<a class="submitdelete deletion" href="<?php echo get_delete_post_link( $post->ID ); ?>"><?php echo esc_html( $delete_text ); ?></a>
									<?php
							} //if
							?>
								</div>
								<div class='clear'></div>
							</div>
					<?php

			} else {

				?>

				<?php do_action( 'zbs_invpro_itemlink' ); ?>

					<button class='button button-primary button-large' id="zbs_invoice_save"><?php esc_html_e( 'Save', 'zero-bs-crm' ); ?></button>

				<?php

					#} If it's a new post

					#} Gross hide :/

			}
		} // / only load if post type
	}

	/*
		not req public function save_meta_box( $post_id, $post ) {
		if( empty( $_POST['meta_box_ids'] ) ){ return; }
		foreach( $_POST['meta_box_ids'] as $metabox_id ){
			if( ! wp_verify_nonce( $_POST[ $metabox_id . '_nonce' ], 'save_' . $metabox_id ) ){ continue; }
			#if( count( $_POST[ $metabox_id . '_fields' ] ) == 0 ){ continue; }
			if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ){ continue; }

			if( $metabox_id == 'wpzbscext_itemdetails'  && $post->post_type == $this->postType){

				#} Nothing needed
			}
		}

		return $post;
	} */
}

/**
 * End of Submit Metabox
 */
