From dbf9d2c8bf15a1f3912922c05148999e208e2af8 Mon Sep 17 00:00:00 2001 From: Wouter Wolters <typo3@wouterwolters.nl> Date: Thu, 24 Nov 2016 23:13:48 +0100 Subject: [PATCH] [TASK] Small code cleanup in CacheHashCalculator Resolves: #78814 Releases: master Change-Id: I18475fa8daa006e8887cf4b1c3855bf0e870fdc6 Reviewed-on: https://review.typo3.org/50769 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Georg Ringer <georg.ringer@gmail.com> Tested-by: Georg Ringer <georg.ringer@gmail.com> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by: Gianluigi Martino <gmartino27@gmail.com> Reviewed-by: Susanne Moog <susanne.moog@typo3.org> Tested-by: Susanne Moog <susanne.moog@typo3.org> --- .../Classes/Page/CacheHashCalculator.php | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/typo3/sysext/frontend/Classes/Page/CacheHashCalculator.php b/typo3/sysext/frontend/Classes/Page/CacheHashCalculator.php index 6687b812bbe9..61dde4787c4e 100644 --- a/typo3/sysext/frontend/Classes/Page/CacheHashCalculator.php +++ b/typo3/sysext/frontend/Classes/Page/CacheHashCalculator.php @@ -14,10 +14,12 @@ namespace TYPO3\CMS\Frontend\Page; * The TYPO3 project - inspiring people to share! */ +use TYPO3\CMS\Core\SingletonInterface; + /** * Logic for cHash calculation */ -class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface +class CacheHashCalculator implements SingletonInterface { /** * @var array Parameters that are relevant for cacheHash calculation. Optional. @@ -73,6 +75,7 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface * * @param string $queryString Query-parameters: "&xxx=yyy&zzz=uuu * @return string Hash of all the values + * @throws \RuntimeException */ public function generateForParameters($queryString) { @@ -94,8 +97,9 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface $hasRequiredParameter = false; $parameterNames = array_keys($this->splitQueryStringToArray($queryString)); foreach ($parameterNames as $parameterName) { - if (in_array($parameterName, $this->requireCacheHashPresenceParameters)) { + if (in_array($parameterName, $this->requireCacheHashPresenceParameters, true)) { $hasRequiredParameter = true; + break; } } return $hasRequiredParameter; @@ -107,6 +111,7 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface * * @param string $queryString Query-parameters: "&xxx=yyy&zzz=uuu * @return array Array with key/value pairs of query-parameters WITHOUT a certain list of + * @throws \RuntimeException * @see \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::makeCacheHash(), \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::typoLink() */ public function getRelevantParameters($queryString) @@ -120,7 +125,7 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface if ($this->hasCachedParametersWhiteList() && !$this->isInCachedParametersWhiteList($parameterName)) { continue; } - if ((is_null($parameterValue) || $parameterValue === '') && !$this->isAllowedWithEmptyValue($parameterName)) { + if (($parameterValue === null || $parameterValue === '') && !$this->isAllowedWithEmptyValue($parameterName)) { continue; } $relevantParameters[$parameterName] = $parameterValue; @@ -145,7 +150,7 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface * * e.g. foo[bar]=baz will be array('foo[bar]' => 'baz') * - * @param $queryString + * @param string $queryString * @return array */ protected function splitQueryStringToArray($queryString) @@ -165,14 +170,14 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface /** * Checks whether the given parameter starts with TSFE_ADMIN_PANEL - * stristr check added to avoid bad performance + * stripos check added to avoid bad performance * * @param string $key * @return bool */ protected function isAdminPanelParameter($key) { - return stristr($key, 'TSFE_ADMIN_PANEL') !== false && preg_match('/TSFE_ADMIN_PANEL\\[.*?\\]/', $key); + return stripos($key, 'TSFE_ADMIN_PANEL') !== false && preg_match('/TSFE_ADMIN_PANEL\\[.*?\\]/', $key); } /** @@ -187,14 +192,14 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface } /** - * Checks whether the given parameter should be exluded from cHash calculation + * Checks whether the given parameter should be excluded from cHash calculation * * @param string $key * @return bool */ protected function isExcludedParameter($key) { - return in_array($key, $this->excludedParameters); + return in_array($key, $this->excludedParameters, true); } /** @@ -205,7 +210,7 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface */ protected function isInCachedParametersWhiteList($key) { - return in_array($key, $this->cachedParametersWhiteList); + return in_array($key, $this->cachedParametersWhiteList, true); } /** @@ -226,7 +231,7 @@ class CacheHashCalculator implements \TYPO3\CMS\Core\SingletonInterface */ protected function isAllowedWithEmptyValue($key) { - return !($this->excludeAllEmptyParameters || in_array($key, $this->excludedParametersIfEmpty)); + return !($this->excludeAllEmptyParameters || in_array($key, $this->excludedParametersIfEmpty, true)); } /** -- GitLab