<?php
/**
 * The template for displaying product content in the single-product.php template
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/content-single-product.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 3.6.0
 */

defined( 'ABSPATH' ) || exit;

global $product;

$product_images_wrapper_class    = 'product-image-summary-inner';
$product_images_class            = 'product-images';
$product_summary_class           = 'summary entry-summary';
$product_summary_wrapper_classes = ' wd-grid-g';
$product_image_summary_class     = ' wd-grid-col';
$container_summary               = 'container';
$container_class                 = 'container';

$product_image_summary_attrs   = '';
$product_summary_wrapper_attrs = '';
$product_images_wrapper_attrs  = '';
$product_summary_attrs         = '';
$product_images_attrs          = '';

$single_product_class = woodmart_single_product_class();
$product_design       = woodmart_product_design();
$breadcrumbs_position = woodmart_get_opt( 'single_breadcrumbs_position' );
$image_width          = woodmart_get_opt( 'single_product_style' );
$full_height_sidebar  = woodmart_get_opt( 'full_height_sidebar' );
$page_layout          = woodmart_get_opt( 'single_product_layout' );
$tabs_location        = woodmart_get_opt( 'product_tabs_location' );
$reviews_location     = woodmart_get_opt( 'reviews_location' );
$product_background   = woodmart_get_opt( 'product-background' );
$single_full_width    = woodmart_get_opt( 'single_full_width' );
$page_layout_specific = woodmart_get_post_meta_value( get_the_ID(), '_woodmart_main_layout' );

if ( $page_layout_specific && 'default' !== $page_layout_specific ) {
	$page_layout = $page_layout_specific;
}

if ( 'alt' === $product_design ) {
	woodmart_enqueue_inline_style( 'woo-single-prod-design-centered' );

	$product_summary_class .= ' text-center';
}

if ( 'default' === $product_design ) {
	if ( is_rtl() ) {
		$product_summary_class .= ' text-right';
	} else {
		$product_summary_class .= ' text-left';
	}
}

woodmart_enqueue_inline_style( 'woo-single-prod-predefined' );
woodmart_enqueue_inline_style( 'woo-single-prod-and-quick-view-predefined' );
woodmart_enqueue_inline_style( 'woo-single-prod-el-tabs-predefined' );

// Full width image layout.
if ( in_array( (int) $image_width, array( 4, 5 ), true ) ) {
	woodmart_enqueue_inline_style( 'woo-single-prod-opt-gallery-full-width' );

	if ( '5' === $image_width ) {
		$product_images_class .= ' wd-stretched';
	}
} else {
	$product_images_wrapper_class .= ' wd-grid-g';
	$product_summary_class        .= ' wd-grid-col';
	$product_images_class         .= ' wd-grid-col';

	$product_summary_style  = '--wd-col-lg:' . woodmart_product_summary_size() . ';';
	$product_summary_style .= in_array( (int) woodmart_get_opt( 'single_product_style' ), array( 4, 5 ), true ) ? '--wd-col-md:12;' : '--wd-col-md:6;';
	$product_summary_style .= '--wd-col-sm:12;';

	$product_images_style  = '--wd-col-lg:' . woodmart_product_images_size() . ';';
	$product_images_style .= in_array( (int) woodmart_get_opt( 'single_product_style' ), array( 4, 5 ), true ) ? '--wd-col-md:12;' : '--wd-col-md:6;';
	$product_images_style .= '--wd-col-sm:12;';

	$product_summary_attrs         = ' style="' . $product_summary_style . '"';
	$product_images_attrs          = ' style="' . $product_images_style . '"';
	$product_images_wrapper_attrs .= ' style="--wd-col-lg:12;--wd-gap-lg:30px;--wd-gap-sm:20px;"';
}

$product_summary_wrapper_attrs .= ' style="--wd-col-lg:12;--wd-gap-lg:30px;--wd-gap-sm:20px;"';

if ( $single_full_width ) {
	$container_summary = 'container-fluid';
}

if ( $full_height_sidebar && 'full-width' !== $page_layout ) {
	$container_summary = 'container-none';
	$container_class   = 'container-none';

	$product_image_summary_attrs = ' style="--wd-col-lg:12"';
} else {
	$product_image_summary_attrs = ' style=' . woodmart_get_content_inline_style() . '"';
}

if ( 'full-width' === $page_layout || $full_height_sidebar ) {
	$product_summary_wrapper_attrs   = '';
	$product_summary_wrapper_classes = '';

	$product_image_summary_class = '';
	$product_image_summary_attrs = '';
}

if ( woodmart_get_opt( 'product_sticky' ) || woodmart_get_opt( 'product_summary_shadow' ) || ! empty( $product_background['color'] ) || ! empty( $product_background['id'] ) || ! empty( get_post_meta( $product->get_id(), '_woodmart_extra_content', true ) ) || $single_full_width ) {
	woodmart_enqueue_inline_style( 'woo-single-prod-opt-base' );
}

?>

<?php if ( ( ( 'alt' === $product_design && ( 'default' === $breadcrumbs_position || empty( $breadcrumbs_position ) ) ) || 'below_header' === $breadcrumbs_position ) && ( woodmart_get_opt( 'product_page_breadcrumbs', '1' ) || woodmart_get_opt( 'products_nav' ) ) ) : ?>
	<?php $breadcrumbs_classes = $full_height_sidebar && 'full-width' !== $page_layout ? 'container-none' : 'container'; ?>

	<div class="single-breadcrumbs-wrapper">
		<div class="wd-grid-f <?php echo esc_attr( $breadcrumbs_classes ); ?>">
			<?php if ( woodmart_get_opt( 'product_page_breadcrumbs', '1' ) ) : ?>
				<?php woodmart_current_breadcrumbs( 'shop' ); ?>
			<?php endif; ?>

			<?php if ( woodmart_get_opt( 'products_nav' ) ) : ?>
				<?php wc_get_template( 'single-product/navigation.php' ); ?>
			<?php endif ?>
		</div>
	</div>
