From 23c124a68afe4d21198528d4f31bacc131d8a708 Mon Sep 17 00:00:00 2001 From: Thomas Jakobi Date: Fri, 4 Sep 2020 10:59:13 +0200 Subject: [PATCH] Add checksumResource snippet This snippet will generate the URL to a MODX resource with a checksum on base of the editedon/createdon timestamp for cachebusting (i.e. to use generated script files in a MODX resource). --- .../snippets/checksumResource.snippet.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 core/components/checksumfile/elements/snippets/checksumResource.snippet.php diff --git a/core/components/checksumfile/elements/snippets/checksumResource.snippet.php b/core/components/checksumfile/elements/snippets/checksumResource.snippet.php new file mode 100644 index 0000000..f6615a2 --- /dev/null +++ b/core/components/checksumfile/elements/snippets/checksumResource.snippet.php @@ -0,0 +1,15 @@ +getOption('id', $scriptProperties, ''); +if (empty($id)) return ''; + +$resource = $modx->getObject('modResource', $id); +if ($resource) { + $date = $resource->get('editedon'); + $date = ($date) ? $date : $resource->get('createdon'); + $checksum = hash('crc32b', $date); + if (!empty($checksum)) { + $url = $modx->makeUrl($id); + return substr_replace($url, '.'.$checksum.'.', strrpos($url, '.'), 1); + } +} +return $modx->makeUrl($id);