diff --git a/src/Controller/FeedController/FeedController.php b/src/Controller/FeedController/FeedController.php
index a1e415b..dbaa787 100644
--- a/src/Controller/FeedController/FeedController.php
+++ b/src/Controller/FeedController/FeedController.php
@@ -6,7 +6,7 @@ class FeedController extends Controller {
public function __construct(){
$this->config = ConfigModel::load();
$tickModel = new TickModel();
- $this->ticks = iterator_to_array($tickModel->stream($this->config->itemsPerPage));
+ $this->ticks = $tickModel->getPage($this->config->itemsPerPage);
Log::debug("Loaded " . count($this->ticks) . " ticks for feeds");
}
diff --git a/src/Controller/HomeController/HomeController.php b/src/Controller/HomeController/HomeController.php
index bd1ed88..e0f8c1e 100644
--- a/src/Controller/HomeController/HomeController.php
+++ b/src/Controller/HomeController/HomeController.php
@@ -10,10 +10,10 @@ class HomeController extends Controller {
$tickModel = new TickModel();
$limit = $config->itemsPerPage;
$offset = ($page - 1) * $limit;
- $ticks = iterator_to_array($tickModel->stream($limit, $offset));
+ $ticks = $tickModel->getPage($limit, $offset);
- $view = new HomeView();
- $tickList = $view->renderTicksSection($config->siteDescription, $ticks, $page, $limit);
+ $view = new TicksView($config, $ticks, $page);
+ $tickList = $view->getHtml();
$vars = [
'config' => $config,
diff --git a/src/Model/TickModel/TickModel.php b/src/Model/TickModel/TickModel.php
index 577c16e..be947a3 100644
--- a/src/Model/TickModel/TickModel.php
+++ b/src/Model/TickModel/TickModel.php
@@ -1,18 +1,12 @@
prepare("SELECT id, timestamp, tick FROM tick ORDER BY timestamp DESC LIMIT ? OFFSET ?");
$stmt->execute([$limit, $offset]);
- while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
- yield [
- 'id' => $row['id'],
- 'timestamp' => $row['timestamp'],
- 'tick' => $row['tick'],
- ];
- }
+ return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
public function insert(string $tick, ?DateTimeImmutable $datetime = null): void {
diff --git a/src/View/HomeView/HomeView.php b/src/View/TicksView/TicksView.php
similarity index 75%
rename from src/View/HomeView/HomeView.php
rename to src/View/TicksView/TicksView.php
index 836f340..166bafa 100644
--- a/src/View/HomeView/HomeView.php
+++ b/src/View/TicksView/TicksView.php
@@ -1,7 +1,16 @@
html = $this->render($config, $ticks, $page);
+ }
+
+ public function getHtml(): string {
+ return $this->html;
+ }
+
+ private function render(ConfigModel $config, array $ticks, int $page): string{
ob_start();
?>
@@ -22,7 +31,7 @@ class HomeView {
strictAccessibility): ?>tabindex="0"
href="?page=">« Newer
-
+ itemsPerPage): ?>
strictAccessibility): ?>tabindex="0"
href="?page=">Older »