<?php endif ?>

<?php if ( has_action( 'woocommerce_before_single_product' ) || post_password_required() ) : ?>
	<div class="container">
		<?php
			/**
			 * Hook: woocommerce_before_single_product.
			 */
			do_action( 'woocommerce_before_single_product' );

		if ( post_password_required() ) {
			echo get_the_password_form(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
			return;
		}

		?>
	</div>
<?php endif; ?>

<div id="product-<?php the_ID(); ?>" <?php wc_product_class( $single_product_class, $product ); ?>>

	<div class="<?php echo esc_attr( $container_summary ); ?>">

		<?php
			/**
			 * Hook: woodmart_before_single_product_summary_wrap.
			 *
			 * @hooked woocommerce_output_all_notices - 10
			 */
			do_action( 'woodmart_before_single_product_summary_wrap' );
		?>

		<div class="product-image-summary-wrap<?php echo esc_attr( $product_summary_wrapper_classes ); ?>"<?php echo wp_kses( $product_summary_wrapper_attrs, true ); ?>>
			<?php
			if ( ! $full_height_sidebar && 'sidebar-left' === woodmart_get_page_layout() ) {
				/**
				 * Hook woocommerce_sidebar
				 *
				 * @hooked woocommerce_get_sidebar - 10
				 */
				do_action( 'woocommerce_sidebar' );
			}
			?>

			<div class="product-image-summary<?php echo esc_attr( $product_image_summary_class ); ?>" <?php echo wp_kses( $product_image_summary_attrs, true ); ?>>
				<div class="<?php echo esc_attr( $product_images_wrapper_class ); ?>"<?php echo wp_kses( $product_images_wrapper_attrs, true ); ?>>
					<div class="<?php echo esc_attr( $product_images_class ); ?>"<?php echo wp_kses( $product_images_attrs, true ); ?>>
						<?php
							/**
							 * Hook woocommerce_before_single_product_summary
							 *
							 * @hooked woocommerce_show_product_sale_flash - 10
							 * @hooked woocommerce_show_product_images - 20
							 */
							do_action( 'woocommerce_before_single_product_summary' );
						?>
					</div>
					<div class="<?php echo esc_attr( $product_summary_class ); ?>"<?php echo wp_kses( $product_summary_attrs, true ); ?>>
						<div class="summary-inner wd-set-mb reset-last-child">
							<?php if ( ( ( 'default' === $product_design && ( 'default' === $breadcrumbs_position || empty( $breadcrumbs_position ) ) ) || 'summary' === $breadcrumbs_position ) && ( woodmart_get_opt( 'product_page_breadcrumbs', '1' ) || woodmart_get_opt( 'products_nav' ) ) ) : ?>
								<div class="single-breadcrumbs-wrapper wd-grid-f">
									<?php if ( woodmart_get_opt( 'product_page_breadcrumbs', '1' ) ) : ?>
										<?php woodmart_current_breadcrumbs( 'shop' ); ?>
									<?php endif; ?>
									<?php if ( woodmart_get_opt( 'products_nav' ) ) : ?>
										<?php wc_get_template( 'single-product/navigation.php' ); ?>
									<?php endif ?>
								</div>
							<?php endif ?>

							<?php
								/**
								 * Hook woocommerce_single_product_summary
								 *
								 * @hooked woocommerce_template_single_title - 5
								 * @hooked woocommerce_template_single_rating - 10
								 * @hooked woocommerce_template_single_price - 10
								 * @hooked woocommerce_template_single_excerpt - 20
								 * @hooked woocommerce_template_single_add_to_cart - 30
								 * @hooked woocommerce_template_single_meta - 40
								 * @hooked woocommerce_template_single_sharing - 50
								 */
								do_action( 'woocommerce_single_product_summary' );
							?>
						</div>
					</div>
				</div>
			</div>

			<?php
			if ( ! $full_height_sidebar && 'sidebar-left' !== woodmart_get_page_layout() ) {
				/**
				 * Hook woocommerce_sidebar
				 *
				 * @hooked woocommerce_get_sidebar - 10
				 */
				do_action( 'woocommerce_sidebar' );
			}
			?>

		</div>

		<?php
			/**
			 * Hook woodmart_after_product_content
			 *
			 * @hooked woodmart_product_extra_content - 20
			 */
			do_action( 'woodmart_after_product_content' );
		?>

	</div>

	<?php if ( 'summary' !== $tabs_location || 'separate' === $reviews_location ) : ?>
		<div class="product-tabs-wrapper">
			<div class="<?php echo esc_attr( $container_class ); ?> product-tabs-inner">
				<?php
					/**
					 * Hook woocommerce_after_single_product_summary
					 *
					 * @hooked woocommerce_output_product_data_tabs - 10
					 * @hooked woocommerce_upsell_display - 15
					 * @hooked woocommerce_output_related_products - 20
					 */
					do_action( 'woocommerce_after_single_product_summary' );
				?>
			</div>
		</div>
	<?php endif; ?>

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

	<div class="<?php echo esc_attr( $container_class ); ?> related-and-upsells">
		<?php
			/**
			 * Hook woodmart_woocommerce_after_sidebar
			 *
			 * @hooked woocommerce_upsell_display - 10
			 * @hooked woocommerce_output_related_products - 20
			 */
			do_action( 'woodmart_woocommerce_after_sidebar' );
		?>
	</div>

</div>

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