<?php

/**
 * The template for displaying related content section
 *
 * This template can be overridden by copying it to yourtheme/movie-engine/global/related.php.
 *
 * HOWEVER, on occasion MovieEngine 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.
 *
 * @note Please do not delete our CSS classes when you customize, as it may break functionality.
 * @package Movie_Engine
 * @subpackage Movie_Engine/templates
 * @version 1.0.0
 * @since 1.0.0
 */

if (! defined("ABSPATH")) {
    exit; // Exit if accessed directly
}

$movie_engine_design = get_option('movie_engine_design_settings', []);
$movie_engine_count = isset($movie_engine_design['movie_related_count']) ? intval($movie_engine_design['movie_related_count']) : 6;
$movie_engine_related_title = $movie_engine_design['movie_related_title'] ?? esc_html__('You May Also Like', 'cine-movie-engine');
$movie_engine_related_columns = isset($movie_engine_design['movie_related_columns']) ? intval($movie_engine_design['movie_related_columns']) : 6;
$movie_engine_related_columns_laptop = isset($movie_engine_design['movie_related_columns_laptop']) ? intval($movie_engine_design['movie_related_columns_laptop']) : 5;
$movie_engine_related_columns_tablet = isset($movie_engine_design['movie_related_columns_tablet']) ? intval($movie_engine_design['movie_related_columns_tablet']) : 4;
$movie_engine_related_columns_mobile = isset($movie_engine_design['movie_related_columns_mobile']) ? intval($movie_engine_design['movie_related_columns_mobile']) : 3;
$movie_engine_related_slider = isset($movie_engine_design['movie_related_slider']) ? $movie_engine_design['movie_related_slider'] : 1;
$movie_engine_slider_class = $movie_engine_related_slider ? 'movie-engine-slider-enabled' : '';
$movie_engine_related_query = \MovieEngine\Frontend\Query::get_related_posts(get_the_ID(), $movie_engine_count > 0 ? $movie_engine_count : 6);

if ($movie_engine_related_query->have_posts()) :
?>
    <section class="movie-engine-section movie-engine-related-section <?php echo esc_attr($movie_engine_slider_class); ?>"
        style="--grid-columns: <?php echo esc_attr($movie_engine_related_columns); ?>; --grid-columns-laptop: <?php echo esc_attr($movie_engine_related_columns_laptop); ?>; --grid-columns-tablet: <?php echo esc_attr($movie_engine_related_columns_tablet); ?>; --grid-columns-mobile: <?php echo esc_attr($movie_engine_related_columns_mobile); ?>;">
        <div class="movie-engine-section-title me-section-header">
            <h2><?php echo esc_html($movie_engine_related_title); ?></h2>
            <?php
            if ($movie_engine_related_query->found_posts > $movie_engine_count) :
                $movie_engine_related_url = '';
                if (!empty($movie_engine_design['movie_archive_page'])) {
                    $movie_engine_related_url = get_permalink($movie_engine_design['movie_archive_page']);
                } elseif (!empty($movie_engine_design['browse_page'])) {
                    $movie_engine_related_url = get_permalink($movie_engine_design['browse_page']);
                } else {
                    $movie_engine_related_url = get_post_type_archive_link('movie_engine_movie');
                }

                $movie_engine_genres = wp_get_post_terms(get_the_ID(), 'movie_engine_genre', ['fields' => 'slugs']);
                if (!empty($movie_engine_genres) && !is_wp_error($movie_engine_genres)) {
                    $movie_engine_related_url = add_query_arg('movie_engine_genre', $movie_engine_genres[0], $movie_engine_related_url);
                }
            ?>
                <a href="<?php echo esc_url($movie_engine_related_url); ?>" class="movie-engine-view-all me-view-all">
                    <?php esc_html_e('View All', 'cine-movie-engine'); ?> <span class="fa-solid fa-angle-right"></span>
                </a>
            <?php endif; ?>
        </div>
        <div class="movie-engine-items-grid">
            <?php
            while ($movie_engine_related_query->have_posts()) :
                $movie_engine_related_query->the_post();
                \MovieEngine\Utils\TemplateLoader::get_template_part('loop/content-movie');
            endwhile;
            wp_reset_postdata();
            ?>
        </div>
    </section>
<?php
endif;
