69 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
$title = 'Member Not Found';
 | 
						|
$description = "We couldn't find anyone with the handle" . $_GET['handle'] . ".";
 | 
						|
$sql = "SELECT
 | 
						|
id,
 | 
						|
name,
 | 
						|
handle,
 | 
						|
avatar,
 | 
						|
biography,
 | 
						|
links,
 | 
						|
created_at,
 | 
						|
last_access
 | 
						|
FROM members WHERE LOWER(handle) = LOWER(:handle)";
 | 
						|
 | 
						|
$stmt = $db['data']->prepare($sql);
 | 
						|
$stmt->execute([
 | 
						|
    'handle' => $_GET['handle'],
 | 
						|
]);
 | 
						|
$member = $stmt->fetch();
 | 
						|
 | 
						|
if ($member) {
 | 
						|
    $name =  $member['name'] ?? 'Member ' . $member['id'];
 | 
						|
    $title = 'Member: ' . $name;
 | 
						|
    $description = $member['biography'] ?? "No biography provided.";
 | 
						|
}
 | 
						|
 | 
						|
include "partials/head.php"; ?>
 | 
						|
    <body>
 | 
						|
        <?php include "partials/header.php" ?>
 | 
						|
    <main id="main" class="flow">
 | 
						|
        <header>
 | 
						|
            <h1><?= $name ?? "Member Not Found" ?> <small>(<?= $member['handle'] ?? $_GET['handle'] ?>)</small></h1>
 | 
						|
        </header>
 | 
						|
        <?php
 | 
						|
        if (isset($member) && $member) {
 | 
						|
            $links = json_decode($member['links']);
 | 
						|
            // fix broken encodings
 | 
						|
            // $stmt2 = $db['data']->prepare('UPDATE members SET name = :name WHERE id = :id');
 | 
						|
            // $stmt2->execute([
 | 
						|
            //     'id' => $member['id'],
 | 
						|
            //     'name' => mb_convert_encoding($member['name'], 'Windows-1252','utf-8'),
 | 
						|
            // ]);
 | 
						|
 | 
						|
            // fix null handles
 | 
						|
            // $stmt2 = $db['data']->prepare('UPDATE members SET handle = :handle WHERE id = :id');
 | 
						|
            // $stmt2->execute([
 | 
						|
            //     'id' => $member['id'],
 | 
						|
            //     'handle' => 'member-' . $member['id']
 | 
						|
            // ]);
 | 
						|
            ?>
 | 
						|
            <article class="member flow">
 | 
						|
                <?php if ($member['avatar']) { ?><img src="/assets/avatars<?= $member['avatar'] ?>" alt=""/><?php } ?>
 | 
						|
                <div><?= $member['biography'] ?? "<p>No biography provided.</p>"?></div>
 | 
						|
                <?php if ($links) : ?>
 | 
						|
                <ul>
 | 
						|
                    <?php foreach ($links as $link) : ?>
 | 
						|
                    <li><a href="<?= $link->url ?>"><?= $link->name ?></a></li>
 | 
						|
                    <?php endforeach; ?>
 | 
						|
                </ul>
 | 
						|
                <?php endif; ?>
 | 
						|
            </article>
 | 
						|
        <?php } else {
 | 
						|
            http_response_code(404);
 | 
						|
            ?>
 | 
						|
        <p>We couldn't find anyone with the handle <b><?= $_GET['handle'] ?></b>.</p>
 | 
						|
        <?php } ?>
 | 
						|
    </main>
 | 
						|
    <?php include "partials/footer.php"; ?>
 |