<?php
/**
 * Review order table
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/checkout/review-order.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;

$dynamic_settings = [
	'table_subtotal' => "Subtotal",
	'table_shipping' => "Shipping",
	'table_total' 	 => "Total"
];
if( isset( $settings['table_subtotal'] ) ){
	$dynamic_settings = $settings;
}else{
	$checkout_page_id = WooLentor_Checkout_Page::instance()->get_checkout_page_id();
	$checkout_order_overview = woolentor_pro_get_settings_by_widget_name( $checkout_page_id, 'wl-checkout-order-review' );
	if( isset( $checkout_order_overview['settings']['table_subtotal'] ) ){
		$dynamic_settings = $checkout_order_overview['settings'];
	}
}

?>
<table class="shop_table woocommerce-checkout-review-order-table">
	<tfoot>

		<tr class="cart-subtotal">
			<th><?php esc_html_e( $dynamic_settings['table_subtotal'], 'woolentor-pro' ); ?></th>
			<td><?php wc_cart_totals_subtotal_html(); ?></td>
		</tr>

		<?php foreach ( WC()->cart->get_coupons() as $code => $coupon ) : ?>
			<tr class="cart-discount coupon-<?php echo esc_attr( sanitize_title( $code ) ); ?>">
				<th><?php wc_cart_totals_coupon_label( $coupon ); ?></th>
				<td><?php wc_cart_totals_coupon_html( $coupon ); ?></td>
			</tr>
		<?php endforeach; ?>

		<tr class="woocommerce-shipping-totals shipping">
			
		<?php if ( WC()->cart->needs_shipping() && WC()->cart->show_shipping() ) :
		        $packages = WC()->shipping()->get_packages();

		        $chosen_method = '';
		        $method_obj = '';
		        foreach ( $packages as $i => $package ) {
		            $chosen_method = isset( WC()->session->chosen_shipping_methods[ $i ] ) ? WC()->session->chosen_shipping_methods[ $i ] : '';
		            $available_methods = $package['rates'];
		            $method_obj = isset($available_methods[$chosen_method]) ? $available_methods[$chosen_method] : '';
		        }

		        if( $method_obj && $chosen_method ):
		    ?>
				<th><?php esc_html_e( $dynamic_settings['table_shipping'], 'woolentor-pro' ); ?></th>
		        <td data-title="Shipping"><?php echo wp_kses_post(wc_cart_totals_shipping_method_label( $method_obj ) ) ?></td>

		<?php    endif; //chosen method
		    endif;
		?>
		</tr>

		<?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
			<tr class="fee">
				<th><?php echo esc_html( $fee->name ); ?></th>
				<td><?php wc_cart_totals_fee_html( $fee ); ?></td>
			</tr>
		<?php endforeach; ?>

		<?php if ( wc_tax_enabled() && ! WC()->cart->display_prices_including_tax() ) : ?>
			<?php if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) : ?>
				<?php foreach ( WC()->cart->get_tax_totals() as $code => $tax ) : // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited ?>
					<tr class="tax-rate tax-rate-<?php echo esc_attr( sanitize_title( $code ) ); ?>">
						<th><?php echo esc_html( $tax->label ); ?></th>
						<td><?php echo wp_kses_post( $tax->formatted_amount ); ?></td>
					</tr>
				<?php endforeach; ?>
			<?php else : ?>
				<tr class="tax-total">
					<th><?php echo esc_html( WC()->countries->tax_or_vat() ); ?></th>
					<td><?php wc_cart_totals_taxes_total_html(); ?></td>
				</tr>
			<?php endif; ?>
		<?php endif; ?>

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

		<tr class="order-total">
			<th><?php esc_html_e( $dynamic_settings['table_total'], 'woolentor-pro' ); ?></th>
			<td><?php wc_cart_totals_order_total_html(); ?></td>
		</tr>

		<tr class="woolentor-save">
			<!-- <td colspan="2">&nbsp;</td> -->
		</tr>

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

	</tfoot>
</table>
