public function InstapageCmsPluginPageModel::setVariantCookie in Instapage plugin 7.3
Same name and namespace in other branches
- 8.3 core/models/InstapageCmsPluginPageModel.php \InstapageCmsPluginPageModel::setVariantCookie()
Set cookie with variant value
Parameters
array $enterpriseCallResult Result from enterpriseCall() method:
int $instapageId:
1 call to InstapageCmsPluginPageModel::setVariantCookie()
- InstapageCmsPluginPageModel::display in core/
models/ InstapageCmsPluginPageModel.php - Displays the landing page.
File
- core/
models/ InstapageCmsPluginPageModel.php, line 503
Class
- InstapageCmsPluginPageModel
- Class responsible for managing the landing pages.
Code
public function setVariantCookie($enterpriseCallResult, $instapageId) {
$pageserverCookie = isset($enterpriseCallResult['headers']['set-cookie']) ? $enterpriseCallResult['headers']['set-cookie'] : '';
if (is_array($pageserverCookie)) {
$pageserverCookie = array_pop($pageserverCookie);
}
$instapageVariant = InstapageCmsPluginHelper::getVariant((string) $pageserverCookie);
if (!empty($instapageVariant)) {
$variantCookieName = "instapage-variant-{$instapageId}";
$variantCookieOptions = [
'expires' => strtotime('+12 month'),
'path' => '/',
'domain' => '',
];
if (InstapageCmsPluginConnector::isSSL()) {
$variantCookieOptions['samesite'] = 'None';
$variantCookieOptions['secure'] = InstapageCmsPluginConnector::isSSL();
}
if (version_compare(phpversion(), '7.3', '<')) {
if (InstapageCmsPluginConnector::isSSL()) {
setcookie($variantCookieName, $instapageVariant, $variantCookieOptions['expires'], $variantCookieOptions['path'] . '; samesite=' . $variantCookieOptions['samesite'], $variantCookieOptions['domain'], $variantCookieOptions['secure']);
}
else {
setcookie($variantCookieName, $instapageVariant, $variantCookieOptions['expires'], $variantCookieOptions['path'], $variantCookieOptions['domain']);
}
}
else {
setcookie($variantCookieName, $instapageVariant, $variantCookieOptions);
}
}
}