From a83e9c77bbf31b35e3ec898908ad59ddff62adf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pe=C5=A1ek?= Date: Fri, 19 Jan 2024 14:43:05 +0100 Subject: [PATCH] fix: get rid of (some) PHP deprecation warnings - CakeResponse.php strotime() and preg_split() warnings --- README.md | 4 ++++ lib/Cake/Network/CakeResponse.php | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 520dfc720..b744ad198 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,10 @@ It means that composer will look at `master` branch of repository configured und ## Changelog +### 2024-01-19 + +- `strotime()` and `preg_split()` in CakeResponse deprecation warning fixes (passing null) + ### 2024-01-11 - `preg_replace` deprecation warning fixes (passing null instead of `string`) diff --git a/lib/Cake/Network/CakeResponse.php b/lib/Cake/Network/CakeResponse.php index cd24b2aad..adf0ab72b 100644 --- a/lib/Cake/Network/CakeResponse.php +++ b/lib/Cake/Network/CakeResponse.php @@ -1164,7 +1164,7 @@ class CakeResponse { $ifNoneMatchHeader = $request->header('If-None-Match'); $etags = array(); if (is_string($ifNoneMatchHeader)) { - $etags = preg_split('/\s*,\s*/', $ifNoneMatchHeader, null, PREG_SPLIT_NO_EMPTY); + $etags = preg_split('/\s*,\s*/', $ifNoneMatchHeader, 0, PREG_SPLIT_NO_EMPTY); } $modifiedSince = $request->header('If-Modified-Since'); $checks = array(); @@ -1172,7 +1172,11 @@ class CakeResponse { $checks[] = in_array('*', $etags) || in_array($responseTag, $etags); } if ($modifiedSince) { - $checks[] = strtotime($this->modified()) === strtotime($modifiedSince); + if ($this->modified() === null) { + $checks[] = strtotime($modifiedSince) === false; + } else { + $checks[] = strtotime($this->modified()) === strtotime($modifiedSince); + } } if (empty($checks)) { return false;