<?php
//conexion.php

if (!function_exists('setMysqliUtf8mb4')) {
    function setMysqliUtf8mb4(mysqli $conn): void {
        // Asegura codificacion consistente para acentos y caracteres especiales.
        if (!$conn->set_charset('utf8mb4')) {
            $conn->query("SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci");
        }
    }
}

$host = 'localhost';
$db = 'radius';
$user = 'ctnet';
$pass = 'ctnet2009';

$host = 'localhost';
$db2 = 'chat';
$user = 'ctnet';
$pass = 'ctnet2009';

$db3 = 'admin';
$db4 = 'contabilidad';
$db5 = 'bot';
$db6 = 'admin';
$db7 = 'inventory_system';
$db8 = 'atencion_cliente';

$conn = new mysqli($host, $user, $pass, $db);    // BD: radius
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}
setMysqliUtf8mb4($conn);

// Conectar a la base de datos de gastos (CONTABILIDAD - fuente definitiva)
$local_conn2 = new mysqli("localhost", "ctnet", "ctnet2009", "contabilidad");
if ($local_conn2->connect_error) {
    die("Conexión fallida a la base de datos de gastos: " . $local_conn2->connect_error);
}
setMysqliUtf8mb4($local_conn2);

$local_conn3 = new mysqli("localhost", "ctnet", "ctnet2009", "chat"); // BD: chat
if ($local_conn3->connect_error) {
    die("Conexión fallida a la base de datos de chat: " . $local_conn3->connect_error);
}
setMysqliUtf8mb4($local_conn3);

$conn4 = new mysqli($host, $user, $pass, $db4); // BD: contabilidad
if ($conn4->connect_error) {
    die("Conexión fallida con la BD: " . $conn4->connect_error);
}
setMysqliUtf8mb4($conn4);

$conn5 = new mysqli($host, $user, $pass, $db5); // BD: bot (NO radius)
if ($conn5->connect_error) {
    die("Conexión fallida: " . $conn5->connect_error);
}
setMysqliUtf8mb4($conn5);

$conn6 = new mysqli($host, $user, $pass, $db6); // BD: admin
if ($conn6->connect_error) {
    die("Conexión fallida: " . $conn6->connect_error);
}
setMysqliUtf8mb4($conn6);

$conn7 = new mysqli($host, $user, $pass, $db7); // BD: inventory_system
if ($conn7->connect_error) {
    die("Conexión fallida: " . $conn7->connect_error);
}
setMysqliUtf8mb4($conn7);

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Error de conexión: ' . $e->getMessage();
}

try {
    $pdo2 = new PDO("mysql:host=$host;dbname=$db2", $user, $pass);
    $pdo2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Error de conexión: ' . $e->getMessage();
}

try {
    $pdo3 = new PDO("mysql:host=$host;dbname=$db3", $user, $pass);
    $pdo3->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Error de conexión: ' . $e->getMessage();
}

try {
    $pdo4 = new PDO("mysql:host=$host;dbname=$db4", $user, $pass);
    $pdo4->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // $pdo4 se usa, entre otros, para leer tasas de cambio desde contabilidad.tasas_dolar
} catch (PDOException $e) {
    echo 'Error de conexión: ' . $e->getMessage();
}

try {
    $pdo6 = new PDO("mysql:host=$host;dbname=$db6", $user, $pass);
    $pdo6->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Error de conexión: ' . $e->getMessage();
}

try {
    $pdo7 = new PDO("mysql:host=$host;dbname=$db7", $user, $pass);
    $pdo7->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Error de conexión: ' . $e->getMessage();
}

try {
    $pdo8 = new PDO("mysql:host=$host;dbname=$db8", $user, $pass);
    $pdo8->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Error de conexión: ' . $e->getMessage();
}
?>
