j1-template 2021.1.10 → 2021.1.11
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|