<?php
$authApp = 'configuracion';
session_start();
require __DIR__ . '/../../config/auth.php';
require __DIR__ . '/../../../../../config/db2.php';
require __DIR__ . '/../../lib/helpers.php';
$paginaActual = 'configuracion';

$id  = isset($_GET['id']) ? (int)$_GET['id'] : null;
if ($id && !perm('configuracion','editar'))  { http_response_code(403); exit('Sin permiso'); }
if (!$id && !perm('configuracion','agregar')) { http_response_code(403); exit('Sin permiso'); }
$reg = [];
$errores = [];

if ($id) {
    $stmt = $pdo->prepare("SELECT * FROM mrbs_room WHERE id = ?");
    $stmt->execute([$id]);
    $reg = $stmt->fetch(PDO::FETCH_ASSOC);
    if (!$reg) {
        header('Location: listarSalas.php');
        exit;
    }
}

$areas = $pdo->query("SELECT id, area_name FROM mrbs_area ORDER BY area_name")->fetchAll(PDO::FETCH_ASSOC);

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $room_name   = trim($_POST['room_name'] ?? '');
    $enCalendario= trim($_POST['enCalendario'] ?? '');
    $area_id     = (int)($_POST['area_id'] ?? 0);
    $DescCorta   = trim($_POST['DescCorta'] ?? '');
    $description = trim($_POST['description'] ?? '');
    $capacity    = (int)($_POST['capacity'] ?? 0);
    $piso        = trim($_POST['piso'] ?? '');
    $ordenPagina = $_POST['ordenPagina'] !== '' ? (int)$_POST['ordenPagina'] : null;
    $disabled    = isset($_POST['disabled']) ? 1 : 0;
    $sala_virtual         = isset($_POST['sala_virtual']) ? 1 : 0;
    $sala_video_conferencia = isset($_POST['sala_video_conferencia']) ? 1 : 0;
    $mailUnidad       = trim($_POST['mailUnidad'] ?? '') ?: null;
    $telefonoOperador = trim($_POST['telefonoOperador'] ?? '') ?: null;

    if (!$room_name)    $errores[] = 'El nombre es obligatorio.';
    if (!$enCalendario) $errores[] = 'El nombre en calendario es obligatorio.';
    if (!$area_id)      $errores[] = 'El área es obligatoria.';

    if (empty($errores)) {
        if ($id) {
            $pdo->prepare("UPDATE mrbs_room SET
                room_name=?, enCalendario=?, area_id=?, DescCorta=?, description=?,
                capacity=?, piso=?, ordenPagina=?, disabled=?,
                sala_virtual=?, sala_video_conferencia=?,
                mailUnidad=?, telefonoOperador=?
                WHERE id=?")
            ->execute([$room_name, $enCalendario, $area_id, $DescCorta, $description,
                       $capacity, $piso, $ordenPagina, $disabled,
                       $sala_virtual, $sala_video_conferencia,
                       $mailUnidad, $telefonoOperador, $id]);
        } else {
            $pdo->prepare("INSERT INTO mrbs_room
                (room_name, enCalendario, area_id, DescCorta, description,
                 capacity, piso, ordenPagina, disabled,
                 sala_virtual, sala_video_conferencia,
                 mailUnidad, telefonoOperador)
                VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)")
            ->execute([$room_name, $enCalendario, $area_id, $DescCorta, $description,
                       $capacity, $piso, $ordenPagina, $disabled,
                       $sala_virtual, $sala_video_conferencia,
                       $mailUnidad, $telefonoOperador]);
        }
        header('Location: listarSalas.php?ok=1');
        exit;
    }

    // Repoblar
    $reg = array_merge($reg, $_POST);
}

$v = function($k) use ($reg) { return htmlspecialchars($reg[$k] ?? ''); };
$chk = function($k) use ($reg) { return !empty($reg[$k]) ? 'checked' : ''; };
require __DIR__ . '/../../config/menu.php';
?>
<div class="ph">
  <div>
    <h1><?= $id ? 'Editar Sala' : 'Nueva Sala' ?></h1>
    <div class="bc"><a href="<?= BASE_URL ?>/index.php">Inicio</a> › <a href="listarSalas.php">Salas</a> › <?= $id ? 'Editar' : 'Nueva' ?></div>
  </div>
