Sindbad~EG File Manager
<?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