Repository URL to install this package:
|
Version:
2.3.0 ▾
|
novicell/dds_cookieinfo
/
dds_cookieinfo.module
|
|---|
<?php
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Template\Attribute;
/**
* Implements hook_help().
*/
function dds_cookieinfo_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
// Main module help for the dds_icons module.
case 'help.page.dds_cookieinfo':
$output = '';
$output .= '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('Add a cookieinfo box at the bottom of the page.') . '</p>';
return $output;
default:
}
}
/**
* Implement hook_theme
* @param $existing
* @param $type
* @param $theme
* @param $path
* @return array
*/
function dds_cookieinfo_theme($existing, $type, $theme, $path) {
return array(
'dds_cookieinfo' => array(
'variables' => array(
'title' => NULL,
'body' => NULL,
'open' => NULL,
'close' => NULL,
'section_attributes' => []
)
)
);
}
/**
* @param array $page_bottom
*/
function dds_cookieinfo_page_bottom(array &$page_bottom) {
// Get current theme
$theme = \Drupal::theme()->getActiveTheme()->getName();
// Get system theme settings
$config = \Drupal::config('system.theme');
if ($theme != $config->get('admin')) {
/** @var \Drupal\site_settings\SiteSettingsLoader $site_settings_loader */
$site_settings_loader = \Drupal::service('site_settings.loader');
$site_settings = $site_settings_loader->loadByFieldset('site_settings');
$section_attributes = new Attribute();
if (!empty($cookieinfo = $site_settings['cookieinfo'])) {
$page_bottom['dds_cookieinfo'] = [
'#theme' => 'dds_cookieinfo',
'#title' => $cookieinfo['field_cookie_header'],
'#body' => $cookieinfo['field_cookie_body'],
'#open' => $cookieinfo['field_cookie_open'],
'#close' => $cookieinfo['field_cookie_close'],
'#section_attributes' => $section_attributes,
'#attached' => [
'library' => 'dds_cookieinfo/dds_cookieinfo',
'drupalSettings' => ['cookieinfo' => ['cookie_behavior' => isset($cookieinfo['field_cookie_show_once']) && $cookieinfo['field_cookie_show_once'] == 1 ? 'display_once' : 'display_until_accepted']] //display_once
],
'#cache' => [
'tags' => ['site_settings_set:Site settings']
]
];
}
}
}