Update auth.php
This commit is contained in:
@@ -1,58 +1,22 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
// Pastikan session_start tidak ganda
|
||||||
* auth.php — Middleware Autentikasi & Otorisasi
|
if (session_status() === PHP_SESSION_NONE) {
|
||||||
* Include file ini di setiap halaman yang memerlukan login.
|
session_start();
|
||||||
*/
|
|
||||||
session_start();
|
|
||||||
|
|
||||||
// Redirect ke login jika belum login
|
|
||||||
if (!isset($_SESSION['user_id'])) {
|
|
||||||
header("Location: login.php");
|
|
||||||
exit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Cek apakah user adalah Admin Pemerintah
|
|
||||||
*/
|
|
||||||
function isAdminPemerintah() {
|
function isAdminPemerintah() {
|
||||||
return isset($_SESSION['role']) && $_SESSION['role'] === 'admin_pemerintah';
|
return (isset($_SESSION['role']) && $_SESSION['role'] === 'admin');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Cek apakah user adalah Admin Rumah Ibadah
|
|
||||||
*/
|
|
||||||
function isAdminIbadah() {
|
function isAdminIbadah() {
|
||||||
return isset($_SESSION['role']) && $_SESSION['role'] === 'admin_ibadah';
|
return (isset($_SESSION['role']) && $_SESSION['role'] === 'operator');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Ambil ID rumah ibadah milik user (untuk admin_ibadah)
|
|
||||||
*/
|
|
||||||
function getUserIbadahId() {
|
|
||||||
return isset($_SESSION['id_rumah_ibadah']) ? (int)$_SESSION['id_rumah_ibadah'] : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Ambil nama user yang sedang login
|
|
||||||
*/
|
|
||||||
function getUserNama() {
|
function getUserNama() {
|
||||||
return isset($_SESSION['nama']) ? $_SESSION['nama'] : 'User';
|
return $_SESSION['nama'] ?? 'User';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Ambil role user yang sedang login
|
|
||||||
*/
|
|
||||||
function getUserRole() {
|
function getUserRole() {
|
||||||
return isset($_SESSION['role']) ? $_SESSION['role'] : '';
|
return $_SESSION['role'] ?? 'guest';
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Require role tertentu, redirect ke dashboard jika tidak sesuai
|
|
||||||
*/
|
|
||||||
function requireRole($role) {
|
|
||||||
if (!isset($_SESSION['role']) || $_SESSION['role'] !== $role) {
|
|
||||||
header("Location: dashboard.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
Reference in New Issue
Block a user