From 7675816307ee6fc5403200a0e9cea98a5f745443 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Thu, 6 Dec 2018 23:37:25 -0800 Subject: [PATCH] Fix bugs in cross-site data access. --- src/classes/DataBoard.coffee | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/classes/DataBoard.coffee b/src/classes/DataBoard.coffee index ca0fa5ce3..3a07e3d4c 100644 --- a/src/classes/DataBoard.coffee +++ b/src/classes/DataBoard.coffee @@ -48,6 +48,7 @@ class DataBoard delete: ({siteID, boardID, threadID, postID}) -> siteID or= Site.hostname + return unless @data[siteID] @save => if postID return unless @data[siteID].boards[boardID]?[threadID] @@ -61,6 +62,7 @@ class DataBoard delete @data[siteID].boards[boardID] deleteIfEmpty: ({siteID, boardID, threadID}) -> + return unless @data[siteID] if threadID unless Object.keys(@data[siteID].boards[boardID][threadID]).length delete @data[siteID].boards[boardID][threadID] @@ -75,6 +77,7 @@ class DataBoard setUnsafe: ({siteID, boardID, threadID, postID, val}) -> siteID or= Site.hostname + @data[siteID] or= boards: {} if postID isnt undefined ((@data[siteID].boards[boardID] or= {})[threadID] or= {})[postID] = val else if threadID isnt undefined @@ -96,7 +99,7 @@ class DataBoard get: ({siteID, boardID, threadID, postID, defaultValue}) -> siteID or= Site.hostname - if board = @data[siteID].boards[boardID] + if board = @data[siteID]?.boards[boardID] unless threadID? if postID? for ID, thread in board