/home/techb158/ileadtechnology.com/vendor/spatie/laravel-cookie-consent
Edit: /home/techb158/ileadtechnology.com/vendor/spatie/laravel-cookie-consent/README.md (6193B)
# Make your Laravel app comply with the crazy EU cookie law
[](https://packagist.org/packages/spatie/laravel-cookie-consent)
[](LICENSE.md)

[](https://packagist.org/packages/spatie/laravel-cookie-consent)
All sites owned by EU citizens or targeted towards EU citizens must comply with a crazy EU law. This law requires a dialog to be displayed to inform the users of your websites how cookies are being used. You can read more info on the legislation on [the site of the European Commission](http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm#section_2).
This package provides an easily configurable view to display the message. Also included is JavaScript code to set a cookie when a user agrees with the cookie policy. The package will not display the dialog when that cookie has been set.
Spatie is a web design agency based in Antwerp, Belgium. You'll find an overview of all our open source projects [on our website](https://spatie.be/opensource).
## Support us
Learn how to create a package like this one, by watching our premium video course:
[](https://laravelpackage.training)
We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards).
## Installation
You can install the package via composer:
``` bash
composer require spatie/laravel-cookie-consent
```
The package will automatically register itself.
Optionally you can publish the config-file:
```bash
php artisan vendor:publish --provider="Spatie\CookieConsent\CookieConsentServiceProvider" --tag="config"
```
This is the contents of the published config-file:
```php
return [
/*
* Use this setting to enable the cookie consent dialog.
*/
'enabled' => env('COOKIE_CONSENT_ENABLED', true),
/*
* The name of the cookie in which we store if the user
* has agreed to accept the conditions.
*/
'cookie_name' => 'laravel_cookie_consent',
/*
* Set the cookie duration in days. Default is 365 * 20.
*/
'cookie_lifetime' => 365 * 20,
];
```
## Usage
To display the dialog all you have to do is include this view in your template:
```blade
//in your blade template
@include('cookieConsent::index')
```
This will render the following dialog that, when styled, will look very much like this one.

Please be aware that the package does not provide any styling, this is something you'll need to do yourself.
When the user clicks "Allow cookies" a `laravel_cookie_consent` cookie will be set and the dialog will be removed from the DOM. On the next request, Laravel will notice that the `laravel_cookie_consent` has been set and will not display the dialog again
## Customising the dialog texts
If you want to modify the text shown in the dialog you can publish the lang-files with this command:
```bash
php artisan vendor:publish --provider="Spatie\CookieConsent\CookieConsentServiceProvider" --tag="lang"
```
This will publish this file to `resources/lang/vendor/cookieConsent/en/texts.php`.
```php
return [
'message' => 'Please be informed that this site uses cookies.',
'agree' => 'Allow cookies',
];
```
If you want to translate the values to, for example, French, just copy that file over to `resources/lang/vendor/cookieConsent/fr/texts.php` and fill in the French translations.
### Customising the dialog contents
If you need full control over the contents of the dialog. You can publish the views of the package:
```bash
php artisan vendor:publish --provider="Spatie\CookieConsent\CookieConsentServiceProvider" --tag="views"
```
This will copy the `index` and `dialogContents` view files over to `resources/views/vendor/cookieConsent`. You probably only want to modify the `dialogContents` view. If you need to modify the JavaScript code of this package you can do so in the `index` view file.
## Using the middleware
Instead of including `cookieConsent::index` in your view you could opt to add the `Spatie\CookieConsent\CookieConsentMiddleware` to your kernel:
```php
// app/Http/Kernel.php
class Kernel extends HttpKernel
{
protected $middleware = [
// ...
\Spatie\CookieConsent\CookieConsentMiddleware::class,
];
// ...
}
```
This will automatically add `cookieConsent::index` to the content of your response right before the closing body tag.
## Notice
The legislation is pretty very vague on how to display the warning, which texts are necessary, and what options you need to provide. This package will go a long way towards compliance, but if you want to be 100% sure that your website is ok, you should consult a legal expert.
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.
## Testing
``` bash
composer test
```
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
## Security
If you discover any security-related issues, please email freek@spatie.be instead of using the issue tracker.
## Credits
- [Freek Van der Herten](https://github.com/freekmurze)
- [Willem Van Bockstal](https://github.com/willemvb)
- [All Contributors](../../contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.