Очистка кук

Share
if (!function_exists('clearCookies')) {
    function clearCookies($clearAnalit = false)
    {
        $params = session_get_cookie_params();
        $domains = [$_SERVER['SERVER_NAME']];
        $arServerName = explode(".", $_SERVER['SERVER_NAME']);

        if (count($arServerName) > 2) {
            unset($arServerName[0]);
            $domains[] = "." . implode(".", $arServerName);
        }

        foreach ($_COOKIE as $name => $value) {
            // Пропускаем куки с сессией и Bitrix
            if ($name != "PHPSESSID" && !str_contains($name, "BITRIX") && !str_contains("COOKIE")) {
                $path = $params['path'];
                $secure = true;
                $httponly = true;

                if ($clearAnalit && str_contains($name, "_ga")) {
                    $secure = false;
                    $httponly = false;
                }

                foreach ($domains as $domain) {
                    // Устанавливаем куку с истекшим сроком действия для удаления
                    setcookie($name, $value, time() - 3600, $path, $domain, $secure, $httponly);
                }
            }
        }
    }
}