Skip to content
Snippets Groups Projects
Commit 9e0222b8 authored by Morten Bartvig's avatar Morten Bartvig
Browse files

Issue #3436731 by dennis_meuwissen: Allow settings "secure" attribute of overlay cookie

parent 97e1ea57
No related branches found
No related tags found
1 merge request!21Issue #3436731 by dennis_meuwissen: Allow settings "secure" attribute of overlay cookie
......@@ -29,10 +29,13 @@ siteimprove.settings:
enabled_group_types:
type: sequence
sequence:
- type: string
- type: string
overlay_default_collapse:
type: boolean
label: 'Siteimprove overlay collapse by default'
overlay_cookie_secure:
type: boolean
label: 'Set "secure" attribute for overlay cookie'
use_latest_experience:
type: boolean
label: 'Use latest experience'
......
......@@ -183,15 +183,18 @@
if (!sicmsplugin) {
let siOverlaySettings = drupalSettings?.siteimprove?.overlay_default_collapse ?? null;
let secure = drupalSettings?.siteimprove?.overlay_cookie_secure ?? false;
if (siOverlaySettings) {
cookies.set('sicmsplugin', OVERLAY_COLLAPSED, {
domain: document.domain,
path: '/'
path: '/',
secure: secure
});
} else {
cookies.set('sicmsplugin', OVERLAY_OPEN, {
domain: document.domain,
path: '/'
path: '/',
secure: secure
});
}
}
......
......@@ -58,3 +58,12 @@ function siteimprove_update_8103() {
$settings->set('use_latest_experience', TRUE);
$settings->save();
}
/**
* Add overlay_cookie_secure setting.
*/
function siteimprove_update_8104() {
$settings = \Drupal::configFactory()->getEditable('siteimprove.settings');
$settings->set('overlay_cookie_secure', FALSE);
$settings->save();
}
......@@ -102,6 +102,7 @@ function siteimprove_toolbar() {
// Set overlay collapse value for js.
$toolbar_items = [];
$toolbar_items['siteimprove_toolbar']['tray']['#attached']['drupalSettings']['siteimprove']['overlay_default_collapse'] = $config->get('overlay_default_collapse');
$toolbar_items['siteimprove_toolbar']['tray']['#attached']['drupalSettings']['siteimprove']['overlay_cookie_secure'] = $config->get('overlay_cookie_secure');
// Prepublish should be available for an enabled taxonomy, content type or
// group type.
......
......@@ -395,6 +395,12 @@ class SettingsForm extends ConfigFormBase {
'#type' => 'checkbox',
'#default_value' => $config->get('overlay_default_collapse'),
];
$form['overlay']['overlay_cookie_secure'] = [
'#title' => $this->t('Set "secure" attribute on overlay cookie'),
'#type' => 'checkbox',
'#default_value' => $config->get('overlay_cookie_secure'),
];
// Invalidate siteimprove_toolbar cache tag to ensure that the toolbar's
// cache is properly invalidated.
Cache::invalidateTags(['siteimprove_toolbar']);
......@@ -472,6 +478,7 @@ class SettingsForm extends ConfigFormBase {
->set('domain_plugin_id', $domain_plugin)
->set('prepublish_enabled', $form_state->getValue('prepublish_enabled'))
->set('overlay_default_collapse', $form_state->getValue('overlay_default_collapse'))
->set('overlay_cookie_secure', $form_state->getValue('overlay_cookie_secure'))
->set('api_username', $form_state->getValue('api_username'))
->set('api_key', $form_state->getValue('api_key'))
->set('enabled_content_types', $form_state->getValue('enabled_content_types'))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment