Skip to content

Commit

Permalink
Merge pull request #16 from netlogix/feature/page-cache-enhancer
Browse files Browse the repository at this point in the history
  • Loading branch information
saschanowak committed May 7, 2024
2 parents b2780e4 + 9403592 commit e0116c1
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions Classes/Hooks/PageCacheEnhancer.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

namespace Netlogix\Nxstyleguide\Hooks;

use ReflectionProperty;
use TYPO3\CMS\Core\Page\PageRenderer;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Reflection\ObjectAccess;

class PageCacheEnhancer
{
Expand All @@ -26,25 +26,40 @@ private function getLabels(): array
{
$pageRender = GeneralUtility::makeInstance(PageRenderer::class);

return ObjectAccess::getProperty($pageRender, 'inlineLanguageLabels');
return $this->getProperty($pageRender, 'inlineLanguageLabels');
}

private function setLabels(array $labels): void
{
$pageRender = GeneralUtility::makeInstance(PageRenderer::class);
ObjectAccess::setProperty($pageRender, 'inlineLanguageLabels', $labels);
$this->setProperty($pageRender, 'inlineLanguageLabels', $labels);
}

private function getSettings(): array
{
$pageRender = GeneralUtility::makeInstance(PageRenderer::class);

return ObjectAccess::getProperty($pageRender, 'inlineSettings');
return $this->getProperty($pageRender, 'inlineSettings');
}

private function setSettings(array $settings): void
{
$pageRender = GeneralUtility::makeInstance(PageRenderer::class);
ObjectAccess::setProperty($pageRender, 'inlineSettings', $settings);
$this->setProperty($pageRender, 'inlineSettings', $settings);
}

private function getProperty($subject, string $propertyName): mixed
{
$property = new ReflectionProperty($subject, $propertyName);
$property->setAccessible(true);

return $property->getValue($subject);
}

private function setProperty($subject, string $propertyName, mixed $value): void
{
$property = new ReflectionProperty($subject, $propertyName);
$property->setAccessible(true);
$property->setValue($subject, $value);
}
}

0 comments on commit e0116c1

Please sign in to comment.