settings.php 1.55 KB
<?php

declare(strict_types=1);

require __DIR__ . '/../src/bootstrap.php';
Auth::requireAdmin();

$erro = null;
$ok = null;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $groupFilter = trim((string) ($_POST['group_aluno_filter'] ?? ''));
    if ($groupFilter === '') {
        $erro = 'Informe o filtro/CN do grupo de alunos.';
    } else {
        SettingsRepository::set('group_aluno_filter', $groupFilter, Auth::currentLogin() ?? 'desconhecido');
        AuditLog::record(Auth::currentLogin() ?? 'desconhecido', 'atualizou_settings', 'group_aluno_filter', $groupFilter);
        $ok = 'Configurações salvas.';
    }
}

$settings = SettingsRepository::all();

View::header('Configurações');
?>
<div class="card">
    <h1>Configurações</h1>

    <?php if ($erro): ?><div class="alert error"><?= View::escape($erro) ?></div><?php endif; ?>
    <?php if ($ok): ?><div class="alert success"><?= View::escape($ok) ?></div><?php endif; ?>

    <form method="post" action="settings.php">
        <label for="group_aluno_filter">Grupo (CN) de alunos monitorado no dashboard</label>
        <input type="text" id="group_aluno_filter" name="group_aluno_filter"
               value="<?= View::escape($settings['group_aluno_filter'] ?? '') ?>" required>
        <button type="submit">Salvar</button>
    </form>

    <p style="color:#6b7280;font-size:13px">
        As demais configurações de conexão (servidor LDAP, conta de serviço, credenciais de banco)
        ficam em <code>config/local.php</code>, fora do versionamento, por segurança.
    </p>
</div>
<?php
View::footer();