<?php
if (!defined('ABSPATH')) exit;

/**
 * Adiciona a caixa de lojas digitais ao conteúdo do post.
 * A prioridade 6 garante que aparece depois da caixa de download.
 */
add_filter('the_content', 'imz_display_digital_stores_box', 6);
function imz_display_digital_stores_box($content) {
    if (is_singular('post') && in_the_loop() && is_main_query()) {
        $stores_data = get_post_meta(get_the_ID(), '_imz_digital_stores', true);

        // Se não houver lojas adicionadas neste post, não faz nada.
        if (empty($stores_data) || !is_array($stores_data)) {
            return $content;
        }

        $predefined_stores_option = get_option('imz_predefined_stores', []);
        if (empty($predefined_stores_option)) {
            return $content;
        }

        $predefined_stores = [];
        foreach ($predefined_stores_option as $store) {
            if (!empty($store['key'])) {
                $predefined_stores[$store['key']] = $store;
            }
        }

        $title = get_the_title();
        $default_text = "Todos os direitos são reservados ao artista, qualquer arquivo compartilhado foi autorizado pelo proprietário ou agente.";
        $copyright_text = get_option('imz_stores_copyright_text', $default_text);

        // Define quais tags HTML são permitidas no título (para os selos)
        $allowed_html_tags = [
            'span' => ['class' => true],
            'img'  => ['src' => true, 'style' => true, 'alt' => true],
        ];


        ob_start();
        ?>
        <div class="imz-stores-container">
            <div class="imz-stores-header">
                
                <h4><?php echo wp_kses($title, $allowed_html_tags); ?></h4> <p><?php echo esc_html($copyright_text); ?></p>
            </div>
            <div class="imz-stores-price-header">
                <span>Loja</span>
                <strong>Preço</strong>
            </div>
            <ul class="imz-stores-list">
                <?php foreach ($stores_data as $store_entry): ?>
                    <?php
                        $store_key = $store_entry['store_key'] ?? '';
                        if (!isset($predefined_stores[$store_key])) continue;

                        $store_info = $predefined_stores[$store_key];
                        $price = !empty($store_entry['price']) ? $store_entry['price'] : 'Disponível';
                        $button_text = !empty($store_info['button_text']) ? $store_info['button_text'] : 'Acessar';
                    ?>
                    <li>
                        <div class="store-info">
                            <span class="store-name"><?php echo esc_html($store_info['name']); ?></span>
                        </div>
                        <div class="store-price"><?php echo esc_html($price); ?></div>
                        <a href="<?php echo esc_url($store_entry['url']); ?>" class="store-button" target="_blank" rel="noopener noreferrer"><?php echo esc_html($button_text); ?></a>
                    </li>
                <?php endforeach; ?>
            </ul>
        </div>
        <?php
        // Adiciona a nossa caixa de lojas DEPOIS do conteúdo original do post.
        return $content . ob_get_clean();
    }
    return $content;
}