From 297784880eb60dd9f32bf8d7689c3ad33f30cd43 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 6 Apr 2018 14:01:52 +0000 Subject: [PATCH 1/2] Update the cached rendered html when it changed --- include/text.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/text.php b/include/text.php index 6522ada1c3..957145ca18 100644 --- a/include/text.php +++ b/include/text.php @@ -1184,6 +1184,7 @@ function put_item_in_cache(&$item, $update = false) $body = $item["body"]; $rendered_hash = defaults($item, 'rendered-hash', ''); + $rendered_html = defaults($item, 'rendered-html', ''); if ($rendered_hash == '' || $item["rendered-html"] == "" @@ -1196,6 +1197,11 @@ function put_item_in_cache(&$item, $update = false) $item["rendered-html"] = prepare_text($item["body"]); $item["rendered-hash"] = hash("md5", $item["body"]); + // Force an update if the generated values differ from the existing ones + if (($rendered_hash != $item["rendered-hash"]) || ($rendered_html != $item["rendered-html"])) { + $update = true; + } + if ($update && ($item["id"] > 0)) { dba::update('item', ['rendered-html' => $item["rendered-html"], 'rendered-hash' => $item["rendered-hash"]], ['id' => $item["id"]], false); From 0ccb29c4dfa709c279168209a53e38f6fc863807 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 6 Apr 2018 16:52:01 +0000 Subject: [PATCH 2/2] Only compare the HTML when we forcefully ignore the cache --- include/text.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/text.php b/include/text.php index 957145ca18..ee8a213ff6 100644 --- a/include/text.php +++ b/include/text.php @@ -1198,7 +1198,12 @@ function put_item_in_cache(&$item, $update = false) $item["rendered-hash"] = hash("md5", $item["body"]); // Force an update if the generated values differ from the existing ones - if (($rendered_hash != $item["rendered-hash"]) || ($rendered_html != $item["rendered-html"])) { + if ($rendered_hash != $item["rendered-hash"]) { + $update = true; + } + + // Only compare the HTML when we forcefully ignore the cache + if (Config::get("system", "ignore_cache") && ($rendered_html != $item["rendered-html"])) { $update = true; }