<?php

declare(strict_types=1);

namespace PrestaShop\Module\PolarisPrestaTheme\Config;
use Manufacturer;
use Link;


class ConfigBrand 
{
    /**
     * Visibilité du bloc
     *
     * @var bool
     */
    public $isVisible = true;


    /**
     * Visibilité du bouton
     *
     * @var bool
     */
    public $btn = false;


    /**
     * titre de la section 
     *
     * @var string
     */
    public $title = '';

    /**
     * Marques sélectionnées (enrichies avec id, name, url, img)
     *
     * @var array
     */
    public $selected_brands = [];


    /**
     * selection de la disposition des marques 
     *
     * @var string
     */
    public $style = '';


      /**
     * Enrichit $selected_brands avec les données complètes
     */
    public function enrich(): void
    {
    

        // Lien du contexte courant : protocole (http/https) résolu correctement,
        // évite le contenu mixte sur les images marques (cf. _PS_BASE_URL_ = http).
        $link = \Context::getContext()->link;
        $id_lang = \Context::getContext()->language->id;// Récupère l'ID de la langue courante
        $enriched = [];// Tableau pour stocker les marques enrichies

        foreach ($this->selected_brands as $id) {
            $manufacturer = new Manufacturer((int) $id, $id_lang);// Crée une instance de Manufacturer avec l'ID et la langue courante

            // URLs stockées en « protocol-relative » (//host/...) : getMediaLink renvoie le
            // « protocole contenu » de PrestaShop, resté en http:// tant que « SSL sur toutes
            // les pages » n'est pas activé → contenu mixte sur une page https. On neutralise
            // le protocole pour que le navigateur suive celui de la page (https en prod).
            $enriched[] = [
                'id' => (int) $id,// ID de la marque
                'name' => $manufacturer->name,// Nom de la marque
                'url' => preg_replace('#^https?://#', '//', $link->getManufacturerLink($manufacturer)),// URL de la marque
                'img' => preg_replace('#^https?://#', '//', $link->getMediaLink(_THEME_MANU_DIR_ . $id . '.jpg')), // Chemin de l'image de la marque
            ];
        }

        $this->selected_brands = $enriched;// Met à jour le tableau selected_brands avec les marques enrichies

       
    }


}
