chore: copy ep_products and ep_theme from EP/website@9593cc8
Copied unchanged from public/typo3conf/ext/ of EP/website at 9593cc8631354f8a363d6609de8b7433f669a9a0 (Git-tracked files only). History stays in the old repository. Only composer.json files are added so the extensions install as path packages. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
59afaecea1
commit
a46918de9d
778 files changed
+67000
-2
No files matched your search
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
namespace EP\EpTheme\Form;
|
||||
|
||||
use TYPO3\CMS\Core\Site\SiteFinder;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher;
|
||||
|
||||
class AddReferrerFinisher extends AbstractFinisher
|
||||
{
|
||||
protected function executeInternal()
|
||||
{
|
||||
$this->addCurrentUrlField();
|
||||
$this->addReferrerField();
|
||||
}
|
||||
|
||||
private function addReferrerField(): void
|
||||
{
|
||||
// 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();
|
||||
}
|
||||
|
||||
private function addCurrentUrlField(): void
|
||||
{
|
||||
// Get URL of current page
|
||||
$pageId = $GLOBALS['TSFE']->id;
|
||||
$site = GeneralUtility::makeInstance(SiteFinder::class)->getSiteByPageId($pageId);
|
||||
$url = $site->getRouter()->generateUri($pageId);
|
||||
|
||||
// Add textfield to form containing url value
|
||||
$field = $this->finisherContext
|
||||
->getFormRuntime()
|
||||
->getFormDefinition()
|
||||
->getPageByIndex(0)
|
||||
->createElement('pageurl', 'Text');
|
||||
|
||||
$field->setDefaultValue($url);
|
||||
$field->setDataType('string');
|
||||
$field->setLabel('URL');
|
||||
|
||||
// Add finisher variable for potential later use
|
||||
$this->finisherContext->getFinisherVariableProvider()->add(
|
||||
$this->shortFinisherIdentifier,
|
||||
'pageurl',
|
||||
$url
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user