<?php
/**
 * Configuration de la base de données maître des compagnies
 * Cette base contient la table des compagnies avec leurs informations de connexion
 */

// Paramètres de connexion à la base maître
define('MASTER_DB_HOST', 'localhost');
define('MASTER_DB_NAME', 'master_companies'); // À changer selon votre base
define('MASTER_DB_USER', 'root'); // À changer selon vos paramètres
define('MASTER_DB_PASS', ''); // À changer selon vos paramètres

/**
 * Structure recommandée pour la table companies dans la base maître :
 * 
 * CREATE TABLE companies (
 *     id INT AUTO_INCREMENT PRIMARY KEY,
 *     company_name VARCHAR(100) NOT NULL,
 *     company_code VARCHAR(50) UNIQUE NOT NULL,
 *     db_name VARCHAR(100) NOT NULL,
 *     db_host VARCHAR(100) DEFAULT 'localhost',
 *     db_user VARCHAR(100) NOT NULL,
 *     db_pass VARCHAR(255),
 *     status ENUM('active', 'inactive') DEFAULT 'active',
 *     created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
 *     updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
 * );
 */

// Fonction pour obtenir la connexion maître
function getMasterConnection() {
    try {
        $pdo = new PDO(
            "mysql:host=" . MASTER_DB_HOST . ";dbname=" . MASTER_DB_NAME . ";charset=utf8",
            MASTER_DB_USER,
            MASTER_DB_PASS,
            [
                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
            ]
        );
        return $pdo;
    } catch (PDOException $e) {
        error_log("Erreur connexion base maître: " . $e->getMessage());
        return null;
    }
}

// Fonction pour récupérer les informations d'une compagnie
function getCompanyDbInfo($company_code) {
    $pdo = getMasterConnection();
    if (!$pdo) return null;
    
    $stmt = $pdo->prepare("SELECT * FROM companies WHERE company_code = ? AND status = 'active'");
    $stmt->execute([$company_code]);
    return $stmt->fetch();
}
?>