From 3338577d181432ea6a5175658c4e77f908ad6601 Mon Sep 17 00:00:00 2001 From: Torben Dannhauer Date: Wed, 27 May 2026 18:02:42 +0200 Subject: [PATCH] Refactor task retrieval logic in Sql.php --- lib/Driver/Sql.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/Driver/Sql.php b/lib/Driver/Sql.php index 42d81b3..5ac2652 100644 --- a/lib/Driver/Sql.php +++ b/lib/Driver/Sql.php @@ -79,7 +79,8 @@ public function getByUID($uids, ?array $tasklists = null, $getall = true) } if (empty($task)) { $readable_lists = Nag::listTasklists(); - foreach ($results as $row) { + $results->reset(); + while ($row = $results->each()) { if (isset($readable_lists[$row->tasklist])) { $task = $row; break; @@ -135,8 +136,15 @@ protected function _getBy($taskIds, $column, ?array $tasklists = null) } if (!is_array($taskIds)) { - $results = new Nag_Task($this, $this->_buildTask(reset($rows))); - $this->_tasklist = $results->tasklist; + if (count($rows) === 1) { + $results = new Nag_Task($this, $this->_buildTask(reset($rows))); + $this->_tasklist = $results->tasklist; + } else { + $results = new Nag_Task(); + foreach ($rows as $row) { + $results->add(new Nag_Task($this, $this->_buildTask($row))); + } + } } else { $results = new Nag_Task(); foreach ($rows as $row) {