</div>

<?php if ($errores): ?>
  <div class="msg msg-err"><?= implode('<br>', array_map('htmlspecialchars', $errores)) ?></div>
<?php endif; ?>

<form method="POST" action="crearSala.php<?= $id ? '?id='.$id : '' ?>">
  <div class="card">
    <div class="sec">Identificación</div>
    <div class="fg">
      <div class="ff">
        <label>Nombre *</label>
        <input type="text" name="room_name" value="<?= $v('room_name') ?>" maxlength="25" required>
      </div>
      <div class="ff">
        <label>En Calendario *</label>
        <input type="text" name="enCalendario" value="<?= $v('enCalendario') ?>" maxlength="60" required>
      </div>
      <div class="ff">
        <label>Desc. Corta</label>
        <input type="text" name="DescCorta" value="<?= $v('DescCorta') ?>" maxlength="15">
      </div>
      <div class="ff sp2">
        <label>Descripción</label>
        <input type="text" name="description" value="<?= $v('description') ?>" maxlength="60">
      </div>
    </div>
  </div>

  <div class="card">
    <div class="sec">Ubicación y Configuración</div>
    <div class="fg">
      <div class="ff">
        <label>Área *</label>
        <select name="area_id" required>
          <option value="">-- Seleccionar --</option>
          <?php foreach ($areas as $a): ?>
            <option value="<?= $a['id'] ?>" <?= ($reg['area_id'] ?? '') == $a['id'] ? 'selected' : '' ?>><?= htmlspecialchars($a['area_name']) ?></option>
          <?php endforeach; ?>
        </select>
      </div>
      <div class="ff">
        <label>Piso</label>
        <input type="text" name="piso" value="<?= $v('piso') ?>" maxlength="5">
      </div>
      <div class="ff">
        <label>Capacidad</label>
        <input type="number" name="capacity" value="<?= $v('capacity') ?>" min="0">
      </div>
      <div class="ff">
        <label>Orden en página</label>
        <input type="number" name="ordenPagina" value="<?= $v('ordenPagina') ?>">
      </div>
    </div>
    <div style="display:flex;gap:24px;flex-wrap:wrap;margin-top:8px">
      <label style="display:flex;align-items:center;gap:6px;font-size:13px">
        <input type="checkbox" name="disabled" value="1" <?= $chk('disabled') ?>> Deshabilitada
      </label>
      <label style="display:flex;align-items:center;gap:6px;font-size:13px">
        <input type="checkbox" name="sala_virtual" value="1" <?= $chk('sala_virtual') ?>> Sala Virtual
      </label>
      <label style="display:flex;align-items:center;gap:6px;font-size:13px">
        <input type="checkbox" name="sala_video_conferencia" value="1" <?= $chk('sala_video_conferencia') ?>> Video Conferencia
      </label>
    </div>
  </div>

  <div class="card">
    <div class="sec">Unidad de Detención</div>
    <div class="fg">
      <div class="ff sp3">
        <label>Mail de la Unidad <small style="font-weight:normal;color:#64748b">(varios separados por ;)</small></label>
        <input type="text" name="mailUnidad" value="<?= $v('mailUnidad') ?>" maxlength="500" placeholder="ej: unidad1@spf.gov.ar;unidad2@spf.gov.ar">
      </div>
      <div class="ff">
        <label>Teléfono del Operador <small style="font-weight:normal;color:#64748b">(recibe link Zoom)</small></label>
        <input type="text" name="telefonoOperador" value="<?= $v('telefonoOperador') ?>" maxlength="30" placeholder="ej: 341-4123456">
      </div>
    </div>
  </div>

  <div style="display:flex;gap:8px;margin-top:4px">
    <button type="submit" class="btn btn-p">Guardar</button>
    <a href="listarSalas.php" class="btn btn-g">Cancelar</a>
  </div>
</form>
</div></body></html>
