HEX
Server: LiteSpeed
System: Linux server214.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: bigisxfd (746)
PHP: 8.4.15
Disabled: NONE
Upload Files
File: /home/bigisxfd/public_html/cowork/members.php
<?php																																										

// Include necessary files
include_once("header.php");
include_once("sidebar.php");

// Fetch existing members
$existingMembers = getExistingMembers(); // Define this function to fetch members

// Handle search functionality
$searchTerm = $_GET['search'] ?? '';

if (!empty($searchTerm)) {
    $filteredMembers = array_filter($existingMembers, function ($member) use ($searchTerm) {
        return stripos($member['rfid'], $searchTerm) !== false
            || stripos($member['firstname'], $searchTerm) !== false
            || stripos($member['lastname'], $searchTerm) !== false
            || stripos($member['email'], $searchTerm) !== false
            || stripos($member['number'], $searchTerm) !== false;
    });
} else {
    $filteredMembers = $existingMembers;
}

// Sort by first name
usort($filteredMembers, function ($a, $b) {
    return strcasecmp($a['firstname'], $b['firstname']);
});

// Pagination
$page = $_GET['page'] ?? 1; // Current page
$perPage = 20; // Records per page
$totalMembers = count($filteredMembers);
$totalPages = ceil($totalMembers / $perPage);

// Validate current page
if ($page < 1) {
    $page = 1;
} elseif ($page > $totalPages) {
    $page = $totalPages;
}

// Calculate offset
$offset = ($page - 1) * $perPage;
$paginatedMembers = array_slice($filteredMembers, $offset, $perPage, true);
?>
<style>
    .alert {
        padding: 15px;
        margin-bottom: 20px;
        border: 1px solid transparent;
        border-radius: 4px;
    }
    .alert-success {
        color: #3c763d;
        background-color: #dff0d8;
        border-color: #d6e9c6;
    }
    .alert-danger {
        color: #a94442;
        background-color: #f2dede;
        border-color: #ebccd1;
    }
    .alert-warning {
        color: #8a6d3b;
        background-color: #fcf8e3;
        border-color: #faebcc;
    }
</style>

<section>
    <div class="column">
        
<?php
// Display messages based on the query parameter
if (isset($_GET['message'])) {
    if ($_GET['message'] == 'success') {
        echo "<div class='alert alert-success'>Member deleted successfully.</div>";
    } elseif ($_GET['message'] == 'error') {
        $error = isset($_GET['error']) ? htmlspecialchars($_GET['error']) : 'An error occurred.';
        echo "<div class='alert alert-danger'>Error: $error</div>";
    } elseif ($_GET['message'] == 'invalid_id') {
        echo "<div class='alert alert-warning'>Invalid member ID.</div>";
    } elseif ($_GET['message'] == 'missing_id') {
        echo "<div class='alert alert-warning'>Member ID is missing.</div>";
    }
}
?>
        <div style="display: flex; align-items: center; justify-content: space-between;">
            <h2>Existing Members</h2>
            <button class="add-button" onclick="location.href='add_member.php'">Add Member</button>
        </div>
        <form action="" method="get" class="search-form">
            <input type="text" name="search" placeholder="Search members..." value="<?= $searchTerm ?>">
            <button type="submit">Search</button>
        </form>
        <table>
            <tr>
                <th>Member ID</th>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Email</th>
                <th>Number</th>
                <th>Birthday</th>
                <th>Available Credits</th>
                <th>Action</th>
            </tr>
            <?php
            foreach ($paginatedMembers as $member) {
                echo "<tr>";
                echo "<td>{$member['rfid']}</td>";
                echo "<td>{$member['firstname']}</td>";
                echo "<td>{$member['lastname']}</td>";
                echo "<td>{$member['email']}</td>";
                echo "<td>{$member['number']}</td>";
                echo "<td>{$member['birthday']}</td>";
                echo "<td>{$member['credits']}</td>";
                echo "<td><a href='edit_member.php?id={$member['memberid']}' class='edit-button'>Edit</a> | <a href='delete_member.php?id={$member['memberid']}' class='delete-button'>Delete</a></td>";
                echo "</tr>";
            }
            ?>
        </table>

        <!-- Pagination links -->
        <div class="pagination">
            <?php for ($i = 1; $i <= $totalPages; $i++) : ?>
                <a href="?page=<?= $i ?>&search=<?= $searchTerm ?>" <?= ($i == $page) ? 'class="active"' : '' ?>><?= $i ?></a>
            <?php endfor; ?>
        </div>
    </div>
</section>

</body>
</html>