Move tracking cookie handling to utility class

This commit is contained in:
Björn Fromme
2019-07-23 16:30:23 +02:00
parent bb27a0e4c1
commit 4bb8f7fcbf
4 changed files with 89 additions and 62 deletions
@@ -29,6 +29,7 @@ namespace EP\EpTheme\DataProcessing;
use EP\EpProducts\Service\ResellerDataService;
use EP\EpProducts\Traits\DbConnectionTrait;
use EP\EpProducts\Utility\CookieUtility;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Object\ObjectManager;
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
@@ -67,7 +68,7 @@ class ContextProcessor implements DataProcessorInterface
$processedData['context']['paCode'] = $resellerData['paCode'];
} elseif ($paCode = $this->getPaCodeFromRequest()) {
$processedData['context']['paCode'] = $paCode;
} elseif ($cookieData = $this->getCookieData()) {
} elseif ($cookieData = CookieUtility::getPaCookie()) {
$processedData['context']['paCode'] = $cookieData;
}
@@ -103,9 +104,7 @@ class ContextProcessor implements DataProcessorInterface
if (array_key_exists('pa', $items)) {
$paCode = $items['pa'];
$expiratonDate = new \DateTime('now');
$expiratonDate->add(new \DateInterval('P' . '30D'));
setcookie('ep_trk', $paCode, $expiratonDate->getTimestamp(), '/');
CookieUtility::setPaCookie($paCode);
return $paCode;
}
@@ -113,18 +112,6 @@ class ContextProcessor implements DataProcessorInterface
return '';
}
/**
* @return string
*/
private function getCookieData()
{
if (isset($_COOKIE['ep_trk']) && preg_match('/^PA\d{3,4}$/', $_COOKIE['ep_trk'])) {
return $_COOKIE['ep_trk'];
}
return null;
}
/**
* @param int $uid
* @param string $table