diff options
author | Thomas Lange <code@nerdmind.de> | 2021-07-02 22:17:33 +0200 |
---|---|---|
committer | Thomas Lange <code@nerdmind.de> | 2021-07-02 22:17:33 +0200 |
commit | f025fd3e7be449c06c2e99f77f528f402cd93f72 (patch) | |
tree | 1d89d71c716093499caeebf73b9f845a2cac1247 /core/application.php | |
parent | 299bff3d9e301d954731118c6526f422dc866e0d (diff) | |
download | blog-f025fd3e7be449c06c2e99f77f528f402cd93f72.tar.gz blog-f025fd3e7be449c06c2e99f77f528f402cd93f72.tar.xz blog-f025fd3e7be449c06c2e99f77f528f402cd93f72.zip |
Include category timestamp in ETag response header
This commit adds the timestamp of the last modified category to the HTTP
ETag response header. Additionally, the code has been optimized.
Diffstat (limited to 'core/application.php')
-rw-r--r-- | core/application.php | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/core/application.php b/core/application.php index 280a8e7..5d2b1f4 100644 --- a/core/application.php +++ b/core/application.php @@ -167,22 +167,23 @@ if(Application::get('MIGRATOR.ENABLED')) { #=============================================================================== # Check if "304 Not Modified" and ETag header should be sent #=============================================================================== -if(Application::get('CORE.SEND_304') === TRUE AND !defined('ADMINISTRATION')) { +if(Application::get('CORE.SEND_304') AND !defined('ADMINISTRATION')) { #=========================================================================== - # Select edit time from last edited items (page, post, user) + # Fetch timestamps of the last modified entities #=========================================================================== - $execute = '(SELECT time_update FROM %s ORDER BY time_update DESC LIMIT 1) AS %s'; - - $pageTable = ORM\Repositories\Page::getTableName(); - $postTable = ORM\Repositories\Post::getTableName(); - $userTable = ORM\Repositories\User::getTableName(); - - $pageSQL = sprintf($execute, $pageTable, $pageTable); - $postSQL = sprintf($execute, $postTable, $postTable); - $userSQL = sprintf($execute, $postTable, $postTable); + $query = '(SELECT time_update FROM %s ORDER BY time_update DESC LIMIT 1) AS %s'; + + foreach([ + ORM\Repositories\Category::getTableName(), + ORM\Repositories\Page::getTableName(), + ORM\Repositories\Post::getTableName(), + ORM\Repositories\User::getTableName() + ] as $table) { + $parts[] = sprintf($query, $table, $table); + } - $Statement = $Database->query("SELECT {$pageSQL}, {$postSQL}, {$userSQL}"); + $Statement = $Database->query('SELECT '.implode(',', $parts)); #=========================================================================== # Define HTTP ETag header identifier |