Merge branch 'master' into feature/stimulus

This commit is contained in:
Björn Fromme
2021-09-08 09:41:34 +02:00
125 changed files with 2872 additions and 1681 deletions
@@ -51,8 +51,6 @@ class AjaxFormController extends ActionController
*/
public function __construct(EmailService $emailService, BookingApiService $bookingApiService)
{
parent::__construct();
$this->emailService = $emailService;
$this->bookingApiService = $bookingApiService;
}
@@ -64,8 +64,6 @@ class BackendController extends ActionController
*/
public function __construct(PageRepository $pageRepository)
{
parent::__construct();
$this->pageRepository = $pageRepository;
}
@@ -36,38 +36,6 @@ class Page extends AbstractEntity
*/
protected $description;
/**
* @return int
*/
public function getUid()
{
return $this->uid;
}
/**
* @param int $uid
*/
public function setUid($uid)
{
$this->uid = $uid;
}
/**
* @return int
*/
public function getPid()
{
return $this->pid;
}
/**
* @param int $pid
*/
public function setPid($pid)
{
$this->pid = $pid;
}
/**
* @return bool
*/
@@ -131,4 +99,4 @@ class Page extends AbstractEntity
{
$this->description = $description;
}
}
}
@@ -29,9 +29,9 @@ class PageRepository extends Repository
;
$query->matching($query->logicalAnd([
$query->equals('pid', $pid),
$query->equals('doktype', \TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_DEFAULT)
$query->equals('doktype', \TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT)
]));
return $query->execute();
}
}
}
@@ -0,0 +1,40 @@
<?php
namespace EP\EpTheme\Form;
use TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher;
class AddReferrerFinisher extends AbstractFinisher
{
protected function executeInternal()
{
// Look for key 'referrer' in frontend session
$referrer = $GLOBALS['TSFE']->fe_user->getKey('ses', 'referrer');
if (null === $referrer) {
return;
}
// Add textfield to form containing referrer value
$field = $this->finisherContext
->getFormRuntime()
->getFormDefinition()
->getPageByIndex(0)
->createElement('referrer', 'Text');
$field->setDefaultValue($referrer);
$field->setDataType('string');
$field->setLabel('Referrer');
// Add finisher variable for potential later use
$this->finisherContext->getFinisherVariableProvider()->add(
$this->shortFinisherIdentifier,
'referrer',
$referrer
);
// Remove session key
$GLOBALS['TSFE']->fe_user->setKey('ses', 'referrer', null);
$GLOBALS['TSFE']->fe_user->storeSessionData();
}
}
@@ -0,0 +1,43 @@
<?php
namespace EP\EpTheme\Middleware;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use TYPO3\CMS\Core\Exception\SiteNotFoundException;
use TYPO3\CMS\Core\Site\SiteFinder;
use TYPO3\CMS\Core\Utility\GeneralUtility;
class ReferrerMiddleware implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$queryParams = $request->getQueryParams();
if (!array_key_exists('ref', $queryParams)) {
return $handler->handle($request);
}
$ref = $queryParams['ref'];
if (false === is_numeric($ref)) {
return $handler->handle($request);
}
/** @var SiteFinder $siteFinder */
$siteFinder = GeneralUtility::makeInstance(SiteFinder::class);
try {
$site = $siteFinder->getSiteByPageId($ref);
$url = $site->getRouter()->generateUri($ref);
$GLOBALS['TSFE']->fe_user->setKey('ses', 'referrer', $url);
$GLOBALS['TSFE']->fe_user->storeSessionData();
}
catch (SiteNotFoundException $exception) {
}
return $handler->handle($request);
}
}
@@ -86,7 +86,7 @@ class ProductViewHelper extends AbstractViewHelper
->getControllerContext()
->getUriBuilder()
->reset()
->setTargetPageUid($targetPageUid)
->setTargetPageUid((int)$product['detailPage'])
->uriFor('detail', $linkArguments, 'Product', 'epproducts', 'product_detail')
;
} else {