Sindbad~EG File Manager

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

<?php
require_once 'config/config.php';

$db = Database::getInstance()->getConnection();

echo "<h2>Checking Sidebar Modules...</h2>";

try {
    // Check if module_management table exists
    $stmt = $db->query("SHOW TABLES LIKE 'module_management'");
    if ($stmt->fetch() === false) {
        echo "<p style='color: red;'>❌ module_management table does not exist.</p>";
        exit;
    }
    
    echo "<p style='color: green;'>✅ module_management table exists</p>";
    
    // Get current user info
    $userAccessLevel = getUserAccessLevel();
    $isSuperUser = isSuperuser();
    
    echo "<h3>Current User Info:</h3>";
    echo "<p><strong>Access Level:</strong> " . htmlspecialchars($userAccessLevel) . "</p>";
    echo "<p><strong>Is Superuser:</strong> " . ($isSuperUser ? 'Yes' : 'No') . "</p>";
    
    // Get all modules
    $stmt = $db->query("SELECT * FROM module_management WHERE is_active = 1 ORDER BY display_order");
    $allModules = $stmt->fetchAll();
    
    echo "<h3>All Active Modules in Database:</h3>";
    if (empty($allModules)) {
        echo "<p style='color: red;'>❌ No active modules found in database!</p>";
    } else {
        echo "<table border='1' style='border-collapse: collapse; margin: 10px 0;'>";
        echo "<tr><th>Order</th><th>Module Name</th><th>URL</th><th>Icon</th><th>Required Role</th><th>User Can Access</th></tr>";
        
        foreach ($allModules as $module) {
            // Check access
            $userCanAccess = false;
            if ($isSuperUser) {
                $userCanAccess = true;
            } else {
                $requiredRole = $module['required_role'];
                switch ($requiredRole) {
                    case 'assembly':
                        $userCanAccess = in_array($userAccessLevel, ['assembly', 'district', 'area']);
                        break;
                    case 'district':
                        $userCanAccess = in_array($userAccessLevel, ['district', 'area']);
                        break;
                    case 'area':
                        $userCanAccess = in_array($userAccessLevel, ['area']);
                        break;
                    default:
                        $userCanAccess = true;
                        break;
                }
            }
            
            $accessColor = $userCanAccess ? 'green' : 'red';
            $accessText = $userCanAccess ? 'Yes' : 'No';
            
            echo "<tr>";
            echo "<td>" . htmlspecialchars($module['display_order']) . "</td>";
            echo "<td>" . htmlspecialchars($module['module_name']) . "</td>";
            echo "<td>" . htmlspecialchars($module['module_url']) . "</td>";
            echo "<td><i class='fas fa-" . htmlspecialchars($module['module_icon']) . "'></i> " . htmlspecialchars($module['module_icon']) . "</td>";
            echo "<td>" . htmlspecialchars($module['required_role']) . "</td>";
            echo "<td style='color: $accessColor; font-weight: bold;'>$accessText</td>";
            echo "</tr>";
        }
        echo "</table>";
    }
    
    // Check specifically for membership modules
    echo "<h3>Membership-Related Modules:</h3>";
    $stmt = $db->query("SELECT * FROM module_management WHERE module_name LIKE '%Member%' OR module_url LIKE '%membership%' ORDER BY display_order");
    $membershipModules = $stmt->fetchAll();
    
    if (empty($membershipModules)) {
        echo "<p style='color: orange;'>⚠️ No membership-related modules found!</p>";
        echo "<p>Missing modules:</p>";
        echo "<ul>";
        echo "<li>❌ Membership Cards (modules/membership/cards.php)</li>";
        echo "<li>❌ Member Codes (modules/membership/codes.php)</li>";
        echo "</ul>";
    } else {
        echo "<table border='1' style='border-collapse: collapse; margin: 10px 0;'>";
        echo "<tr><th>Module Name</th><th>URL</th><th>Order</th><th>Active</th></tr>";
        foreach ($membershipModules as $module) {
            echo "<tr>";
            echo "<td>" . htmlspecialchars($module['module_name']) . "</td>";
            echo "<td>" . htmlspecialchars($module['module_url']) . "</td>";
            echo "<td>" . htmlspecialchars($module['display_order']) . "</td>";
            echo "<td>" . ($module['is_active'] ? '✅ Yes' : '❌ No') . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        
        // Check if the specific modules exist
        $hasCards = false;
        $hasCodes = false;
        foreach ($membershipModules as $module) {
            if (strpos($module['module_url'], 'cards.php') !== false) $hasCards = true;
            if (strpos($module['module_url'], 'codes.php') !== false) $hasCodes = true;
        }
        
        echo "<p><strong>Status:</strong></p>";
        echo "<p>" . ($hasCards ? "✅" : "❌") . " Membership Cards module</p>";
        echo "<p>" . ($hasCodes ? "✅" : "❌") . " Member Codes module</p>";
    }
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Error: " . htmlspecialchars($e->getMessage()) . "</p>";
}

echo "<hr>";
echo "<h3>Quick Actions:</h3>";
echo "<p><a href='add_membership_modules.php' style='background: #3B82F6; color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px;'>→ Add Missing Membership Modules</a></p>";
echo "<p><a href='dashboard.php'>→ Go to Dashboard</a></p>";
?>

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