Sindbad~EG File Manager
<?php
require_once 'config/config.php';
$db = Database::getInstance()->getConnection();
echo "<h2>Adding Membership Submodules to Sidebar...</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. Please run the database setup first.</p>";
exit;
}
// Get the current display order of Membership module
$stmt = $db->query("SELECT display_order FROM module_management WHERE module_name = 'Membership' OR module_url LIKE '%membership/index%' LIMIT 1");
$membershipOrder = $stmt->fetch();
$membershipOrder = $membershipOrder ? $membershipOrder['display_order'] : 1;
echo "<p>📍 Membership module found at display order: " . $membershipOrder . "</p>";
// Add Membership Cards module
$stmt = $db->prepare("
INSERT INTO module_management (module_name, module_url, module_icon, is_active, display_order, required_role)
VALUES ('Membership Cards', 'modules/membership/cards.php', 'id-card', 1, :display_order, 'assembly')
ON DUPLICATE KEY UPDATE
module_name = VALUES(module_name),
module_url = VALUES(module_url),
module_icon = VALUES(module_icon),
is_active = VALUES(is_active),
display_order = VALUES(display_order),
required_role = VALUES(required_role)
");
$stmt->execute(['display_order' => $membershipOrder + 1]);
echo "<p style='color: green;'>✅ Added 'Membership Cards' module</p>";
// Add Member Codes module
$stmt = $db->prepare("
INSERT INTO module_management (module_name, module_url, module_icon, is_active, display_order, required_role)
VALUES ('Member Codes', 'modules/membership/codes.php', 'qrcode', 1, :display_order, 'assembly')
ON DUPLICATE KEY UPDATE
module_name = VALUES(module_name),
module_url = VALUES(module_url),
module_icon = VALUES(module_icon),
is_active = VALUES(is_active),
display_order = VALUES(display_order),
required_role = VALUES(required_role)
");
$stmt->execute(['display_order' => $membershipOrder + 2]);
echo "<p style='color: green;'>✅ Added 'Member Codes' module</p>";
// Update display orders for modules that come after
$stmt = $db->prepare("
UPDATE module_management
SET display_order = display_order + 2
WHERE display_order > :membership_order
AND module_name NOT IN ('Membership', 'Membership Cards', 'Member Codes')
");
$stmt->execute(['membership_order' => $membershipOrder]);
echo "<p style='color: blue;'>🔄 Updated display orders for other modules</p>";
// Show current membership modules
echo "<h3>Current Membership Modules:</h3>";
$stmt = $db->query("
SELECT module_name, module_url, display_order, required_role, is_active
FROM module_management
WHERE module_name LIKE '%Member%' OR module_url LIKE '%membership%'
ORDER BY display_order
");
$modules = $stmt->fetchAll();
echo "<table border='1' style='border-collapse: collapse; margin: 10px 0;'>";
echo "<tr><th>Module Name</th><th>URL</th><th>Order</th><th>Role</th><th>Active</th></tr>";
foreach ($modules 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>" . htmlspecialchars($module['required_role']) . "</td>";
echo "<td>" . ($module['is_active'] ? 'Yes' : 'No') . "</td>";
echo "</tr>";
}
echo "</table>";
echo "<p style='color: green; font-weight: bold;'>✅ SUCCESS! Membership submodules have been added to the sidebar.</p>";
echo "<p>Please refresh your admin dashboard to see the new menu items.</p>";
} catch (Exception $e) {
echo "<p style='color: red;'>❌ Error: " . htmlspecialchars($e->getMessage()) . "</p>";
}
echo "<hr>";
echo "<p><a href='dashboard.php'>→ Go to Dashboard</a></p>";
echo "<p><a href='modules/membership/cards.php'>→ Test Membership Cards</a></p>";
echo "<p><a href='modules/membership/codes.php'>→ Test Member Codes</a></p>";
?>
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists