<?php

namespace Wga\Core\Hooks;

use Psr\Http\Message\ServerRequestInterface;
use TYPO3\CMS\Core\Context\Context;
use TYPO3\CMS\Core\Http\ServerRequest;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Frontend\Event\ShouldUseCachedPageDataIfAvailableEvent;

/**
 * Class HeaderNoCacheHook
 */
class HeaderNoCacheHook
{
	public function __invoke(ShouldUseCachedPageDataIfAvailableEvent $event): void
	{
		$context = GeneralUtility::makeInstance(Context::class);

		if ($context->getPropertyFromAspect('backend.user', 'isLoggedIn', 0)) {
			$event->setShouldUseCachedPageData(false);
		}

		if (isset($GLOBALS['TYPO3_REQUEST']->getQueryParams()['no_cache']) && $GLOBALS['TYPO3_REQUEST']->getQueryParams()['no_cache'] == 1) {
			$event->setShouldUseCachedPageData(false);
		}
	}
}
