-
-
Notifications
You must be signed in to change notification settings - Fork 50
/
Copy pathResetController.php
39 lines (31 loc) · 1.15 KB
/
ResetController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
namespace Whitecube\LaravelCookieConsent\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Http\Request;
use Whitecube\LaravelCookieConsent\CookiesManager;
use Whitecube\LaravelCookieConsent\Facades\Cookies;
class ResetController {
public function __invoke(Request $request, CookiesManager $cookies) {
$response = !$request->expectsJson()
? redirect()->back()
: response()->json([
'status' => 'ok',
'scripts' => $cookies->getNoticeScripts(true),
'notice' => $cookies->getNoticeMarkup(),
]);
$domain = config('cookieconsent.cookie.domain');
// delete all defined cookies
foreach (Cookies::getCategories() as $category) {
foreach ($category->getCookies() as $cookie) {
Cookie::queue(Cookie::forget(
name: $cookie->name,
domain: $domain,
));
}
}
return $response->withoutCookie(
cookie: config('cookieconsent.cookie.name'),
domain: config('cookieconsent.cookie.domain'),
);
}
}