PYBS (Personel Yönetim Bilgi Sistemi) / includes/header.php
header.php 112 satır • 5.08 KB
<?php
// includes/header.php
require_once __DIR__ . '/../config/db.php';
require_once __DIR__ . '/../config/functions.php';

// Oturum Kontrolü
if (!isset($_SESSION['kullanici_id'])) {
    header("Location: ../index.php");
    exit;
}

$ad_soyad = $_SESSION['ad_soyad'];
$rol = $_SESSION['rol'];

// Rol İsimleri
$rol_etiketleri = [
    'root' => 'Sistem Yöneticisi',
    'yonetici' => 'Yönetici',
    'mudur' => 'Müdür',
    'vardiya_amiri' => 'Vardiya Amiri',
    'muhasebe' => 'Muhasebe',
    'insan_kaynaklari' => 'İnsan Kaynakları',
    'calisan' => 'Personel',
    'stajyer' => 'Stajyer'
];
$gosterilen_rol = $rol_etiketleri[$rol] ?? $rol;

// Bildirim Sayısını Çek (Eğer fonksiyon tanımlıysa)
$bildirim_sayisi = 0;
if (function_exists('bildirimSayisi')) {
    $bildirim_sayisi = bildirimSayisi($pdo, $_SESSION['kullanici_id']);
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ramsa PYBS</title>
    <link rel="icon" type="image/png" href="../assets/img/logo.png">
    
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    
    <style>
        :root {
            --ramsa-blue: #2A7BB8;
            --ramsa-yellow: #F3B01B;
            --sidebar-width: 260px;
            --sidebar-bg: #212529;
        }
        body {
            background-color: #F4F6F9;
            margin: 0;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            overflow-x: hidden;
        }
        .wrapper { display: flex; width: 100%; min-height: calc(100vh - 60px); }
        #sidebar { min-width: var(--sidebar-width); max-width: var(--sidebar-width); background: var(--sidebar-bg); color: #fff; transition: all 0.3s; }
        #sidebar.active { margin-left: calc(-1 * var(--sidebar-width)); }
        #sidebar ul.components { padding: 0; margin: 0; list-style: none; }
        #sidebar ul li { border-bottom: 1px solid rgba(255,255,255,0.05); }
        #sidebar ul li a { padding: 15px 20px; font-size: 1rem; display: flex; align-items: center; color: rgba(255,255,255,0.7) !important; text-decoration: none !important; transition: 0.3s; }
        #sidebar ul li a:hover { color: #fff !important; background: rgba(255,255,255,0.1); border-left: 4px solid var(--ramsa-yellow); }
        #sidebar ul li a.active { color: #fff !important; background: var(--ramsa-blue); }
        #sidebar ul li a i { margin-right: 15px; width: 20px; text-align: center; }
        #content { width: 100%; padding: 20px; flex-grow: 1; }
        .navbar-custom { background-color: var(--ramsa-blue); color: white; height: 60px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
        .navbar-brand { color: white !important; font-weight: 700; font-size: 1.2rem; display: flex; align-items: center; }
        .navbar-brand img { height: 40px; margin-right: 10px; background: white; border-radius: 4px; padding: 2px; }
        .card-box { background: #fff; border-radius: 10px; box-shadow: 0 0 15px rgba(0,0,0,0.05); margin-bottom: 20px; border: none; border-top: 4px solid var(--ramsa-blue); }
        .stat-card { border: none; border-radius: 10px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: transform 0.2s; }
        .stat-card:hover { transform: translateY(-3px); }
        @media (max-width: 768px) { #sidebar { margin-left: calc(-1 * var(--sidebar-width)); } #sidebar.active { margin-left: 0; } }
    </style>
</head>
<body>

<nav class="navbar navbar-expand-lg navbar-custom sticky-top">
    <div class="container-fluid">
        <button type="button" id="sidebarCollapse" class="btn btn-light btn-sm me-3 text-primary">
            <i class="fas fa-bars"></i>
        </button>
        
        <a class="navbar-brand" href="#">
            <img src="../assets/img/logo.png" alt="Logo">
            <span>RAMSA Personel Yönetim Bilgi Sistemi</span>
        </a>

        <div class="ms-auto d-flex align-items-center">
            
            <a href="../modules/bildirimler.php" class="position-relative text-white me-4 text-decoration-none" title="Bildirimler">
                <i class="fas fa-bell fa-lg"></i>
                <?php if($bildirim_sayisi > 0): ?>
                    <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger" style="font-size: 0.6rem;">
                        <?php echo $bildirim_sayisi; ?>
                    </span>
                <?php endif; ?>
            </a>

            <div class="d-none d-md-block text-end me-3 text-white" style="line-height: 1.2;">
                <div style="font-size: 0.9rem;"><?php echo guvenlik($ad_soyad); ?></div>
                <small style="font-size: 0.75rem; opacity: 0.8;"><?php echo $gosterilen_rol; ?></small>
            </div>
            <a href="../cikis.php" class="btn btn-danger btn-sm rounded-pill px-3">
                <i class="fas fa-power-off"></i> <span class="d-none d-md-inline">Çıkış</span>
            </a>
        </div>
    </div>
</nav>

<div class="wrapper">