<?php
// includes/menu.php
$mevcut_sayfa = basename($_SERVER['PHP_SELF']);
$rol = $_SESSION['rol'] ?? 'calisan';
// Menü Açık/Kapalı Mantığı
$personel_acik = in_array($mevcut_sayfa, ['personel-yonetimi.php', 'personel-ekle.php', 'personel-duzenle.php', 'personel-kart.php']);
$izin_acik = in_array($mevcut_sayfa, ['tum-izinler.php', 'izin-talep.php', 'tatil-yonetimi.php', 'izin-yazdir.php', 'izin-gir.php']);
$mesai_acik = in_array($mevcut_sayfa, ['tum-mesailer.php', 'mesai-giris.php', 'admin-mesai-ekle.php', 'puantaj-cetveli.php']);
$finans_acik = in_array($mevcut_sayfa, ['maas-hesapla.php', 'raporlar.php', 'avans-giris.php', 'mali-rapor.php']);
$kisisel_acik = in_array($mevcut_sayfa, ['izin-talep.php', 'mesai-giris.php', 'profil.php', 'bordro-goruntule.php']) || (strpos($mevcut_sayfa, '-panel.php') !== false && $mevcut_sayfa !== 'root-panel.php');
?>
<style>
/* Varsayılan link stili */
#sidebar ul li a {
padding: 12px 20px;
display: block;
transition: all 0.3s;
color: rgba(255, 255, 255, 0.7);
text-decoration: none;
border-left: 4px solid transparent;
}
#sidebar ul li a:hover {
color: #fff;
background: rgba(255, 255, 255, 0.05);
}
/* --- AKTİF ANA BAŞLIK (Menü Başlığı) --- */
#sidebar ul li a[aria-expanded="true"] {
background: #F3B01B; /* Ramsa Yellow */
color: #fff !important;
font-weight: 600;
border-left-color: #fff; /* Sol çizgi beyaz */
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
/* --- AKTİF ALT LİNK (Sayfa Linki) --- */
#sidebar ul.components ul li a {
padding-left: 45px !important; /* Alt menü girintisi */
font-size: 0.9em;
background: #2c3034; /* Alt menü zemin rengi */
}
#sidebar ul.components ul li a.active {
color: #F3B01B !important; /* Aktif yazı rengi */
background: rgba(243, 176, 27, 0.1); /* Hafif sarı zemin */
border-left: 4px solid #F3B01B; /* Sol sarı çizgi */
font-weight: bold;
}
#sidebar ul.components ul li a:hover {
background: rgba(255, 255, 255, 0.05);
color: #fff !important;
}
</style>
<nav id="sidebar">
<div class="sidebar-header p-3 text-center" style="background: rgba(0,0,0,0.2); position: relative;">
<h6 class="text-white mb-0 fw-bold"><i class="fas fa-cube me-2"></i>Ramsa PYBS</h6>
<button id="sidebarCloseInside" class="btn btn-sm btn-outline-light d-md-none position-absolute top-0 end-0 m-2">
<i class="fas fa-times"></i>
</button>
</div>
<ul class="list-unstyled components" id="accordionMenu">
<li>
<a href="../panels/<?php echo $rol; ?>-panel.php" class="<?php echo (strpos($mevcut_sayfa, '-panel.php') !== false) ? 'active' : ''; ?>">
<i class="fas fa-home me-2"></i> Ana Sayfa
</a>
</li>
<li class="menu-item">
<a href="#kisiselSubmenu" data-bs-toggle="collapse" aria-expanded="<?php echo $kisisel_acik ? 'true' : 'false'; ?>" class="dropdown-toggle <?php echo $kisisel_acik ? '' : 'collapsed'; ?>">
<i class="fas fa-id-card me-2"></i> Kişisel Menü
</a>
<ul class="collapse list-unstyled <?php echo $kisisel_acik ? 'show' : ''; ?>" id="kisiselSubmenu" data-bs-parent="#accordionMenu">
<li><a href="../modules/profil.php" class="<?php echo ($mevcut_sayfa == 'profil.php') ? 'active' : ''; ?>"><i class="fas fa-user-circle me-2"></i> Profilim</a></li>
<li><a href="../modules/izin-talep.php" class="<?php echo ($mevcut_sayfa == 'izin-talep.php') ? 'active' : ''; ?>"><i class="fas fa-paper-plane me-2"></i> İzin İste</a></li>
<li><a href="../modules/mesai-giris.php" class="<?php echo ($mevcut_sayfa == 'mesai-giris.php') ? 'active' : ''; ?>"><i class="fas fa-history me-2"></i> Fazla Mesai Bildir</a></li>
<li><a href="../modules/bordro-goruntule.php" class="<?php echo ($mevcut_sayfa == 'bordro-goruntule.php') ? 'active' : ''; ?>"><i class="fas fa-file-invoice-dollar me-2"></i> Maaş Bordrom</a></li>
</ul>
</li>
<?php if(in_array($rol, ['root', 'yonetici', 'insan_kaynaklari', 'muhasebe'])): ?>
<li class="menu-item">
<a href="#personelSubmenu" data-bs-toggle="collapse" aria-expanded="<?php echo $personel_acik ? 'true' : 'false'; ?>" class="dropdown-toggle <?php echo $personel_acik ? '' : 'collapsed'; ?>">
<i class="fas fa-users me-2"></i> Personel Yönetimi
</a>
<ul class="collapse list-unstyled <?php echo $personel_acik ? 'show' : ''; ?>" id="personelSubmenu" data-bs-parent="#accordionMenu">
<li><a href="../modules/personel-yonetimi.php" class="<?php echo ($mevcut_sayfa == 'personel-yonetimi.php' || $mevcut_sayfa == 'personel-duzenle.php') ? 'active' : ''; ?>"><i class="fas fa-list me-2"></i> Personel Listesi</a></li>
<li><a href="../modules/personel-ekle.php" class="<?php echo ($mevcut_sayfa == 'personel-ekle.php') ? 'active' : ''; ?>"><i class="fas fa-user-plus me-2"></i> Personel Ekle</a></li>
</ul>
</li>
<?php endif; ?>
<?php if(in_array($rol, ['root', 'yonetici', 'muhasebe', 'mudur', 'insan_kaynaklari'])): ?>
<li class="menu-item">
<a href="#izinSubmenu" data-bs-toggle="collapse" aria-expanded="<?php echo $izin_acik ? 'true' : 'false'; ?>" class="dropdown-toggle <?php echo $izin_acik ? '' : 'collapsed'; ?>">
<i class="fas fa-file-signature me-2"></i> İzin Onay/Takip
</a>
<ul class="collapse list-unstyled <?php echo $izin_acik ? 'show' : ''; ?>" id="izinSubmenu" data-bs-parent="#accordionMenu">
<?php if(in_array($rol, ['root', 'yonetici', 'muhasebe', 'insan_kaynaklari'])): ?>
<li><a href="../modules/izin-gir.php" class="<?php echo ($mevcut_sayfa == 'izin-gir.php') ? 'active' : ''; ?>"><i class="fas fa-calendar-plus me-2"></i> İzin Girişi</a></li>
<?php endif; ?>
<?php if(in_array($rol, ['root', 'yonetici', 'muhasebe', 'mudur', 'insan_kaynaklari'])): ?>
<li><a href="../modules/tum-izinler.php" class="<?php echo ($mevcut_sayfa == 'tum-izinler.php') ? 'active' : ''; ?>"><i class="fas fa-check-double me-2"></i> İzin Onayları</a></li>
<?php endif; ?>
<?php if(in_array($rol, ['root', 'yonetici', 'insan_kaynaklari', 'muhasebe'])): ?>
<li><a href="../modules/tatil-yonetimi.php" class="<?php echo ($mevcut_sayfa == 'tatil-yonetimi.php') ? 'active' : ''; ?>"><i class="fas fa-calendar-alt me-2"></i> Tatil Yönetimi</a></li>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php if(in_array($rol, ['root', 'yonetici', 'muhasebe', 'mudur', 'insan_kaynaklari'])): ?>
<li class="menu-item">
<a href="#mesaiSubmenu" data-bs-toggle="collapse" aria-expanded="<?php echo $mesai_acik ? 'true' : 'false'; ?>" class="dropdown-toggle <?php echo $mesai_acik ? '' : 'collapsed'; ?>">
<i class="fas fa-clock me-2"></i> Mesai & Puantaj
</a>
<ul class="collapse list-unstyled <?php echo $mesai_acik ? 'show' : ''; ?>" id="mesaiSubmenu" data-bs-parent="#accordionMenu">
<?php if(in_array($rol, ['root', 'muhasebe', 'insan_kaynaklari'])): ?>
<li><a href="../modules/admin-mesai-ekle.php" class="<?php echo ($mevcut_sayfa == 'admin-mesai-ekle.php') ? 'active' : ''; ?>"><i class="fas fa-user-clock me-2"></i> Mesai Girişi</a></li>
<?php endif; ?>
<?php if(in_array($rol, ['root', 'yonetici', 'muhasebe', 'mudur', 'insan_kaynaklari'])): ?>
<li><a href="../modules/tum-mesailer.php" class="<?php echo ($mevcut_sayfa == 'tum-mesailer.php') ? 'active' : ''; ?>"><i class="fas fa-tasks me-2"></i> Mesai Onayları</a></li>
<?php endif; ?>
<?php if(in_array($rol, ['root', 'yonetici', 'muhasebe', 'insan_kaynaklari'])): ?>
<li><a href="../modules/puantaj-cetveli.php" class="<?php echo ($mevcut_sayfa == 'puantaj-cetveli.php') ? 'active' : ''; ?>"><i class="fas fa-table me-2"></i> Puantaj Cetveli</a></li>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php if(in_array($rol, ['root', 'yonetici', 'muhasebe', 'insan_kaynaklari'])): ?>
<li class="menu-item">
<a href="#finansSubmenu" data-bs-toggle="collapse" aria-expanded="<?php echo $finans_acik ? 'true' : 'false'; ?>" class="dropdown-toggle <?php echo $finans_acik ? '' : 'collapsed'; ?>">
<i class="fas fa-chart-line me-2"></i> Finans & Bordro
</a>
<ul class="collapse list-unstyled <?php echo $finans_acik ? 'show' : ''; ?>" id="finansSubmenu" data-bs-parent="#accordionMenu">
<li><a href="../modules/maas-hesapla.php" class="<?php echo ($mevcut_sayfa == 'maas-hesapla.php') ? 'active' : ''; ?>"><i class="fas fa-money-bill-wave me-2"></i> Bordro Göster</a></li>
<li><a href="../modules/mali-rapor.php" class="<?php echo ($mevcut_sayfa == 'mali-rapor.php') ? 'active' : ''; ?>"><i class="fas fa-chart-line me-2"></i> Mali Rapor</a></li>
<li><a href="../modules/avans-giris.php" class="<?php echo ($mevcut_sayfa == 'avans-giris.php') ? 'active' : ''; ?>"><i class="fas fa-hand-holding-dollar me-2"></i> Avans Yönetimi</a></li>
<li><a href="../modules/ikramiye-ekle.php" class="<?php echo ($mevcut_sayfa == 'ikramiye-ekle.php') ? 'active' : ''; ?>"><i class="fas fa-gift me-2"></i> İkramiye Ver</a></li>
<li><a href="../modules/raporlar.php" class="<?php echo ($mevcut_sayfa == 'raporlar.php') ? 'active' : ''; ?>"><i class="fas fa-file-invoice me-2"></i> Genel Raporlar</a></li>
</ul>
</li>
<li>
<a href="../modules/yedek-al.php" onclick="return confirm('Veritabanının tam yedeği indirilsin mi? !! Log kayıtlarına eklenecektir !!');">
<i class="fas fa-database me-2"></i> Veritabanı Yedekle
</a>
</li>
<?php endif; ?>
<?php if($rol == 'root'): ?>
<li>
<a href="../modules/sistem-ayarlari.php" class="<?php echo ($mevcut_sayfa == 'sistem-ayarlari.php') ? 'active' : ''; ?>">
<i class="fas fa-cogs me-2"></i> Sistem Ayarları
</a>
</li>
<li>
<a href="../modules/log-izleme.php" class="<?php echo ($mevcut_sayfa == 'log-izleme.php') ? 'active' : ''; ?>">
<i class="fas fa-shield-alt me-2"></i> Sistem Logları
</a>
</li>
<?php endif; ?>
</ul>
</nav>
<div id="content">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
// Menüyü Açma/Kapama İşlevleri
function toggleMobileMenu() {
var sidebar = document.getElementById('sidebar');
var overlay = document.getElementById('sidebar-overlay');
if (sidebar.classList.contains('active')) {
sidebar.classList.remove('active');
if(overlay) overlay.classList.remove('active');
} else {
sidebar.classList.add('active');
if(overlay) overlay.classList.add('active');
}
}
function closeMobileMenu() {
var sidebar = document.getElementById('sidebar');
var overlay = document.getElementById('sidebar-overlay');
sidebar.classList.remove('active');
if(overlay) overlay.classList.remove('active');
}
document.addEventListener("DOMContentLoaded", function () {
var mobileTrigger = document.getElementById('mobile-menu-trigger');
if(mobileTrigger) {
mobileTrigger.addEventListener('click', function(e) {
e.stopPropagation();
toggleMobileMenu();
});
}
var overlay = document.getElementById('sidebar-overlay');
if(overlay) {
overlay.addEventListener('click', closeMobileMenu);
}
var closeBtn = document.getElementById('sidebarCloseInside');
if(closeBtn) {
closeBtn.addEventListener('click', closeMobileMenu);
}
});
</script>