From 2673bada6adb3083901690ac9696a14253dc2932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Mon, 5 Nov 2018 14:56:36 +0100 Subject: [PATCH] Update stack lastModified as well MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/Db/ChangeHelper.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/Db/ChangeHelper.php b/lib/Db/ChangeHelper.php index 664af57cc..6bc6cf432 100644 --- a/lib/Db/ChangeHelper.php +++ b/lib/Db/ChangeHelper.php @@ -65,10 +65,21 @@ class ChangeHelper { $this->db->executeUpdate($sql, [time(), $cardId]); } - $sql = 'SELECT s.board_id as id FROM oc_deck_stacks as s inner join oc_deck_cards as c ON c.stack_id = s.id WHERE c.id = ?'; + $sql = 'SELECT s.board_id as id, c.stack_id as stack_id FROM oc_deck_stacks as s inner join oc_deck_cards as c ON c.stack_id = s.id WHERE c.id = ?'; $result = $this->db->executeQuery($sql, [$cardId]); if ($row = $result->fetch()) { $this->boardChanged($row['id']); + $this->stackChanged($row['stack_id']); + } + } + + public function stackChanged($stackId, $updateBoard = true) { + $time = time(); + $etag = md5($time . microtime()); + $this->cache->set(self::TYPE_CARD . '-' .$stackId, $etag); + if ($updateBoard) { + $sql = 'UPDATE `*PREFIX*deck_stacks` SET `last_modified` = ? WHERE `id` = ?'; + $this->db->executeUpdate($sql, [time(), $stackId]); } }