Skip to content

Commit 1f9573a

Browse files
author
Nicholas K. Dionysopoulos
committed
Cookie Plugin bug fixes
Type checks
1 parent 7af1f43 commit 1f9573a

1 file changed

Lines changed: 42 additions & 4 deletions

File tree

  • plugins/system/datacompliancecookie/helper

plugins/system/datacompliancecookie/helper/helper.php

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,23 @@ private static function unsetExistingCookies(array $whiteList, array $domainName
331331
continue;
332332
}
333333

334-
self::unsetCookieFromAllDomains($cookieName, $domainNames);
334+
if (!empty($cookieName) && is_string($cookieName))
335+
{
336+
if (!is_array($domainNames))
337+
{
338+
if (is_string($domainNames) && empty($domainNames))
339+
{
340+
$domainNames = array($domainNames);
341+
}
342+
else
343+
{
344+
$domainNames = array();
345+
}
346+
}
347+
348+
self::unsetCookieFromAllDomains($cookieName, $domainNames);
349+
}
350+
335351
}
336352
}
337353

@@ -412,7 +428,7 @@ private static function unsetNewCookies(array $whiteList)
412428
*
413429
* @since 1.1.0
414430
*/
415-
private static function unsetCookieFromAllDomains(string $cookieName, array $domainNames)
431+
private static function unsetCookieFromAllDomains($cookieName, array $domainNames)
416432
{
417433
try
418434
{
@@ -426,7 +442,18 @@ private static function unsetCookieFromAllDomains(string $cookieName, array $dom
426442
$cookiePath = $app->get('cookie_path', '/');
427443
$cookieDomain = $app->get('cookie_domain', filter_input(INPUT_SERVER, 'HTTP_HOST'));
428444

429-
self::unsetCookie($cookieName, $cookiePath, $cookieDomain);
445+
if (!empty($cookieName) && is_string($cookieName))
446+
{
447+
if (empty($cookiePath) && !is_string($cookiePath))
448+
{
449+
$cookiePath = '';
450+
}
451+
452+
if (!empty($cookieDomain) && is_string($cookieDomain))
453+
{
454+
self::unsetCookie($cookieName, $cookiePath, $cookieDomain);
455+
}
456+
}
430457

431458
// Do I have additional domain names?
432459
if (empty($domainNames))
@@ -443,7 +470,18 @@ private static function unsetCookieFromAllDomains(string $cookieName, array $dom
443470
}
444471

445472
// Rerun myself with just one additional domain
446-
self::unsetCookie($cookieName, $cookiePath, $domainName);
473+
if (!empty($cookieName) && is_string($cookieName))
474+
{
475+
if (empty($cookiePath) && !is_string($cookiePath))
476+
{
477+
$cookiePath = '';
478+
}
479+
480+
if (!empty($cookieDomain) && is_string($cookieDomain))
481+
{
482+
self::unsetCookie($cookieName, $cookiePath, $cookieDomain);
483+
}
484+
}
447485
}
448486
}
449487

0 commit comments

Comments
 (0)