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