feed-reader-central/src/public/index.php

44 lines
1.2 KiB
PHP
Raw Normal View History

<?php
2024-04-06 15:02:48 +00:00
/**
* Home Page
*
* Displays a list of unread feed items for the current user
*/
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'); ?>
<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();