<?php
/**
 * Elementor Widget: GB Carte Interactive
 */

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

class Guide_Benin_Carte_Widget extends \Elementor\Widget_Base {

    public function get_name() {
        return 'gb_carte_benin';
    }

    public function get_title() {
        return __( 'GB Carte Interactive', 'guide-benin' );
    }

    public function get_icon() {
        return 'eicon-map-pin';
    }

    public function get_categories() {
        return array( 'guide-benin' );
    }

    protected function register_controls() {
        $this->start_controls_section(
            'section_content',
            array(
                'label' => __( 'Carte Interactive', 'guide-benin' ),
            )
        );

        $this->add_control(
            'info_text',
            array(
                'type' => \Elementor\Controls_Manager::RAW_HTML,
                'raw' => __( '<p>Ce widget intègre la carte interactive complète du Bénin.</p><p><strong>Note :</strong> Une seule instance de ce widget doit être utilisée par page car il repose sur des identifiants SVG uniques.</p>', 'guide-benin' ),
            )
        );

        $this->end_controls_section();
    }

    protected function render() {
        $html_path = get_template_directory() . '/inc/carte-benin/index.html';
        
        if ( ! file_exists( $html_path ) ) {
            echo '<p>Erreur : Le fichier de la carte (index.html) est introuvable à l\'emplacement prévu.</p>';
            return;
        }

        $content = file_get_contents( $html_path );

        // Supprimer les entêtes HTML pour une intégration propre (meta, title)
        $content = preg_replace('/^.*?<style>/is', '<style>', $content);
        
        // Supprimer le style 'body' global de la carte pour ne pas affecter le site WP
        $content = preg_replace('/body\s*\{[^}]+\}/is', '', $content);

        // Mettre à jour le chemin des photos pour pointer vers le répertoire du thème WordPress
        $photos_url = get_template_directory_uri() . '/inc/carte-benin/photos/';
        $content = str_replace(
            "const PHOTOS_BASE = 'photos/';",
            "const PHOTOS_BASE = '" . esc_url($photos_url) . "';",
            $content
        );

        echo $content;
    }
}
