<?php if (!defined('ABSPATH')) exit; ?>
<?php $imprese = explode(',', get_option('annfu_onoranza_funebre_id')); ?>
<div
    class="annfu impresa-<?php echo esc_attr(str_replace(',', '-', get_option('annfu_onoranza_funebre_id'))); ?> <?php echo in_array($imprese[0], ANNFU_GRUPPO_CONCORDIA) ? 'impresa-concordia' : '' ?> <?php echo in_array($imprese[0], ANNFU_PFA) ? 'impresa-pfa' : '' ?>">

    <?php include(ANNFU_PLUGIN_PATH_TEMPLATE_DEFAULT . '_custom-css.php') ?>

    <?php global $wp_query, $annuncio; ?>
    <?php $vars = $wp_query->query_vars; ?>

    <?php if (isset($vars['comune']) && isset($vars['slug'])): ?>

        <?php if (is_null($annuncio)): ?>
            <?php
            $response = wp_remote_get(ANNFU_SITE_API . "/v2/annunci/" . $vars['slug'] . "?" . time(), [
                'sslverify' => false,
                'timeout' => ANNFU_REMOTE_TIMEOUT,
                'headers' => ['of' => get_option('annfu_onoranza_funebre_id')]
            ]);
            ?>
            <?php $annuncio = json_decode(wp_remote_retrieve_body($response), true); ?>
        <?php endif; ?>

        <?php if (array_key_exists('error', $annuncio)): ?>
            <p>Annuncio non trovato</p>
        <?php else: ?>

            <?php
            // Salva la struttura originale dell'annuncio per evitare conflitti con chiamate multiple
            $annuncio_full = $annuncio;
            $metaData = $annuncio_full['metaData'];
            $annuncio = $annuncio_full['data'];  // Sovrascrive temporaneamente
            ?>

            <?php
            // Cache per evitare chiamate multiple all'endpoint testiDefault
            global $annfu_cache_testi_default;
            if (!isset($annfu_cache_testi_default)) {
                $response = wp_remote_get(ANNFU_SITE_API . "/v2/testiDefault", ['sslverify' => false, 'timeout' => ANNFU_REMOTE_TIMEOUT]);
                $annfu_cache_testi_default = json_decode(wp_remote_retrieve_body($response), true);
            }
            $testi = $annfu_cache_testi_default;
            ?>

            <div
                class="annfu_wrapper <?php echo esc_attr($annuncio['slug']); ?> <?php echo esc_attr($annuncio['tipoAnnuncio']); ?>">

                <?php if (isset($_GET['msg'])): // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Display message only, no action taken. ?>
                    <?php $msg = sanitize_text_field(wp_unslash($_GET['msg'])); // phpcs:ignore WordPress.Security.NonceVerification.Recommended ?>
                    <?php if ($msg == 'verificato'): ?>
                        <div class="annfu_verificato">Grazie per aver verificato il tuo numero. La foto verrà inviata alla famiglia che
                            deciderà
                            se renderla pubblica.
                        </div>
                    <?php elseif ($msg == 'non-verificato'): ?>
                        <div class="annfu_non_verificato">Non è stato possibile verificare la tua identità.</div>
                    <?php endif; ?>
                <?php endif; ?>

                <?php if (get_option('annfu_breadcrumbs') == 1): ?>
                    <div id="annfu_regione_provincia_comune">
                        <a href="<?php echo esc_url(get_site_url() . '/' . ANNFU_PAGE_ANNUNCI); ?>">Italia</a> /
                        <a
                            href="<?php echo esc_url(get_site_url() . '/' . ANNFU_PAGE_ANNUNCI . '/' . $annuncio['regione']['slug']); ?>"><?php echo esc_html($annuncio['regione']['regione']); ?></a>
                        /
                        <a
                            href="<?php echo esc_url(get_site_url() . '/' . ANNFU_PAGE_ANNUNCI . '/' . $annuncio['regione']['slug'] . '/' . $annuncio['provincia']['slug']); ?>"><?php echo esc_html($annuncio['provincia']['provincia']); ?></a>
                        /
                        <?php echo esc_html($annuncio['comune']['comune']); ?>
                    </div>
                <?php endif; ?>

                <?php
                // === Sistema Dual-Mode Elementor con Priorità ===
                $id_template_elementor = false;
                $usa_elementor = false;

                // PRIORITÀ 1: Template Elementor selezionato manualmente per la pagina "dettaglio annuncio"
                $templateElementorPagina = get_option('annfu_template_elementor_annuncio', '');
                if (!empty($templateElementorPagina) && did_action('elementor/loaded')) {
                    $id_template_elementor = intval($templateElementorPagina);
                    $usa_elementor = true;
                }

                // PRIORITÀ 2: Template Elementor automatico per onoranza (se non c'è template per pagina)
                if (!$usa_elementor) {
                    $id_onoranza = isset($imprese[0]) ? intval($imprese[0]) : 0;
                    if (class_exists('ANNFU_Gestore_Template') && class_exists('\Elementor\Plugin') && $id_onoranza > 0) {
                        $id_template_elementor = ANNFU_Gestore_Template::ottieni_id_template_per_onoranza($id_onoranza);
                        $usa_elementor = $id_template_elementor !== false;
                    }
                }

                if ($usa_elementor):
                    // RENDERING CON ELEMENTOR
                    ANNFU_Fornitore_Dati::imposta_annuncio($annuncio);
                    echo \Elementor\Plugin::instance()->frontend->get_builder_content($id_template_elementor, true); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
                else:
                    // FALLBACK: Rendering PHP Tradizionale
                    $template = get_annfu_template();
                    if (file_exists(ANNFU_PLUGIN_PATH . 'templates/' . $template . '/_annuncio.php')):
                        include(ANNFU_PLUGIN_PATH . 'templates/' . $template . '/_annuncio.php');
                    else:
                        include(ANNFU_PLUGIN_PATH_TEMPLATE_DEFAULT . '_annuncio.php');
                    endif;
                endif;
                ?>

            </div>

            <div class="clearfix"></div>

            <?php include(ANNFU_PLUGIN_PATH_TEMPLATE_DEFAULT . '_modal-testi.php') ?>
            <?php include(ANNFU_PLUGIN_PATH_TEMPLATE_DEFAULT . '_modal-fiori.php') ?>
            <?php include(ANNFU_PLUGIN_PATH_TEMPLATE_DEFAULT . '_modal-privacy.php') ?>

            <?php
            // Ripristina la struttura originale dell'annuncio per la prossima chiamata
            $annuncio = $annuncio_full;
            ?>

        <?php endif; ?>

        <?php $page = isset($_COOKIE['annuncifunebri_page']) ? intval(annfu_decrypt(sanitize_text_field(wp_unslash($_COOKIE['annuncifunebri_page'])))) : 1; ?>

        <div class="annfu_ritorna_annunci mb-5">
            <a href="<?php echo esc_url(get_site_url() . '/' . ANNFU_PAGE_ANNUNCI . '/' . $page); ?>">Ritorna alla pagina
                degli annunci</a>
        </div>

        <?php $ofc = isset($annuncio['data']['ofc']) ? $annuncio['data']['ofc'] : null; ?>
        <?php include(ANNFU_PLUGIN_PATH_TEMPLATE_DEFAULT . '_poweredby.php') ?>
        <script>
            jQuery(document).ready(function () {
                saveVisit("<?php echo esc_js($annuncio['data']['slug']); ?>", 2, location.href);
            });
        </script>
    <?php else: ?>
        <div id="annfu_annunci">Annuncio non trovato</div>
    <?php endif; ?>
</div>