PHP code example of selli / laravel-gdpr-consent-database
1. Go to this page and download the library: Download selli/laravel-gdpr-consent-database library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
selli / laravel-gdpr-consent-database example snippets
return [
'text' => [
'title' => 'Cookie Consent',
'message' => 'We use cookies to enhance your browsing experience and analyze our traffic. By clicking "Accept All", you consent to our use of cookies.',
'accept_text' => 'Accept All',
'reject_text' => 'Reject All',
'details_text' => 'Cookie Details',
'back_text' => 'Back',
'save_text' => 'Save Preferences',
'icon_text' => 'Cookie Settings',
'details_header' => 'Cookie Categories',
'ext',
'background' => '#007cba',
'background_hover' => '#005a87',
],
];
use Selli\LaravelGdprConsentDatabase\Traits\HasGdprConsents;
class User extends Authenticatable
{
use HasGdprConsents;
// ... rest of your model
}
use Selli\LaravelGdprConsentDatabase\Models\ConsentType;
// Create a ' => 'terms',
'description' => 'Agreement to the website terms and conditions',
''technical-cookies',
'description' => 'Essential cookies 'Consent to receive marketing communications',
'
// Get the authenticated user
$user = auth()->user();
// Check if the user has given a specific consent
if ($user->hasConsent('marketing-emails')) {
// User has consented to marketing emails
}
// Give consent (can use slug or consent type ID)
$user->giveConsent('marketing-emails');
// Give consent with additional metadata
$user->giveConsent('marketing-emails', [
'source' => 'registration_form',
'version' => '1.0',
]);
// Revoke consent
$user->revokeConsent('marketing-emails');
// Get all active consents for the user
$activeConsents = $user->activeConsents();
// Check if the user has all
// Create a consent type with a validity period (in months)
ConsentType::create([
'name' => 'Marketing Emails',
'slug' => 'marketing-emails',
'description' => 'Consent to receive marketing emails',
'emails', [], 6); // Valid for 6 months
// Check if a consent is expired
$consent = $user->consents()->where('consent_type_id', $consentTypeId)->first();
if ($consent->isExpired()) {
// Consent is expired
}
// Get all expired consents
$expiredConsents = $user->expiredConsents();
// Get consents that are about to expire within the next 30 days
$soonExpiringConsents = $user->getConsentsExpiringWithinDays(30);
use Selli\LaravelGdprConsentDatabase\Services\GuestConsentManager;
$guestManager = new GuestConsentManager();
// Give consent for a guest user (uses current session)
$guestManager->giveConsent('marketing-emails', [
'source' => 'cookie_banner',
]);
// Check if guest has given consent
if ($guestManager->hasConsent('marketing-emails')) {
// Guest has consented to marketing emails
}
// Get all active consents for guest
$activeConsents = $guestManager->getActiveConsents();
// Check if guest has all
use Selli\LaravelGdprConsentDatabase\Models\ConsentType;
class MyConsentType extends ConsentType
{
// Add custom methods or override existing ones
public function isLegallyRequired()
{
return $this->
use Selli\LaravelGdprConsentDatabase\Models\ConsentType;
class ConsentService
{
public function processRegistrationConsents(User $user, array $consentData)
{
// Process multiple consents at once
foreach ($consentData as $slug => $isGranted) {
if ($isGranted) {
$user->giveConsent($slug, ['source' => 'registration']);
}
}
// Check if all