j1-template 2021.1.10 → 2021.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/assets/error_pages/HTTP204.html +3 -0
- data/assets/error_pages/HTTP400.html +3 -0
- data/assets/error_pages/HTTP401.html +3 -0
- data/assets/error_pages/HTTP403.html +3 -0
- data/assets/error_pages/HTTP404.html +3 -0
- data/assets/error_pages/HTTP500.html +3 -0
- data/assets/error_pages/HTTP501.html +3 -0
- data/assets/error_pages/HTTP502.html +3 -0
- data/assets/error_pages/HTTP503.html +3 -0
- data/assets/themes/j1/adapter/js/cookieConsent.js +18 -8
- data/assets/themes/j1/adapter/js/j1.js +93 -39
- data/assets/themes/j1/adapter/js/navigator.js +5 -2
- data/assets/themes/j1/adapter/js/themer.js +137 -92
- data/assets/themes/j1/core/js/template.js +24 -4
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +24 -4
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/resources.yml +0 -4
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +2 -7
- data/assets/themes/j1/adapter/js/themer.1.js +0 -326
- data/assets/themes/j1/modules/util/js/js.cookie.js +0 -163
- data/assets/themes/j1/modules/util/js/lite-url.js +0 -203
- data/assets/themes/j1/modules/util/js/lite-url.min.js +0 -7
- data/assets/themes/j1/modules/util/js/platform.js +0 -1260
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba0049ab0e94c95a9a018bcfd485017fea420fa379da4b1f12ce215c89c1d676
|
4
|
+
data.tar.gz: 38de2ce546ad64659c125a022632518aededd6e6dafe65794c0579ad83d8d3d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffb6164751999c219ba0bf7ec54387bdb91e7b10437aff3a0094a182788072d43ef6f5707a5a30534cd5facd3ad705fe26e0061915b0c96b7354df9f4bf44607
|
7
|
+
data.tar.gz: bd7db4c0aeab051515f80412cd4a83a418496464d3f597a6e00e801e969a2b89e5c3a519b9032928c1539d2f6bab086efd7383641c3796d8c77ce66bcedbbdbe
|
@@ -51,12 +51,14 @@ sitemap: false
|
|
51
51
|
|
52
52
|
{% if language == 'en' %}
|
53
53
|
{% assign title = "No Content" %}
|
54
|
+
{% assign back_url_text = "Back Home" %}
|
54
55
|
{% assign reason = "The request processed successfully. <br/> This page has been disabled for technical reasons." %}
|
55
56
|
{% assign contact_issue = "Technical Contact" %}
|
56
57
|
{% endif %}
|
57
58
|
|
58
59
|
{% if language == 'de' %}
|
59
60
|
{% assign title = "Keine Daten" %}
|
61
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
60
62
|
{% assign reason = "Die Anfrage wurde erfolgreich durchgeführt. <br/>. Diese Seite ist jedoch zurzeit aus technischen Gründen nicht verfügbar." %}
|
61
63
|
{% assign contact_issue = "Technischer Kontakt" %}
|
62
64
|
{% endif %}
|
@@ -80,6 +82,7 @@ sitemap: false
|
|
80
82
|
<div class="cover attic">
|
81
83
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
82
84
|
<p class="lead">{{reason}}</p>
|
85
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
83
86
|
</div>
|
84
87
|
<footer>
|
85
88
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -48,12 +48,14 @@ sitemap: false
|
|
48
48
|
|
49
49
|
{% if language == 'en' %}
|
50
50
|
{% assign title = "Bad Request" %}
|
51
|
+
{% assign back_url_text = "Back Home" %}
|
51
52
|
{% assign reason = "The server cannot process the request. <br/> Something had happenend that is perceived to be a client error." %}
|
52
53
|
{% assign contact_issue = "Technical Contact" %}
|
53
54
|
{% endif %}
|
54
55
|
|
55
56
|
{% if language == 'de' %}
|
56
57
|
{% assign title = "Anfrage ungültig" %}
|
58
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
57
59
|
{% assign reason = "Die Nachricht war fehlerhaft aufgebaut. <br/> Der Webserver konnte die gewünschte Anfrages des Browsers nicht bearbeiten. Die Nachricht war fehlerhaft aufgebaut." %}
|
58
60
|
{% assign contact_issue = "Technischer Kontakt" %}
|
59
61
|
{% endif %}
|
@@ -77,6 +79,7 @@ sitemap: false
|
|
77
79
|
<div class="cover attic">
|
78
80
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
79
81
|
<p class="lead">{{reason}}</p>
|
82
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
80
83
|
</div>
|
81
84
|
<footer>
|
82
85
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -48,12 +48,14 @@ sitemap: false
|
|
48
48
|
|
49
49
|
{% if language == 'en' %}
|
50
50
|
{% assign title = "Unauthorized" %}
|
51
|
+
{% assign back_url_text = "Back Home" %}
|
51
52
|
{% assign reason = "Not authorized. <br/> The requested resource requires an authentication." %}
|
52
53
|
{% assign contact_issue = "Technical Contact" %}
|
53
54
|
{% endif %}
|
54
55
|
|
55
56
|
{% if language == 'de' %}
|
56
57
|
{% assign title = "Keine Authorisierung" %}
|
58
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
57
59
|
{% assign reason = "Keine Authorisierung. <br/> Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden." %}
|
58
60
|
{% assign contact_issue = "Technischer Kontakt" %}
|
59
61
|
{% endif %}
|
@@ -77,6 +79,7 @@ sitemap: false
|
|
77
79
|
<div class="cover attic">
|
78
80
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
79
81
|
<p class="lead">{{reason}}</p>
|
82
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
80
83
|
</div>
|
81
84
|
<footer>
|
82
85
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -48,12 +48,14 @@ sitemap: false
|
|
48
48
|
|
49
49
|
{% if language == 'en' %}
|
50
50
|
{% assign title = "Access Denied" %}
|
51
|
+
{% assign back_url_text = "Back Home" %}
|
51
52
|
{% assign reason = "Access rejected. <br/> The requested resource requires an authentication." %}
|
52
53
|
{% assign contact_issue = "Technical Contact" %}
|
53
54
|
{% endif %}
|
54
55
|
|
55
56
|
{% if language == 'de' %}
|
56
57
|
{% assign title = "Zugriff verweigert" %}
|
58
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
57
59
|
{% assign reason = "Anfrage zurückgewiesen. <br/> Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt." %}
|
58
60
|
{% assign contact_issue = "Technischer Kontakt" %}
|
59
61
|
{% endif %}
|
@@ -77,6 +79,7 @@ sitemap: false
|
|
77
79
|
<div class="cover attic">
|
78
80
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
79
81
|
<p class="lead">{{reason}}</p>
|
82
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
80
83
|
</div>
|
81
84
|
<footer>
|
82
85
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -48,12 +48,14 @@ sitemap: false
|
|
48
48
|
|
49
49
|
{% if language == 'en' %}
|
50
50
|
{% assign title = "Page not found" %}
|
51
|
+
{% assign back_url_text = "Back Home" %}
|
51
52
|
{% assign reason = "The page you requested could not found. <br/> Sorry about that, this shoud not happen." %}
|
52
53
|
{% assign contact_issue = "Technical Contact" %}
|
53
54
|
{% endif %}
|
54
55
|
|
55
56
|
{% if language == 'de' %}
|
56
57
|
{% assign title = "Seite nicht gefunden" %}
|
58
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
57
59
|
{% assign reason = "Die angeforderte Seite konnte nicht gefunden werden. <br/> Wir bitten um Entschuldigung, dass sollte nicht passieren." %}
|
58
60
|
{% assign contact_issue = "Technischer Kontakt" %}
|
59
61
|
{% endif %}
|
@@ -77,6 +79,7 @@ sitemap: false
|
|
77
79
|
<div class="cover attic">
|
78
80
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
79
81
|
<p class="lead">{{reason}}</p>
|
82
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
80
83
|
</div>
|
81
84
|
<footer>
|
82
85
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -48,12 +48,14 @@ sitemap: false
|
|
48
48
|
|
49
49
|
{% if language == 'en' %}
|
50
50
|
{% assign title = "Internal Server Error" %}
|
51
|
+
{% assign back_url_text = "Back Home" %}
|
51
52
|
{% assign reason = "An unexpected condition was encountered. <br/> Our service team has been dispatched to bring it back online." %}
|
52
53
|
{% assign contact_issue = "Technical Contact" %}
|
53
54
|
{% endif %}
|
54
55
|
|
55
56
|
{% if language == 'de' %}
|
56
57
|
{% assign title = "Interner Server Fehler" %}
|
58
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
57
59
|
{% assign reason = "Es ist ein unerwartete Serverfehler aufgetreten. <br/> Das Service Team ist bemüht den Dienst wiederherzustellen." %}
|
58
60
|
{% assign contact_issue = "Technischer Kontakt" %}
|
59
61
|
{% endif %}
|
@@ -77,6 +79,7 @@ sitemap: false
|
|
77
79
|
<div class="cover attic">
|
78
80
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
79
81
|
<p class="lead">{{reason}}</p>
|
82
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
80
83
|
</div>
|
81
84
|
<footer>
|
82
85
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -48,12 +48,14 @@ sitemap: false
|
|
48
48
|
|
49
49
|
{% if language == 'en' %}
|
50
50
|
{% assign title = "Not Implemented" %}
|
51
|
+
{% assign back_url_text = "Back Home" %}
|
51
52
|
{% assign reason = "Unknown request type. <br/> The Webserver cannot recognize the request method." %}
|
52
53
|
{% assign contact_issue = "Technical Contact" %}
|
53
54
|
{% endif %}
|
54
55
|
|
55
56
|
{% if language == 'de' %}
|
56
57
|
{% assign title = "Nicht verfügbar" %}
|
58
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
57
59
|
{% assign reason = "Unbekannter Anfragetyp. <br/> Die Funktionalität, um die Anfrage zu bearbeiten, wird von diesem Server nicht bereitgestellt." %}
|
58
60
|
{% assign contact_issue = "Technischer Kontakt" %}
|
59
61
|
{% endif %}
|
@@ -77,6 +79,7 @@ sitemap: false
|
|
77
79
|
<div class="cover attic">
|
78
80
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
79
81
|
<p class="lead">{{reason}}</p>
|
82
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
80
83
|
</div>
|
81
84
|
<footer>
|
82
85
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -48,12 +48,14 @@ sitemap: false
|
|
48
48
|
|
49
49
|
{% if language == 'en' %}
|
50
50
|
{% assign title = "Service currently unavailable" %}
|
51
|
+
{% assign back_url_text = "Back Home" %}
|
51
52
|
{% assign reason = "We've got some trouble with our backend upstream cluster. <br/> Our service team has been dispatched to bring it back online." %}
|
52
53
|
{% assign contact_issue = "Technical Contact" %}
|
53
54
|
{% endif %}
|
54
55
|
|
55
56
|
{% if language == 'de' %}
|
56
57
|
{% assign title = "Dienst zurzeit nicht verfügbar" %}
|
58
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
57
59
|
{% assign reason = "Der Server konnte seine Funktion als Gateway oder Proxy nicht erfüllen. <br/> Das Service Team ist bemüht den Dienst wiederherzustellen." %}
|
58
60
|
{% assign contact_issue = "Technischer Kontakt" %}
|
59
61
|
{% endif %}
|
@@ -77,6 +79,7 @@ sitemap: false
|
|
77
79
|
<div class="cover attic">
|
78
80
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
79
81
|
<p class="lead">{{reason}}</p>
|
82
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
80
83
|
</div>
|
81
84
|
<footer>
|
82
85
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -50,12 +50,14 @@ sitemap: false
|
|
50
50
|
|
51
51
|
{% if language == 'en' %}
|
52
52
|
{% assign title = "Service currently unavailable" %}
|
53
|
+
{% assign back_url_text = "Back Home" %}
|
53
54
|
{% assign reason = "The server is temporarily unavailable. <br/> Please try again later." %}
|
54
55
|
{% assign contact_issue = "Technical Contact" %}
|
55
56
|
{% endif %}
|
56
57
|
|
57
58
|
{% if language == 'de' %}
|
58
59
|
{% assign title = "Dienst zurzeit nicht verfügbar" %}
|
60
|
+
{% assign back_url_text = "Zurück zur Startseite" %}
|
59
61
|
{% assign reason = "Der Server steht temporär nicht zur Verfügung. <br/> Bitte versuchen Sie es später nocheinmal." %}
|
60
62
|
{% assign contact_issue = "Technischer Kontakt" %}
|
61
63
|
{% endif %}
|
@@ -79,6 +81,7 @@ sitemap: false
|
|
79
81
|
<div class="cover attic">
|
80
82
|
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
81
83
|
<p class="lead">{{reason}}</p>
|
84
|
+
<div><a href="/">{{back_url_text}}</a></div>
|
82
85
|
</div>
|
83
86
|
<footer>
|
84
87
|
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}">{{webmaster_email}}</a></p>
|
@@ -91,6 +91,7 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
91
91
|
var user_cookie;
|
92
92
|
var logger;
|
93
93
|
var logText;
|
94
|
+
var cookie_written;
|
94
95
|
|
95
96
|
// NOTE: RegEx for tracking_id: ^(G|UA|YT|MO)-[a-zA-Z0-9-]+$
|
96
97
|
// See: https://stackoverflow.com/questions/20411767/how-to-validate-google-analytics-tracking-id-using-a-javascript-function/20412153
|
@@ -214,8 +215,10 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
214
215
|
// -------------------------------------------------------------------------
|
215
216
|
cbCookie: function () {
|
216
217
|
var gaCookies = j1.findCookie('_ga');
|
217
|
-
var
|
218
|
-
var
|
218
|
+
var j1Cookies = j1.findCookie('j1');
|
219
|
+
var cookie_names = j1.getCookieNames();
|
220
|
+
var user_state = j1.readCookie(cookie_names.user_state);
|
221
|
+
var user_consent = j1.readCookie(cookie_names.user_consent);
|
219
222
|
var json = JSON.stringify(user_consent);
|
220
223
|
var user_agent = platform.ua;
|
221
224
|
|
@@ -227,8 +230,7 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
227
230
|
$('#quickLinksCookieButton').css('display', 'block');
|
228
231
|
}
|
229
232
|
|
230
|
-
// jadams, 2021-07-11:
|
231
|
-
//
|
233
|
+
// jadams, 2021-07-11: moved to j1 adapter (displayPage)
|
232
234
|
// NOTE: Warning needs to be moved to another module
|
233
235
|
// because page is reloaded after selection
|
234
236
|
//
|
@@ -241,6 +243,7 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
241
243
|
// for development only
|
242
244
|
if (environment === 'development') {
|
243
245
|
gaCookies.forEach(item => console.log('cookieConsent: ' + item));
|
246
|
+
j1Cookies.forEach(item => console.log('cookieConsent: ' + item));
|
244
247
|
}
|
245
248
|
|
246
249
|
if (user_agent.includes('iPad')) {
|
@@ -269,16 +272,23 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
269
272
|
|
270
273
|
if (!user_consent.analyses || !user_consent.personalization) {
|
271
274
|
// expire consent|state cookies to session
|
272
|
-
j1.writeCookie({
|
273
|
-
name:
|
275
|
+
cookie_written = j1.writeCookie({
|
276
|
+
name: cookie_names.user_state,
|
274
277
|
data: user_state,
|
275
278
|
samesite: 'Strict'
|
276
279
|
});
|
277
|
-
|
278
|
-
|
280
|
+
if (!cookie_written) {
|
281
|
+
logger.error('failed to write cookie: ' + cookie_names.user_state);
|
282
|
+
}
|
283
|
+
|
284
|
+
cookie_written = j1.writeCookie({
|
285
|
+
name: cookie_names.user_consent,
|
279
286
|
data: user_consent,
|
280
287
|
samesite: 'Strict'
|
281
288
|
});
|
289
|
+
if (!cookie_written) {
|
290
|
+
logger.error('failed to write cookie: ' + cookie_names.user_consent);
|
291
|
+
}
|
282
292
|
}
|
283
293
|
|
284
294
|
if (moduleOptions.reloadPageOnChange) {
|
@@ -136,6 +136,7 @@ var j1 = (function () {
|
|
136
136
|
var last_pager_url;
|
137
137
|
var app_detected;
|
138
138
|
var user_session_detected;
|
139
|
+
var cookie_written;
|
139
140
|
|
140
141
|
// Translatior settings (currently NOT supported)
|
141
142
|
// var translation_enabled = {{template_config.translation.enabled}};
|
@@ -173,7 +174,7 @@ var j1 = (function () {
|
|
173
174
|
};
|
174
175
|
var user_session = {
|
175
176
|
'mode': 'web',
|
176
|
-
'writer': '
|
177
|
+
'writer': 'j1.adapter',
|
177
178
|
'locale': navigator.language || navigator.userLanguage,
|
178
179
|
'user_name': '{{template_config.user.user_name}}',
|
179
180
|
'provider': '{{template_config.user.provider}}',
|
@@ -189,10 +190,12 @@ var j1 = (function () {
|
|
189
190
|
'last_pager': '/pages/public/blog/navigator/'
|
190
191
|
};
|
191
192
|
var user_state = {
|
193
|
+
'writer': 'j1.adapter',
|
194
|
+
'theme_css': '',
|
192
195
|
'theme_css': '',
|
193
196
|
'theme_name': '',
|
194
197
|
'theme_author': '',
|
195
|
-
'theme_version': '{{
|
198
|
+
'theme_version': '{{template_version}}',
|
196
199
|
'session_active': false,
|
197
200
|
'last_session_ts': ''
|
198
201
|
};
|
@@ -266,30 +269,44 @@ var j1 = (function () {
|
|
266
269
|
var url;
|
267
270
|
var baseUrl;
|
268
271
|
|
269
|
-
user_state
|
270
|
-
|
272
|
+
if (user_state) {
|
273
|
+
user_state.session_active = false;
|
274
|
+
user_state.last_session_ts = timestamp_now;
|
271
275
|
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
276
|
+
if (!user_consent.analyses || !user_consent.personalization) {
|
277
|
+
// expire consent|state cookies to session
|
278
|
+
cookie_written = j1.writeCookie({
|
279
|
+
name: cookie_names.user_consent,
|
280
|
+
data: user_state,
|
281
|
+
samesite: 'Strict'
|
282
|
+
});
|
283
|
+
if (!cookie_written) {
|
284
|
+
logger.error('failed to write cookie: ' + cookie_names.user_consent);
|
285
|
+
}
|
286
|
+
cookie_written = j1.writeCookie({
|
287
|
+
name: cookie_names.user_state,
|
288
|
+
data: user_state,
|
289
|
+
samesite: 'Strict'
|
290
|
+
});
|
291
|
+
if (!cookie_written) {
|
292
|
+
logger.error('failed to write cookie: ' + cookie_names.user_consent);
|
293
|
+
}
|
294
|
+
} else {
|
295
|
+
cookie_written = j1.writeCookie({
|
296
|
+
name: cookie_names.user_state,
|
297
|
+
data: user_state,
|
298
|
+
samesite: 'Strict',
|
299
|
+
expires: 365
|
300
|
+
});
|
301
|
+
if (!cookie_written) {
|
302
|
+
logger.error('failed to write cookie: ' + cookie_names.user_state);
|
303
|
+
}
|
304
|
+
}
|
284
305
|
} else {
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
samesite: 'Strict',
|
289
|
-
expires: 365
|
290
|
-
});
|
306
|
+
// jadams, 2021-07-11: on beforeunload, a vaild state cookie
|
307
|
+
// is expected
|
308
|
+
logger.fatal('missing cookie detected for: ' + cookie_names.user_state);
|
291
309
|
}
|
292
|
-
|
293
310
|
}); // END beforeunload
|
294
311
|
|
295
312
|
// -----------------------------------------------------------------------
|
@@ -301,45 +318,57 @@ var j1 = (function () {
|
|
301
318
|
user_consent = j1.readCookie(cookie_names.user_consent);
|
302
319
|
user_session = j1.existsCookie(cookie_names.user_session)
|
303
320
|
? j1.readCookie(cookie_names.user_session)
|
304
|
-
: j1.writeCookie({
|
321
|
+
: cookie_written = j1.writeCookie({
|
305
322
|
name: cookie_names.user_session,
|
306
323
|
data: user_session,
|
307
324
|
samesite: 'Strict'
|
308
325
|
});
|
326
|
+
if (!cookie_written) {
|
327
|
+
logger.error('failed to write cookie: ' + cookie_names.user_session);
|
328
|
+
}
|
309
329
|
|
310
330
|
user_state = j1.existsCookie(cookie_names.user_state)
|
311
331
|
? j1.readCookie(cookie_names.user_state)
|
312
|
-
: j1.writeCookie({
|
332
|
+
: cookie_written = j1.writeCookie({
|
313
333
|
name: cookie_names.user_state,
|
314
334
|
data: user_state,
|
315
335
|
samesite: 'Strict',
|
316
336
|
expires: 365
|
317
337
|
});
|
338
|
+
if (!cookie_written) {
|
339
|
+
logger.error('failed to write cookie: ' + cookie_names.user_state);
|
340
|
+
}
|
318
341
|
|
319
342
|
// jadams, 2021-07-11: Found situation that user_state NOT initialized
|
320
343
|
// correctly (user_state == false).
|
321
344
|
// TODO: Check if/why user state (cookie NOT created?) NOT initialized
|
322
345
|
// for what reason.
|
323
346
|
if (!user_state) {
|
324
|
-
logger.warn('
|
347
|
+
logger.warn('cookie not found: ' + cookie_names.user_state);
|
325
348
|
user_state = j1.readCookie(cookie_names.user_state);
|
326
349
|
user_state.session_active = true;
|
327
350
|
}
|
328
351
|
|
329
352
|
if (!user_consent.analyses || !user_consent.personalization) {
|
330
353
|
// expire consent|state cookies to session
|
331
|
-
j1.writeCookie({
|
354
|
+
cookie_written = j1.writeCookie({
|
332
355
|
name: cookie_names.user_state,
|
333
356
|
data: user_state,
|
334
357
|
samesite: 'Strict'
|
335
358
|
});
|
359
|
+
if (!cookie_written) {
|
360
|
+
logger.error('failed to write cookie: ' + cookie_names.user_state);
|
361
|
+
}
|
336
362
|
} else {
|
337
|
-
j1.writeCookie({
|
363
|
+
cookie_written = j1.writeCookie({
|
338
364
|
name: cookie_names.user_state,
|
339
365
|
data: user_state,
|
340
366
|
samesite: 'Strict',
|
341
367
|
expires: 365
|
342
368
|
});
|
369
|
+
if (!cookie_written) {
|
370
|
+
logger.error('failed to write cookie: ' + cookie_names.user_state);
|
371
|
+
}
|
343
372
|
}
|
344
373
|
|
345
374
|
// detect middleware (mode 'app') and update user session cookie
|
@@ -366,11 +395,16 @@ var j1 = (function () {
|
|
366
395
|
|
367
396
|
logger.info(logText);
|
368
397
|
logger.info('update user session cookie');
|
369
|
-
j1.writeCookie({
|
398
|
+
cookie_written = j1.writeCookie({
|
370
399
|
name: cookie_names.user_session,
|
371
400
|
data: user_session,
|
372
401
|
samesite: 'Strict'
|
373
402
|
});
|
403
|
+
|
404
|
+
if (!cookie_written) {
|
405
|
+
logger.error('failed to write cookie: ' + cookie_names.user_session);
|
406
|
+
}
|
407
|
+
|
374
408
|
j1.setState(curr_state);
|
375
409
|
logger.info('state: ' + j1.getState());
|
376
410
|
|
@@ -407,16 +441,20 @@ var j1 = (function () {
|
|
407
441
|
logText = 'mode detected: ' + user_session.mode;
|
408
442
|
|
409
443
|
logger.info(logText);
|
410
|
-
j1.writeCookie({
|
444
|
+
cookie_written = j1.writeCookie({
|
411
445
|
name: cookie_names.user_session,
|
412
446
|
data: user_session,
|
413
447
|
samesite: 'Strict'
|
414
448
|
});
|
449
|
+
if (!cookie_written) {
|
450
|
+
logger.error('failed to write cookie: ' + cookie_names.user_session);
|
451
|
+
}
|
452
|
+
|
415
453
|
j1.setState(curr_state);
|
416
454
|
logger.info('state: ' + j1.getState());
|
417
455
|
}, detectTimeout);
|
418
456
|
});
|
419
|
-
} else { //
|
457
|
+
} else { // web mode
|
420
458
|
state = 'started';
|
421
459
|
logger.info('state: ' + state);
|
422
460
|
logger.info('page is being initialized');
|
@@ -462,12 +500,16 @@ var j1 = (function () {
|
|
462
500
|
}
|
463
501
|
|
464
502
|
logger.info('update user session cookie');
|
465
|
-
j1.writeCookie({
|
503
|
+
cookie_written = j1.writeCookie({
|
466
504
|
name: cookie_names.user_session,
|
467
505
|
data: user_session,
|
468
506
|
samesite: 'Strict'
|
469
507
|
});
|
470
508
|
|
509
|
+
if (!cookie_written) {
|
510
|
+
logger.error('failed to write cookie: ' + cookie_names.user_session);
|
511
|
+
}
|
512
|
+
|
471
513
|
// NOTE: asynchronous calls should be rewitten to xhrData
|
472
514
|
// initialize page resources for blocks
|
473
515
|
j1.initBanner(settings);
|
@@ -479,11 +521,14 @@ var j1 = (function () {
|
|
479
521
|
logger.info(logText);
|
480
522
|
|
481
523
|
user_session.timestamp = timestamp_now;
|
482
|
-
j1.writeCookie({
|
524
|
+
cookie_written = j1.writeCookie({
|
483
525
|
name: cookie_names.user_session,
|
484
526
|
data: user_session,
|
485
527
|
samesite: 'Strict'
|
486
528
|
});
|
529
|
+
if (!cookie_written) {
|
530
|
+
logger.error('failed to write cookie: ' + cookie_names.user_session);
|
531
|
+
}
|
487
532
|
|
488
533
|
// -----------------------------------------------------------------------
|
489
534
|
// additional BS helpers from j1.core
|
@@ -800,11 +845,14 @@ var j1 = (function () {
|
|
800
845
|
user_session = j1.mergeData(user_session, data);
|
801
846
|
|
802
847
|
user_session.current_page = current_url.pathname;
|
803
|
-
j1.writeCookie({
|
848
|
+
cookie_written = j1.writeCookie({
|
804
849
|
name: cookie_names.user_session,
|
805
850
|
data: user_session,
|
806
851
|
samesite: 'Strict'
|
807
852
|
});
|
853
|
+
if (!cookie_written) {
|
854
|
+
logger.error('failed to write cookie: ' + cookie_names.user_session);
|
855
|
+
}
|
808
856
|
|
809
857
|
providerPermissions = user_session.provider_permissions;
|
810
858
|
categoryAllowed = providerPermissions.includes(user_session.page_permission);
|
@@ -933,11 +981,14 @@ var j1 = (function () {
|
|
933
981
|
$('#quickLinksSignInOutButton').css('display', 'none');
|
934
982
|
|
935
983
|
user_session.current_page = current_url.pathname;
|
936
|
-
j1.writeCookie({
|
984
|
+
cookie_written = j1.writeCookie({
|
937
985
|
name: cookie_names.user_session,
|
938
986
|
data: user_session,
|
939
987
|
samesite: 'Strict'
|
940
988
|
});
|
989
|
+
if (!cookie_written) {
|
990
|
+
logger.error('failed to write cookie: ' + cookie_names.user_session);
|
991
|
+
}
|
941
992
|
|
942
993
|
// show|hide translator icon (currently NOT supported)
|
943
994
|
// if (translation_enabled) {
|
@@ -1262,14 +1313,17 @@ var j1 = (function () {
|
|
1262
1313
|
|
1263
1314
|
// -------------------------------------------------------------------------
|
1264
1315
|
// findCookie()
|
1265
|
-
// Search for cookies (names) in the page header that matches
|
1266
|
-
//
|
1316
|
+
// Search for cookies (names) in the page header that matches a given
|
1317
|
+
// name. Cookie name can be give as full name, like 'j1.user.state', or
|
1318
|
+
// as partials like 'j1'
|
1319
|
+
// Returns all names found as an array.
|
1267
1320
|
// -------------------------------------------------------------------------
|
1268
1321
|
// See: https://stackoverflow.com/questions/52287989/javascript-cookie-remove-or-delete-with-regex-regular-expression
|
1269
1322
|
// -------------------------------------------------------------------------
|
1270
|
-
findCookie: function (
|
1323
|
+
findCookie: function (name) {
|
1271
1324
|
var r=[];
|
1272
|
-
|
1325
|
+
|
1326
|
+
document.cookie.replace(new RegExp(name + '[^= ]*', 'g'), function(a){ r.push(a.trim()); });
|
1273
1327
|
return r;
|
1274
1328
|
}, // END findCookie
|
1275
1329
|
|