>=htmlentities($item['item_title'])?>
- =htmlentities($item['feed_title'])?>
=$asOf?>
+
>=htmlentities($item['item_title'])?>
+ =htmlentities($item['feed_title'])?>
=date_time($item['as_of'])?>fetchArray(SQLITE3_ASSOC);
}
} else { ?>
diff --git a/src/public/item.php b/src/public/item.php
new file mode 100644
index 0000000..59a1630
--- /dev/null
+++ b/src/public/item.php
@@ -0,0 +1,79 @@
+prepare(<<<'SQL'
+ SELECT COUNT(*)
+ FROM item INNER JOIN feed ON feed.id = item.feed_id
+ WHERE item.id = :id AND feed.user_id = :user
+ SQL);
+ $isValidQuery->bindValue(':id', $_POST['id']);
+ $isValidQuery->bindValue(':user', $_REQUEST[Key::USER_ID]);
+ $isValidResult = $isValidQuery->execute();
+ if ($isValidResult && $isValidResult->fetchArray(SQLITE3_NUM)[0] == 1) {
+ $keepUnread = $db->prepare('UPDATE item SET is_read = 0 WHERE id = :id');
+ $keepUnread->bindValue(':id', $_POST['id']);
+ $keepUnread->execute();
+ }
+ $db->close();
+ frc_redirect('/');
+}
+
+$query = $db->prepare(<<<'SQL'
+ SELECT item.title AS item_title, item.item_link, item.published_on, item.updated_on, item.content, item.is_encoded,
+ feed.title AS feed_title
+ FROM item INNER JOIN feed ON feed.id = item.feed_id
+ WHERE item.id = :id
+ AND feed.user_id = :user
+ SQL);
+$query->bindValue(':id', $_GET['id']);
+$query->bindValue(':user', $_REQUEST[Key::USER_ID]);
+$result = $query->execute();
+$item = $result ? $result->fetchArray(SQLITE3_ASSOC) : false;
+
+if ($item) {
+ $markRead = $db->prepare('UPDATE item SET is_read = 1 WHERE id = :id');
+ $markRead->bindValue(':id', $_GET['id']);
+ $markRead->execute();
+}
+
+$published = date_time($item['published_on']);
+$updated = isset($item['updated_on']) ? date_time($item['updated_on']) : null;
+$isEncoded = (bool) $item['is_encoded'];
+
+page_head(htmlentities("{$item['item_title']} | {$item['feed_title']}")); ?>
+
+ =$item['item_title']?>
+
++ Published =date_time($item['published_on'])?>=$updated && $updated != $published ? " (Updated $updated)" : ''?> +