Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/portal/includes/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/portal/includes/module_access_check.php

<?php
/**
 * Module Access Check
 * Include this file at the top of module pages to enforce access control
 * 
 * Usage:
 * $requiredAccess = 'area'; // or 'assembly', 'district', 'superuser'
 * require_once __DIR__ . '/../../includes/module_access_check.php';
 */

if (!defined('APP_NAME')) {
    require_once __DIR__ . '/../config/config.php';
}

// Check if user is logged in
checkLogin();

// Check if required access level is set
if (!isset($requiredAccess)) {
    // Try to get from module_management table based on current URL
    $currentUrl = $_SERVER['PHP_SELF'];
    $db = Database::getInstance()->getConnection();
    
    try {
        $stmt = $db->prepare("SELECT required_role FROM module_management WHERE module_url LIKE :url");
        $stmt->execute(['url' => '%' . basename(dirname($currentUrl)) . '/' . basename($currentUrl)]);
        $module = $stmt->fetch();
        
        if ($module) {
            $requiredAccess = $module['required_role'];
        }
    } catch (Exception $e) {
        // If can't determine, default to highest level
        $requiredAccess = 'superuser';
    }
}

// Check access
if (!canAccess($requiredAccess)) {
    $_SESSION['error'] = 'Access Denied: You do not have permission to access this module. Required access level: ' . ucfirst($requiredAccess);
    redirect('dashboard.php');
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists