1
0
Fork 0
app.sixfold.org/www/members/member.php
2024-11-14 04:30:20 -05:00

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 UPPER(handle) = UPPER(: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"; ?>