Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/conference/events/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/conference/events/index.php

<?php
require_once '../includes/functions.php';

// Check if user is logged in
if (!isLoggedIn()) {
    header('Location: ' . BASE_URL . 'login.php');
    exit();
}

$user = getCurrentUser();
$db = new CopMadinaDB();
$conn = $db->getConnection();

// Get events based on user role and permissions
$whereClause = "WHERE e.status = 'active'";
$params = [];

if ($user['role'] === 'area_admin') {
    $whereClause .= " AND e.area_id = ?";
    $params[] = $user['area_id'];
} elseif ($user['role'] === 'district_admin') {
    $whereClause .= " AND e.district_id = ?";
    $params[] = $user['district_id'];
} elseif ($user['role'] === 'assembly_admin') {
    $whereClause .= " AND e.assembly_id = ?";
    $params[] = $user['assembly_id'];
} elseif ($user['role'] === 'member') {
    // Members can see events from their area/district/assembly
    $conditions = [];
    if ($user['area_id']) {
        $conditions[] = "e.area_id = ?";
        $params[] = $user['area_id'];
    }
    if ($user['district_id']) {
        $conditions[] = "e.district_id = ?";
        $params[] = $user['district_id'];
    }
    if ($user['assembly_id']) {
        $conditions[] = "e.assembly_id = ?";
        $params[] = $user['assembly_id'];
    }
    if (!empty($conditions)) {
        $whereClause .= " AND (" . implode(' OR ', $conditions) . ")";
    }
}

$sql = "SELECT e.*, 
               a.name as area_name,
               d.name as district_name,
               ass.name as assembly_name,
               (SELECT COUNT(*) FROM event_registrations er WHERE er.event_id = e.id) as registration_count
        FROM events e
        LEFT JOIN areas a ON e.area_id = a.id
        LEFT JOIN districts d ON e.district_id = d.id
        LEFT JOIN assemblies ass ON e.assembly_id = ass.id
        $whereClause
        ORDER BY e.start_date ASC";

$events = executeQuery($sql, $params)->fetchAll();

$settings = getSettings();
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Events - COP Madina Conference Management</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    gradientBg: {
                        background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)'
                    },
                    colors: {
                        primary: {
                            50: '#eff6ff',
                            100: '#dbeafe',
                            500: '#3b82f6',
                            600: '#2563eb',
                            700: '#1d4ed8',
                            800: '#1e40af',
                            900: '#1e3a8a'
                        }
                    }
                }
            }
        }
    </script>
