<?php
/**
 * Pay for order form
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/checkout/form-pay.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce\Templates
 * @version 5.2.0
 */

defined( 'ABSPATH' ) || exit;

if ( ! $order ) {
	return;
}

use Bright_Deposits_For_WooCommerce\Helpers\Helper;

$totals = $order->get_order_item_totals();
if ( isset( $totals['cart_subtotal'] ) ) {
	unset( $totals['cart_subtotal'] );
}
?>
<form id="order_review" method="post">

	<table class="shop_table">
		<thead>
			<tr>
				<th class="product-name"><?php esc_html_e( 'Product', 'bright-deposits-for-woocommerce' ); ?></th>
			</tr>
		</thead>
		<tbody>
			<?php
			$bdfwbp_original_products_data = $order->get_meta( '_original_parent_order_products', true );
			$bdfwbp_original_products_data = ! empty( $bdfwbp_original_products_data ) ? json_decode( $bdfwbp_original_products_data, true ) : [];

			if ( is_array( $bdfwbp_original_products_data ) && ! empty( $bdfwbp_original_products_data ) ) : ?>
				<tr class="original-products-summary">
					<td colspan="3">
						<div class="bdfw-payment-for-summary">
							<h4><?php echo esc_html( Helper::getOptionValue( 'bdfw_payment_installment_label' ) ); ?></h4>
							<ul class="bdfw-product-list">
							<?php foreach ( $bdfwbp_original_products_data as $bdfwbp_product_info ) : ?>
								<li>
									<span class="bdfw-product-name"><strong><?php echo esc_html( $bdfwbp_product_info['name'] ); ?></strong></span>
									<span class="bdfw-product-quantity">&times;&nbsp;<?php echo esc_html( $bdfwbp_product_info['quantity'] ); ?></span>
									<span class="bdfw-product-price">&rArr;&nbsp;<?php echo wp_kses_post( wc_price( $bdfwbp_product_info['price'] ) ); ?></span>
								</li>
							<?php endforeach; ?>
							</ul>
						</div>
					</td>
				</tr>
			<?php endif; ?>
		</tbody>
		<tfoot>
			<?php if ( $totals ) : ?>
				<?php foreach ( $totals as $bdfwbp_total ) :?>
					<tr>
						<th scope="row" colspan="2"><?php echo esc_html( $bdfwbp_total['label'] ); ?></th>
						<td class="product-total"><?php echo wp_kses_post( $bdfwbp_total['value'] ); ?></td>
					</tr>
				<?php endforeach; ?>
			<?php endif; ?>
		</tfoot>
	</table>

	<div id="payment">
		<?php if ( $order->needs_payment() ) : ?>
			<ul class="wc_payment_methods payment_methods methods">
				<?php
				if ( ! empty( $available_gateways ) ) {
					foreach ( $available_gateways as $bdfwbp_gateway ) {
						wc_get_template( 'checkout/payment-method.php', array( 'gateway' => $bdfwbp_gateway ) );
					}
				} else {
					echo '<li class="woocommerce-notice woocommerce-notice--info woocommerce-info">' . apply_filters( 'woocommerce_no_available_payment_methods_message', esc_html__( 'Sorry, it seems that there are no available payment methods for your location. Please contact us if you require assistance or wish to make alternate arrangements.', 'bright-deposits-for-woocommerce' ) ) . '</li>'; // @codingStandardsIgnoreLine
				}
				?>
			</ul>
		<?php endif; ?>
		<div class="form-row">
			<input type="hidden" name="woocommerce_pay" value="1" />

			<?php wc_get_template( 'checkout/terms.php' ); ?>

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

			<?php echo apply_filters( 'woocommerce_pay_order_button_html', '<button type="submit" class="button alt" id="place_order" value="' . esc_attr( $order_button_text ) . '" data-value="' . esc_attr( $order_button_text ) . '">' . esc_html( $order_button_text ) . '</button>' ); // @codingStandardsIgnoreLine ?>

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

			<?php wp_nonce_field( 'woocommerce-pay', 'woocommerce-pay-nonce' ); ?>
		</div>
	</div>
</form>
