Sindbad~EG File Manager

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

<?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