Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/portal/api/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/portal/api/get-member-codes.php

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

header('Content-Type: application/json');

if (!isLoggedIn()) {
    http_response_code(401);
    echo json_encode(['success' => false, 'message' => 'Unauthorized']);
    exit;
}

$memberId = $_GET['member_id'] ?? '';

if (empty($memberId)) {
    echo json_encode(['success' => false, 'message' => 'Member ID is required']);
    exit;
}

try {
    $db = Database::getInstance()->getConnection();
    
    // Check if membershipcard_id column exists
    $columnExists = false;
    try {
        $checkStmt = $db->query("SHOW COLUMNS FROM members LIKE 'membershipcard_id'");
        $columnExists = $checkStmt->fetch() !== false;
    } catch (PDOException $e) {
        // Column doesn't exist
    }
    
    $memberIdField = $columnExists ? 'm.membershipcard_id' : 'CONCAT("MC", YEAR(CURDATE()), LPAD(m.id, 6, "0")) as membershipcard_id';
    
    // Get member details
    $memberStmt = $db->prepare("
        SELECT m.id, m.first_name, m.last_name, {$memberIdField}, m.profile_photo
        FROM members m 
        WHERE m.id = :member_id AND m.is_active = 1
    ");
    $memberStmt->execute(['member_id' => $memberId]);
    $member = $memberStmt->fetch();
    
    if (!$member) {
        echo json_encode(['success' => false, 'message' => 'Member not found']);
        exit;
    }
    
    // Get member codes
    $codesStmt = $db->prepare("
        SELECT mc.*, e.name as event_name
        FROM memberuser_codes mc
        LEFT JOIN events e ON mc.event_id = e.id
        WHERE mc.member_id = :member_id AND mc.code_type = 'member' AND mc.is_active = 1
        ORDER BY mc.created_at DESC
    ");
    $codesStmt->execute(['member_id' => $memberId]);
    $codes = $codesStmt->fetchAll();
    
    echo json_encode([
        'success' => true,
        'member' => $member,
        'codes' => $codes
    ]);
    
} catch (Exception $e) {
    http_response_code(500);
    echo json_encode(['success' => false, 'message' => 'Database error: ' . $e->getMessage()]);
}
?>

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