List unread items on home page (#6)

- Fix feed update (latent bug on #4)
This commit is contained in:
2024-04-13 12:10:07 -04:00
parent d9dc3ec361
commit 9b2190252f
5 changed files with 50 additions and 9 deletions

View File

@@ -9,6 +9,35 @@ include '../start.php';
Security::verifyUser();
$db = Data::getConnection();
$result = $db->query(<<<'SQL'
SELECT item.id, item.title AS item_title, coalesce(item.updated_on, item.published_on) AS as_of,
feed.title AS feed_title
FROM item
INNER JOIN feed ON feed.id = item.feed_id
WHERE item.is_read = 0
ORDER BY coalesce(item.updated_on, item.published_on) DESC
SQL);
$item = $result ? $result->fetchArray(SQLITE3_ASSOC) : false;
page_head('Welcome'); ?>
<p>Unread items go here</p><?php
<h1>Your Unread Items</h1>
<article><?php
if ($item) {
while ($item) {
try {
$asOf = (new DateTimeImmutable($item['as_of']))->format(DATE_TIME_FORMAT);
} catch (Exception) {
$asOf = '(invalid date)';
} ?>
<p><a href=/item/view?id=<?=$item['id']?>><?=htmlentities($item['item_title'])?></a><br>
<?=htmlentities($item['feed_title'])?><br><small><em><?=$asOf?></em></small><?php
$item = $result->fetchArray(SQLITE3_ASSOC);
}
} else { ?>
<p>There are no unread items</p><?php
} ?>
</article><?php
page_foot();
$db->close();