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

// Acciones que redirigen deben ejecutarse antes de emitir HTML
if (isset($_GET['toggle'])) {
    $pdo->prepare("UPDATE mrbs_fiscal SET activo = 1 - activo WHERE fiscal_id=?")->execute([$_GET['toggle']]);
    $fRedir = ['f_nombre' => trim($_GET['f_nombre'] ?? ''), 'f_activo' => $_GET['f_activo'] ?? '1'];
    header('Location: listarFiscales.php?' . http_build_query($fRedir));
    exit;
}

$paginaActual = 'litigantes';
require __DIR__ . '/../../config/menu.php';

$cols_ok = ['fiscal_id','nombre','apellido','nombreEnCalendario','activo'];
$sort    = in_array($_GET['sort'] ?? '', $cols_ok, true) ? $_GET['sort'] : 'fiscal_id';
$dir     = strtoupper($_GET['dir'] ?? 'ASC') === 'DESC' ? 'DESC' : 'ASC';
$nextDir = $dir === 'ASC' ? 'DESC' : 'ASC';
$ind     = $dir === 'ASC' ? '▲' : '▼';
function sl($col,$lbl,$sort,$dir,$nextDir,$ind,$f){
    $d=$sort===$col?$nextDir:'ASC';
    return '<a href="?'.http_build_query(array_merge($f,['sort'=>$col,'dir'=>$d])).'">'.$lbl.($sort===$col?' '.$ind:'').'</a>';
}

$f = [
    'f_nombre'  => trim($_GET['f_nombre'] ?? ''),
    'f_activo'  => $_GET['f_activo'] ?? '1',
];

$where  = [];
$params = [];
if ($f['f_nombre']) { $where[] = "(nombre LIKE ? OR apellido LIKE ? OR nombreEnCalendario LIKE ?)"; $params=array_merge($params,['%'.$f['f_nombre'].'%','%'.$f['f_nombre'].'%','%'.$f['f_nombre'].'%']); }
if ($f['f_activo'] !== '') { $where[] = "activo=?"; $params[] = (int)$f['f_activo']; }

$wSql = $where ? 'WHERE '.implode(' AND ',$where) : '';
$stmt = $pdo->prepare("SELECT * FROM mrbs_fiscal $wSql ORDER BY $sort $dir");
$stmt->execute($params);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

?>
<div class="ph">
  <div><h1>Fiscales / Querellantes</h1>
    <div class="bc"><a href="<?=BASE_URL?>/index.php">Inicio</a> › Litigantes › Fiscales</div>
  </div>
  <?php if (perm('litigantes','agregar')): ?><a href="crearFiscal.php" class="btn btn-p">+ Nuevo Fiscal</a><?php endif; ?>
</div>

<?php if (isset($_GET['ok'])): ?><div class="msg msg-ok">Fiscal guardado correctamente.</div><?php endif; ?>

<div class="card">
  <form method="GET" class="fb">
    <div class="fi"><label>Nombre / En Calendario</label>
      <input type="text" name="f_nombre" value="<?=htmlspecialchars($f['f_nombre'])?>" placeholder="Buscar..."></div>
    <div class="fi"><label>Activo</label>
      <select name="f_activo">
        <option value="">Todos</option>
        <option value="1" <?=$f['f_activo']==='1'?'selected':''?>>Sí</option>
        <option value="0" <?=$f['f_activo']==='0'?'selected':''?>>No</option>
      </select></div>
    <div class="fi" style="display:flex;align-items:flex-end;gap:6px">
      <button class="btn btn-p">Filtrar</button>
      <a href="listarFiscales.php" class="btn btn-g">Limpiar</a>
    </div>
    <input type="hidden" name="sort" value="<?=htmlspecialchars($sort)?>">
    <input type="hidden" name="dir"  value="<?=htmlspecialchars($dir)?>">
  </form>
</div>

<div style="margin-bottom:6px;font-size:13px;color:#475569"><?=count($rows)?> resultado(s)</div>
<div class="tw"><table>
  <thead><tr>
    <th style="width:70px"><?=sl('fiscal_id','ID',$sort,$dir,$nextDir,$ind,$f)?></th>
    <th style="width:120px"><?=sl('apellido','Apellido',$sort,$dir,$nextDir,$ind,$f)?></th>
    <th style="width:100px"><?=sl('nombre','Nombre corto',$sort,$dir,$nextDir,$ind,$f)?></th>
    <th><?=sl('nombreEnCalendario','En Calendario',$sort,$dir,$nextDir,$ind,$f)?></th>
    <th style="width:200px">Mail</th>
    <th style="width:110px">Teléfono</th>
    <th style="width:70px"><?=sl('activo','Activo',$sort,$dir,$nextDir,$ind,$f)?></th>
    <th style="width:165px">Acciones</th>
  </tr></thead>
  <tbody>
  <?php foreach ($rows as $r): ?>
    <tr>
      <td><?=htmlspecialchars($r['fiscal_id'])?></td>
      <td><?=htmlspecialchars($r['apellido']??'')?></td>
      <td><?=htmlspecialchars($r['nombre']??'')?></td>
      <td><?=htmlspecialchars($r['nombreEnCalendario']??'')?></td>
      <td style="font-size:12px"><?=htmlspecialchars($r['mail']??'')?></td>
      <td><?=htmlspecialchars($r['telefono']??'')?></td>
      <td style="text-align:center"><?=$r['activo']?'<span class="bp bp-l">Sí</span>':'<span class="bp bp-r">No</span>'?></td>
      <td><div class="ac">
        <?php if (perm('litigantes','editar')): ?><a href="crearFiscal.php?id=<?=urlencode($r['fiscal_id'])?>" class="btn btn-i btn-sm">Editar</a><?php endif; ?>
        <?php if (perm('litigantes','editar')): ?>
        <?php if ($r['activo']): ?>
        <a href="?toggle=<?=urlencode($r['fiscal_id'])?>&<?=http_build_query($f)?>"
           class="btn btn-r btn-sm" onclick="return confirm('¿Confirma la desactivación del fiscal?')">Desactivar</a>
        <?php else: ?>
        <a href="?toggle=<?=urlencode($r['fiscal_id'])?>&<?=http_build_query($f)?>"
           class="btn btn-s btn-sm" onclick="return confirm('¿Confirma la activación del fiscal?')">Activar</a>
        <?php endif; ?>
        <?php endif; ?>
      </div></td>
    </tr>
  <?php endforeach; ?>
  <?php if (!$rows): ?><tr><td colspan="8" style="text-align:center;color:#94a3b8">Sin resultados</td></tr><?php endif; ?>
  </tbody>
</table></div>
</div></body></html>
