<?php
// modules/tatil-yonetimi.php
session_start();
require_once '../config/db.php';
require_once '../config/functions.php';
// YETKİLER: Root, Yönetici, İK, Muhasebe
yetkiKontrol(['root', 'yonetici', 'insan_kaynaklari', 'muhasebe']);
include '../includes/header.php';
include '../includes/menu.php';
$mesaj = '';
// EKLEME İŞLEMİ
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['tarih'])) {
csrfKontrol($_POST['csrf_token']);
$tarih = $_POST['tarih'];
$aciklama = guvenlik($_POST['aciklama']);
// Çakışma Kontrolü
$kontrol = $pdo->query("SELECT count(*) FROM resmi_tatiller WHERE tarih = '$tarih'")->fetchColumn();
if ($kontrol > 0) {
$mesaj = '<div class="alert alert-warning">Bu tarih zaten tatil olarak kayıtlı.</div>';
} else {
$pdo->prepare("INSERT INTO resmi_tatiller (tarih, aciklama) VALUES (?, ?)")->execute([$tarih, $aciklama]);
logKaydet($pdo, $_SESSION['kullanici_id'], 'ekleme', "Resmi Tatil Eklendi: $tarih - $aciklama", 'resmi_tatiller', 0);
$mesaj = '<div class="alert alert-success">Resmi tatil eklendi.</div>';
}
}
// SİLME İŞLEMİ
if (isset($_GET['sil_id'])) {
$id = (int)$_GET['sil_id'];
$pdo->prepare("DELETE FROM resmi_tatiller WHERE id = ?")->execute([$id]);
logKaydet($pdo, $_SESSION['kullanici_id'], 'silme', "Resmi Tatil Silindi (ID: $id)", 'resmi_tatiller', $id);
$mesaj = '<div class="alert alert-danger">Tatil silindi.</div>';
}
// LİSTELEME
$yil = isset($_GET['yil']) ? $_GET['yil'] : date('Y');
$tatiller = $pdo->query("SELECT * FROM resmi_tatiller WHERE YEAR(tarih) = '$yil' ORDER BY tarih ASC")->fetchAll();
?>
<div class="container-fluid">
<div class="row">
<div class="col-md-4">
<div class="card border-0 shadow-sm">
<div class="card-header bg-primary text-white">
<h5 class="mb-0 fw-bold"><i class="fas fa-plus-circle me-2"></i> Tatil Ekle</h5>
</div>
<div class="card-body p-4">
<?php echo $mesaj; ?>
<form method="POST">
<input type="hidden" name="csrf_token" value="<?php echo csrfTokenOlustur(); ?>">
<div class="mb-3">
<label class="form-label fw-bold">Tarih</label>
<input type="date" name="tarih" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label fw-bold">Tatil Adı / Açıklama</label>
<input type="text" name="aciklama" class="form-control" placeholder="Örn: Ramazan Bayramı 1. Gün" required>
</div>
<div class="d-grid">
<button type="submit" class="btn btn-primary fw-bold">Kaydet</button>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-8">
<div class="card border-0 shadow-sm">
<div class="card-header bg-white d-flex justify-content-between align-items-center py-3">
<h5 class="mb-0 fw-bold text-dark"><i class="fas fa-calendar-alt text-warning me-2"></i> Resmi Tatil Listesi</h5>
<form method="GET" class="d-flex">
<select name="yil" class="form-select form-select-sm me-2" onchange="this.form.submit()">
<?php for($y=2024; $y<=2030; $y++) echo "<option value='$y' ".($y==$yil?'selected':'').">$y Yılı</option>"; ?>
</select>
</form>
</div>
<div class="table-responsive">
<table class="table table-hover align-middle mb-0">
<thead class="table-light">
<tr>
<th>Tarih</th>
<th>Gün</th>
<th>Açıklama</th>
<th class="text-end">İşlem</th>
</tr>
</thead>
<tbody>
<?php foreach($tatiller as $t): ?>
<tr>
<td><span class="badge bg-secondary"><?php echo date('d.m.Y', strtotime($t['tarih'])); ?></span></td>
<td><?php echo tarihTurkce($t['tarih']); // Sadece gün adı ?></td>
<td class="fw-bold text-dark"><?php echo $t['aciklama']; ?></td>
<td class="text-end">
<a href="?sil_id=<?php echo $t['id']; ?>&yil=<?php echo $yil; ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('Silmek istiyor musunuz?')"><i class="fas fa-trash-alt"></i></a>
</td>
</tr>
<?php endforeach; ?>
<?php if(empty($tatiller)) echo '<tr><td colspan="4" class="text-center text-muted py-4">Kayıtlı tatil bulunamadı.</td></tr>'; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<?php include '../includes/footer.php'; ?>