aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Timeline/LocalTimeline.php
diff options
context:
space:
mode:
Diffstat (limited to 'Digitigrade/Timeline/LocalTimeline.php')
-rw-r--r--Digitigrade/Timeline/LocalTimeline.php20
1 files changed, 20 insertions, 0 deletions
diff --git a/Digitigrade/Timeline/LocalTimeline.php b/Digitigrade/Timeline/LocalTimeline.php
new file mode 100644
index 0000000..e4594af
--- /dev/null
+++ b/Digitigrade/Timeline/LocalTimeline.php
@@ -0,0 +1,20 @@
+<?php
+namespace Digitigrade\Timeline;
+
+use Digitigrade\Db;
+use Digitigrade\Timeline;
+
+class LocalTimeline extends Timeline {
+ protected function getNoteIds(int $limit, int $offset): array {
+ $db = Db::getInstance()->getPdo();
+ $stmt = $db->prepare(<<<END
+ SELECT note.id FROM note
+ LEFT JOIN note_privacy ON note_privacy.note_id = note.id
+ LEFT JOIN actor ON note.author = actor.id
+ WHERE note_privacy.scope = 'public' AND note_privacy.indexable = true AND actor.is_local = true
+ ORDER BY note.created DESC LIMIT ? OFFSET ?
+ END);
+ $stmt->execute([$limit, $offset]);
+ return $stmt->fetchAll(\PDO::FETCH_COLUMN, 0);
+ }
+} \ No newline at end of file