</head>
<body class="bg-gray-100">
    <div id="app" class="flex h-screen">
        <?php include '../includes/public_sidebar.php'; ?>
        
        <!-- Main Content -->
        <div class="flex-1 flex flex-col overflow-hidden">
            <!-- Header -->
            <header class="bg-white shadow-sm border-b border-gray-200">
                <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
                    <div class="flex justify-between items-center h-16">
                        <div class="flex items-center">
                            <a href="<?php echo BASE_URL; ?>" class="flex items-center">
                                <img src="<?php echo BASE_URL; ?>assets/images/logo.png" alt="COP Madina" class="h-10 w-10 rounded-full mr-3">
                                <div>
                                    <h1 class="text-xl font-bold text-gray-900">Events</h1>
                                    <p class="text-xs text-gray-500">Conference & Event Listings</p>
                                </div>
                            </a>
                        </div>
                        
                        <nav class="flex items-center space-x-4">
                            <a href="<?php echo BASE_URL; ?>" class="text-gray-600 hover:text-gray-900 transition-colors">
                                <i class="fas fa-home mr-1"></i>Home
                            </a>
                            <a href="<?php echo BASE_URL; ?>dashboard.php" class="text-gray-600 hover:text-gray-900 transition-colors">
                                <i class="fas fa-tachometer-alt mr-1"></i>Dashboard
                            </a>
                            <div class="relative">
                                <span class="text-gray-700 font-medium">
                                    <?php echo htmlspecialchars($user['first_name'] . ' ' . $user['last_name']); ?>
                                </span>
                            </div>
                            <a href="<?php echo BASE_URL; ?>logout.php" class="text-red-600 hover:text-red-800 transition-colors">
                                <i class="fas fa-sign-out-alt"></i>
                            </a>
                        </nav>
                    </div>
                </div>
            </header>

            <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
                <!-- Page Header -->
                <div class="mb-8">
                    <h1 class="text-3xl font-bold text-gray-900">Events & Conferences</h1>
                    <p class="mt-2 text-gray-600">Browse and register for upcoming events</p>
                </div>

                <!-- Events Grid -->
                <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
                    <?php foreach ($events as $event): ?>
                    <div class="bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-shadow">
                        <div class="p-6">
                            <div class="flex items-center justify-between mb-4">
                                <span class="inline-flex px-2 py-1 text-xs font-semibold rounded-full
                                    <?php echo $event['event_type'] === 'conference' ? 'bg-blue-100 text-blue-800' : 
                                        ($event['event_type'] === 'workshop' ? 'bg-green-100 text-green-800' : 
                                        ($event['event_type'] === 'seminar' ? 'bg-purple-100 text-purple-800' : 'bg-gray-100 text-gray-800')); ?>">
                                    <?php echo ucfirst($event['event_type']); ?>
                                </span>
                                <span class="text-sm text-gray-500">
                                    <?php echo $event['registration_count']; ?> registered
                                </span>
                            </div>
                            
                            <h3 class="text-xl font-bold text-gray-900 mb-2">
                                <?php echo htmlspecialchars($event['title']); ?>
                            </h3>
                            
                            <p class="text-gray-600 mb-4 line-clamp-3">
                                <?php echo htmlspecialchars($event['description']); ?>
                            </p>
                            
                            <div class="space-y-2 mb-4">
                                <div class="flex items-center text-sm text-gray-500">
                                    <i class="fas fa-calendar mr-2"></i>
                                    <?php echo date('M j, Y', strtotime($event['start_date'])); ?>
                                    <?php if ($event['end_date'] && $event['end_date'] !== $event['start_date']): ?>
                                        - <?php echo date('M j, Y', strtotime($event['end_date'])); ?>
                                    <?php endif; ?>
                                </div>
                                
                                <?php if (isset($event['start_time']) && $event['start_time']): ?>
                                <div class="flex items-center text-sm text-gray-500">
                                    <i class="fas fa-clock mr-2"></i>
                                    <?php echo date('g:i A', strtotime($event['start_time'])); ?>
                                    <?php if (isset($event['end_time']) && $event['end_time']): ?>
                                        - <?php echo date('g:i A', strtotime($event['end_time'])); ?>
                                    <?php endif; ?>
                                </div>
                                <?php endif; ?>
                                
                                <?php if (isset($event['location']) && $event['location']): ?>
                                <div class="flex items-center text-sm text-gray-500">
                                    <i class="fas fa-map-marker-alt mr-2"></i>
                                    <?php echo htmlspecialchars($event['location']); ?>
                                </div>
                                <?php endif; ?>
                                
                                <div class="flex items-center text-sm text-gray-500">
                                    <i class="fas fa-users mr-2"></i>
                                    <?php 
                                    if ($event['area_name']) echo htmlspecialchars($event['area_name']);
                                    if ($event['district_name']) echo ' > ' . htmlspecialchars($event['district_name']);
                                    if ($event['assembly_name']) echo ' > ' . htmlspecialchars($event['assembly_name']);
                                    ?>
                                </div>
                            </div>
                            
                            <div class="flex items-center justify-between">
                                <div class="text-lg font-bold text-primary-600">
                                    <?php if (isset($event['is_free']) && $event['is_free']): ?>
                                        Free
                                    <?php elseif (isset($event['base_price']) && $event['base_price'] > 0): ?>
                                        GH₵<?php echo number_format($event['base_price'], 2); ?>
                                    <?php elseif (isset($event['registration_fee']) && $event['registration_fee'] > 0): ?>
                                        <?php echo formatCurrency($event['registration_fee']); ?>
                                    <?php else: ?>
                                        Free
                                    <?php endif; ?>
                                </div>
                                
                                <a href="<?php echo BASE_URL; ?>event.php?id=<?php echo $event['id']; ?>" 
                                   class="bg-primary-600 text-white px-4 py-2 rounded-lg hover:bg-primary-700 transition-colors">
                                    View Details
                                </a>
                            </div>
                        </div>
                    </div>
                    <?php endforeach; ?>
                </div>
                
                <?php if (empty($events)): ?>
                <div class="text-center py-12">
                    <i class="fas fa-calendar-times text-gray-400 text-6xl mb-4"></i>
                    <h3 class="text-xl font-semibold text-gray-900 mb-2">No Events Found</h3>
                    <p class="text-gray-600">There are currently no active events available.</p>
                </div>
                <?php endif; ?>
            </div>
        </div>
    </div>

    <style>
        .gradient-bg {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .sidebar-active {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
        }
    </style>

    <script>
        const { createApp } = Vue;
        
        createApp({
            data() {
                return {
                    // Add any reactive data here
                }
            },
            methods: {
                // Add any methods here
            }
        }).mount('#app');
    </script>
</body>
</html>

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