j1_template_mde 2018.4.31 → 2018.4.32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/layouts/layout_metadata_generator.html +5 -6
- data/_includes/themes/j1/layouts/layout_shim_generator.html +20 -2
- data/_includes/themes/j1/layouts/layout_theme_generator.html +2 -2
- data/_includes/themes/j1/modules/connectors/{analytic/google → ad/custom-provider.html} +7 -16
- data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +6 -6
- data/_includes/themes/j1/modules/connectors/ads +23 -8
- data/_includes/themes/j1/modules/connectors/analytic/custom-provider.html +32 -0
- data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +38 -0
- data/_includes/themes/j1/modules/connectors/analytics +16 -17
- data/_includes/themes/j1/modules/connectors/comment/custom-provider.html +31 -0
- data/_includes/themes/j1/modules/connectors/comment/disqus.html +3 -3
- data/_includes/themes/j1/modules/connectors/comment/facebook.html +31 -0
- data/_includes/themes/j1/modules/connectors/comments +14 -12
- data/_includes/themes/j1/modules/connectors/sharing +3 -10
- data/_includes/themes/j1/modules/navigator/generator.html +17 -12
- data/_includes/themes/j1/modules/navigator/procedures/quicklinks.proc +37 -27
- data/_includes/themes/j1/modules/navigator/procedures/sidebar.proc +3 -3
- data/_includes/themes/j1/procedures/layouts/module_writer.proc +4 -4
- data/_includes/themes/j1/procedures/layouts/resource_writer.proc +6 -6
- data/lib/j1/version.rb +1 -1
- data/lib/j1_app/j1_auth_manager/_unused/auth_manager.before_merge_added.rb +1267 -0
- data/lib/j1_app/j1_auth_manager/_unused/auth_manager.update.web_cookie.rb +1333 -0
- data/lib/j1_app/j1_auth_manager/_unused/auth_manager_ui.2.erb +198 -0
- data/lib/j1_app/j1_auth_manager/_unused/auth_manager_ui.additional_inits.erb +254 -0
- data/lib/j1_app/j1_auth_manager/auth_manager.rb +361 -275
- data/lib/j1_app/j1_auth_manager/config.rb +9 -9
- data/lib/j1_app/j1_auth_manager/helpers.rb +60 -2
- data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb +123 -37
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +42 -32
- data/lib/starter_web/_data/j1_config.yml +46 -56
- data/lib/starter_web/_data/j1_resources.yml +25 -5
- data/lib/starter_web/_data/layouts/default.yml +10 -0
- data/lib/starter_web/_data/modules/j1_cookie_consent.yml +120 -0
- data/lib/starter_web/_data/modules/j1_log4javascript.yml +24 -22
- data/lib/starter_web/_data/modules/j1_navigator.yml +61 -50
- data/lib/starter_web/_data/modules/j1_navigator_menu.yml +32 -11
- data/lib/starter_web/_data/tables/country.asciidoc +252 -0
- data/lib/starter_web/assets/data/_authclient.html +365 -0
- data/lib/starter_web/assets/data/authclient.html +213 -222
- data/lib/starter_web/assets/data/cookie_consent.html +261 -0
- data/lib/starter_web/assets/data/countries.json +974 -0
- data/lib/starter_web/assets/data/footer.html +17 -26
- data/lib/starter_web/assets/data/menu.html +20 -21
- data/lib/starter_web/assets/images/icons/j1/scalable/j1v2.svg +1 -1
- data/lib/starter_web/assets/images/master_header/admin-bootstrap.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/package.json +16 -16
- data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +1313 -1219
- data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
- data/lib/starter_web/assets/themes/j1/core/css/uno.css +1251 -1219
- data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -1
- data/lib/starter_web/assets/themes/j1/core/css/vendor.css +72 -72
- data/lib/starter_web/assets/themes/j1/core/css/vendor.min.css +2 -2
- data/lib/starter_web/assets/themes/j1/core/js/adapter/algolia.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/back2top.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/bs_gallery.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/cookie_consent.js +345 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/custom.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/lightbox.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/logger.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/master_header.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/navigator.js +254 -190
- data/lib/starter_web/assets/themes/j1/core/js/adapter/scroller.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/searcher.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/stickybits.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/switcher.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/template.js +432 -97
- data/lib/starter_web/assets/themes/j1/core/js/adapter/toccer.js +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/template.js +15 -15
- data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -1
- data/lib/starter_web/assets/themes/j1/extensions/cookiebar/js/cookiebar.js +277 -0
- data/lib/starter_web/assets/themes/j1/{core/js/adapter/cookiebar.js → extensions/cookiebar/js/j1cookiebar.js} +1 -1
- data/lib/starter_web/collections/_biography/becoming.adoc +1 -1
- data/lib/starter_web/collections/_biography/born-to-run.adoc +1 -1
- data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/attributes.asciidoc +0 -0
- data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/documents/100-docker-using-shared-folders.asciidoc +0 -0
- data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/documents/loop.sh +0 -0
- data/lib/starter_web/collections/posts/{premium → private}/series/_posts/000_includes/tables/debug_variables.asciidoc +0 -0
- data/lib/starter_web/collections/posts/{premium → private}/series/_posts/2018-11-01-docker-using-shared-folders.adoc +0 -0
- data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/000_includes/attributes.asciidoc +0 -0
- data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/000_includes/tables/debug_variables.asciidoc +0 -0
- data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-20-minneapolis.adoc +0 -0
- data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +0 -0
- data/lib/starter_web/collections/posts/{private → protected}/wikipedia/_posts/2016-11-26-columbia-river.adoc +1 -1
- data/lib/starter_web/collections/posts/public/featured/_posts/2019-04-12-about-cookies.adoc +175 -0
- data/lib/starter_web/collections/posts/public/{featured → jekyll}/_posts/2018-05-01-confusion-about-base-url.adoc +0 -0
- data/lib/starter_web/index.html +4 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/{premium → private}/bookshelf/100_about_jekyll_collections.adoc +1 -1
- data/lib/starter_web/pages/{premium → private}/bookshelf/200_book_shelf_biography.adoc +1 -1
- data/lib/starter_web/pages/{premium → private}/bookshelf/300_book_shelf_fantasy.adoc +1 -1
- data/lib/starter_web/pages/{premium → private}/bookshelf/400_book_shelf_romance.adoc +1 -1
- data/lib/starter_web/pages/{private → protected}/TeamUp/000_includes/attributes.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/TeamUp/index.adoc +3 -3
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/attributes.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/120_relative_sizes.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/300_flip.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/600_md_color_palette.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/200_rotate.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/300_flip.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/000_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +0 -0
- data/lib/starter_web/pages/{private → protected}/previewer/justified_gallery.html +1 -1
- data/lib/starter_web/pages/{private → protected}/previewer/mdi_icons_preview.adoc +1 -1
- data/lib/starter_web/pages/{private → protected}/previewer/twitter_emoji_preview.adoc +1 -1
- data/lib/starter_web/pages/public/about/about_you.adoc +139 -0
- data/lib/starter_web/pages/public/legal/de/100_impress.adoc +26 -15
- data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -2
- data/lib/starter_web/pages/public/legal/en/100_impress.adoc +65 -53
- data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +11 -8
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +46 -68
- data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +72 -74
- data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +55 -0
- data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +1 -1
- data/lib/starter_web/pages/public/start/roundtrip/700_extended_modals.adoc +71 -53
- metadata +60 -44
- data/_includes/themes/j1/modules/connectors/analytic/googleUA +0 -44
- data/lib/starter_web/_data/modules/j1_cookiebar.yml +0 -65
- data/lib/starter_web/_unused/package.json.new +0 -125
@@ -47,8 +47,8 @@ module J1App
|
|
47
47
|
|
48
48
|
def self.permissions
|
49
49
|
permission_profile = {
|
50
|
-
:
|
51
|
-
:
|
50
|
+
:protected => [],
|
51
|
+
:private => []
|
52
52
|
}
|
53
53
|
|
54
54
|
active_providers = auth_config['providers']['activated']
|
@@ -88,11 +88,11 @@ module J1App
|
|
88
88
|
|
89
89
|
# def self.provider_url(arg)
|
90
90
|
# provider_url = {
|
91
|
-
# 'patreon' => auth_config['provider']['
|
92
|
-
# 'disqus' => auth_config['provider']['
|
93
|
-
# 'facebook' => auth_config['provider']['
|
94
|
-
# 'github' => auth_config['provider']['
|
95
|
-
# 'twitter' => auth_config['provider']['
|
91
|
+
# 'patreon' => auth_config['provider']['provider_url']['patreon'],
|
92
|
+
# 'disqus' => auth_config['provider']['provider_url']['disqus'],
|
93
|
+
# 'facebook' => auth_config['provider']['provider_url']['facebook'],
|
94
|
+
# 'github' => auth_config['provider']['provider_url']['github'],
|
95
|
+
# 'twitter' => auth_config['provider']['provider_url']['twitter']
|
96
96
|
# }
|
97
97
|
# provider_url[arg]
|
98
98
|
# end
|
@@ -132,8 +132,8 @@ module J1App
|
|
132
132
|
|
133
133
|
# def self.permissions_old
|
134
134
|
# permission_profile = {
|
135
|
-
# :
|
136
|
-
# :
|
135
|
+
# :protected => [],
|
136
|
+
# :private => []
|
137
137
|
# }
|
138
138
|
#
|
139
139
|
# provider_permissions = auth_config['provider']['permission']
|
@@ -80,5 +80,63 @@ module J1App
|
|
80
80
|
# end
|
81
81
|
# end
|
82
82
|
|
83
|
-
|
84
|
-
|
83
|
+
# --------------------------------------------------------------------------
|
84
|
+
# merge: merge two hashes (input <- hash)
|
85
|
+
#
|
86
|
+
# Example:
|
87
|
+
# {% assign nav_bar_options = nav_bar_default | merge: nav_bar_config %}
|
88
|
+
# --------------------------------------------------------------------------
|
89
|
+
def merge(input, hash)
|
90
|
+
unless input.respond_to?(:to_hash)
|
91
|
+
raise ArgumentError.new("merge filter requires hash arguments: arg_input")
|
92
|
+
end
|
93
|
+
# if hash to merge is NOT a hash or empty return first hash (input)
|
94
|
+
unless hash.respond_to?(:to_hash)
|
95
|
+
input
|
96
|
+
end
|
97
|
+
if hash.nil? || hash.empty?
|
98
|
+
input
|
99
|
+
else
|
100
|
+
merged = input.dup
|
101
|
+
hash.each do |k, v|
|
102
|
+
merged[k] = v
|
103
|
+
end
|
104
|
+
merged
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
# --------------------------------------------------------------------------
|
109
|
+
# writeCookie:
|
110
|
+
#
|
111
|
+
# Example:
|
112
|
+
#
|
113
|
+
# --------------------------------------------------------------------------
|
114
|
+
def writeCookie(name, data)
|
115
|
+
session_encoded = Base64.encode64(data)
|
116
|
+
response.set_cookie(
|
117
|
+
name,
|
118
|
+
domain: false,
|
119
|
+
value: session_encoded.to_s,
|
120
|
+
path: '/'
|
121
|
+
)
|
122
|
+
end
|
123
|
+
|
124
|
+
# --------------------------------------------------------------------------
|
125
|
+
# readCookie:
|
126
|
+
#
|
127
|
+
# Example:
|
128
|
+
#
|
129
|
+
# --------------------------------------------------------------------------
|
130
|
+
def readCookie(name)
|
131
|
+
if env['HTTP_COOKIE'].include? name
|
132
|
+
session_encoded = request.cookies[name]
|
133
|
+
session_decoded = Base64.decode64(session_encoded)
|
134
|
+
session_data = JSON.parse(session_decoded)
|
135
|
+
return session_data
|
136
|
+
else
|
137
|
+
return {}
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
end # END helpers
|
142
|
+
end # END module
|
@@ -2,9 +2,7 @@
|
|
2
2
|
<html lang="en">
|
3
3
|
|
4
4
|
<head>
|
5
|
-
|
6
5
|
<meta charset="utf-8">
|
7
|
-
|
8
6
|
<title>AuthManager</title>
|
9
7
|
<meta name="description" content="J1 Template">
|
10
8
|
<meta name="author" content="jelyll-one">
|
@@ -13,27 +11,27 @@
|
|
13
11
|
<link rel="stylesheet" type="text/css" href="/assets/themes/j1/core/css/vendor.css">
|
14
12
|
<script src="/assets/themes/j1/core/js/template.js"></script>
|
15
13
|
<script src="/assets/themes/j1/core/js/adapter/template.js"></script>
|
16
|
-
|
17
14
|
</head>
|
18
15
|
|
19
16
|
<body class="r-text-300">
|
20
17
|
|
21
|
-
<!-- Modal Central Success
|
18
|
+
<!-- Modal Central Success -->
|
22
19
|
<div id="centralModalInfo" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
23
20
|
<div class="modal-dialog modal-notify modal-<%= @info_type %>" role="document">
|
24
21
|
<!-- Content -->
|
25
22
|
<div class="modal-content">
|
26
23
|
<!--Header-->
|
27
24
|
<div class="modal-header">
|
28
|
-
<p class="lead"
|
25
|
+
<p class="lead">
|
26
|
+
<i class="mdi mdi-2x mdi-dark mdi-<%= @modal_icon %>"></i>
|
27
|
+
<%= @modal_title %></p>
|
29
28
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
30
|
-
<i class="mdi mdi-
|
29
|
+
<i class="mdi mdi-dark mdi-48px mdi-close"></i>
|
31
30
|
</button>
|
32
31
|
</div>
|
33
32
|
<!-- Body -->
|
34
33
|
<div class="modal-body">
|
35
34
|
<div class="text-center">
|
36
|
-
<i class="mdi mdi-4x mdi-<%= @modal_icon %> mdi-rotateIn mb-1"></i>
|
37
35
|
<p style="text-align: justify"><%= @modal_description %></p>
|
38
36
|
</div>
|
39
37
|
</div>
|
@@ -45,7 +43,7 @@
|
|
45
43
|
<!-- END Content -->
|
46
44
|
</div>
|
47
45
|
</div>
|
48
|
-
<!-- END Central Success
|
46
|
+
<!-- END Central Success -->
|
49
47
|
|
50
48
|
|
51
49
|
<!-- Modal TopInfo -->
|
@@ -53,6 +51,7 @@
|
|
53
51
|
<div class="modal-dialog modal-frame modal-top modal-notify modal-info" role="document">
|
54
52
|
<!-- Content -->
|
55
53
|
<div class="modal-content">
|
54
|
+
|
56
55
|
<!-- Body -->
|
57
56
|
<div class="modal-body">
|
58
57
|
<div class="row px-4">
|
@@ -61,7 +60,8 @@
|
|
61
60
|
<div class="row px-4">
|
62
61
|
<a type="button" id="okButton" class="btn btn-primary-modal mr-2" data-dismiss="modal"><%= @modal_ok_text %></a>
|
63
62
|
</div>
|
64
|
-
</div>
|
63
|
+
</div> <!-- END Body -->
|
64
|
+
|
65
65
|
</div>
|
66
66
|
<!-- END Content -->
|
67
67
|
</div>
|
@@ -73,76 +73,162 @@
|
|
73
73
|
<div class="modal-dialog modal-lg modal-notify modal-info" role="document">
|
74
74
|
<!-- Content -->
|
75
75
|
<div class="modal-content">
|
76
|
+
|
76
77
|
<!--Header-->
|
77
78
|
<div class="modal-header">
|
78
|
-
<p class="lead"
|
79
|
-
|
80
|
-
|
81
|
-
</
|
79
|
+
<p class="lead">
|
80
|
+
<i class="mdi mdi-2x mdi-dark mdi-account"></i>
|
81
|
+
<%= @modal_title %>
|
82
|
+
</p>
|
83
|
+
<!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
84
|
+
<i class="mdi mdi-dark mdi-48px mdi-close"></i>
|
85
|
+
</button> -->
|
82
86
|
</div>
|
87
|
+
|
83
88
|
<!-- Body -->
|
84
89
|
<div class="modal-body">
|
85
90
|
<div class="text-center">
|
86
|
-
<i class="mdi mdi-4x mdi-<%= @modal_icon %> mdi-rotateIn mb-1"></i>
|
87
91
|
<p style="text-align: justify"><%= @modal_description %></p>
|
88
92
|
</div>
|
89
93
|
<img src="<%= @modal_image %>" alt="<%= @modal_title %>" class="img-fluid">
|
90
94
|
</div>
|
95
|
+
|
91
96
|
<!-- Footer -->
|
92
|
-
<div class="modal-footer">
|
97
|
+
<div class="modal-footer justify-content-center">
|
93
98
|
<a type="button" id="signInButton" class="btn btn-primary-modal mr-2" data-dismiss="modal">
|
94
99
|
<i class="mdi mdi-18px mdi-dark mdi-login"></i>
|
95
100
|
<%= @modal_agreed_text %>
|
96
101
|
</a>
|
97
|
-
<a type="button" id="exitButton" class="btn btn-outline-
|
102
|
+
<a type="button" id="exitButton" class="btn btn-outline-modal" data-dismiss="modal">
|
103
|
+
<i class="mdi mdi-18px mdi-dark mdi-close"></i>
|
98
104
|
<%= @modal_disagreed_text %>
|
99
105
|
</a>
|
100
106
|
</div>
|
101
|
-
|
102
|
-
<!-- END Content -->
|
107
|
+
|
108
|
+
</div> <!-- END Content -->
|
103
109
|
</div>
|
104
110
|
</div>
|
105
111
|
<!-- END Modal SignInProtectedContent -->
|
106
112
|
|
113
|
+
<!-- Modal Central CookieConsent -->
|
114
|
+
<div id="centralCookieConsent" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
115
|
+
<div class="modal-dialog modal-notify modal-<%= @info_type %>" role="document">
|
116
|
+
<!-- Content -->
|
117
|
+
<div class="modal-content">
|
118
|
+
<!--Header-->
|
119
|
+
<div class="modal-header">
|
120
|
+
<p class="lead">
|
121
|
+
<i class="mdi mdi-2x mdi-dark mdi-account"></i>
|
122
|
+
<%= @modal_title %>
|
123
|
+
</p>
|
124
|
+
<!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
125
|
+
<i class="mdi mdi-dark mdi-48px mdi-close"></i>
|
126
|
+
</button> -->
|
127
|
+
</div>
|
128
|
+
<!-- Body -->
|
129
|
+
<div class="modal-body">
|
130
|
+
<div class="text-center">
|
131
|
+
<p style="text-align: justify"><%= @modal_description %></p>
|
132
|
+
</div>
|
133
|
+
</div>
|
134
|
+
<!-- Footer -->
|
135
|
+
<div class="modal-footer justify-content-center">
|
136
|
+
<a type="button" id="acceptCookiesButton" class="btn btn-primary-modal mr-2" data-dismiss="modal">
|
137
|
+
<i class="mdi mdi-18px mdi-dark mdi-<%= @modal_icon %>"></i>
|
138
|
+
<%= @modal_agreed_text %>
|
139
|
+
</a>
|
140
|
+
<a type="button" id="declineCookiesButton" class="btn btn-outline-modal" data-dismiss="modal">
|
141
|
+
<i class="mdi mdi-18px mdi-dark mdi-close"></i>
|
142
|
+
<%= @modal_disagreed_text %>
|
143
|
+
</a>
|
144
|
+
</div>
|
145
|
+
<!-- END Content -->
|
146
|
+
</div>
|
147
|
+
</div>
|
148
|
+
<!-- END Central CookieConsent -->
|
149
|
+
|
107
150
|
</body>
|
108
151
|
|
109
152
|
<script>
|
153
|
+
|
110
154
|
var route;
|
111
155
|
var provider;
|
156
|
+
var user_state;
|
112
157
|
|
113
|
-
|
158
|
+
// Setup logger
|
159
|
+
var logger;
|
160
|
+
var allModalButtons = document.querySelectorAll('a.btn');
|
114
161
|
|
115
162
|
var signIn = {
|
116
163
|
provider: "<%= @provider %>",
|
117
|
-
do:
|
164
|
+
do: "unset"
|
118
165
|
}
|
119
166
|
|
120
|
-
|
121
|
-
|
167
|
+
var cookiesAccepted = {
|
168
|
+
do: "unset"
|
169
|
+
}
|
170
|
+
|
171
|
+
// Manage button click events for all modals
|
172
|
+
// See: https://www.nickang.com/add-event-listener-for-loop-problem-in-javascript/
|
173
|
+
// -----------------------------------------------------------------
|
174
|
+
$(document).on('shown.bs.modal','#<%= @modal %>', function () {
|
175
|
+
console.log('J1AuthManager: entered modal SHOWN from <%= @modal %>');
|
176
|
+
|
177
|
+
allModalButtons.forEach(function(button, index) {
|
178
|
+
button.addEventListener('click', function() {
|
179
|
+
// Modal topFullCookieConsent
|
180
|
+
// -----------------------------------------------------------
|
181
|
+
if (this.id === "acceptCookiesButton") {
|
182
|
+
cookiesAccepted.do = true;
|
183
|
+
user_state = j1.getWebSessionCookie();
|
184
|
+
user_state.cookies_accepted = 'accepted';
|
185
|
+
j1.setWebSessionCookie(user_state);
|
186
|
+
}
|
187
|
+
if (this.id === "declineCookiesButton") {
|
188
|
+
cookiesAccepted.do = false;
|
189
|
+
}
|
190
|
+
if (this.id === "okButton") {
|
191
|
+
signIn.do = true;
|
192
|
+
}
|
193
|
+
if (this.id === "signInButton") {
|
194
|
+
signIn.do = true;
|
195
|
+
} else {
|
196
|
+
signIn.do = false;
|
197
|
+
}
|
198
|
+
});
|
199
|
+
});
|
200
|
+
|
201
|
+
return;
|
122
202
|
});
|
123
203
|
|
124
|
-
$(
|
125
|
-
|
126
|
-
signIn.do = true;
|
127
|
-
}
|
128
|
-
if (this.id === "signInButton") {
|
129
|
-
signIn.do = true;
|
130
|
-
} else {
|
131
|
-
signIn.do = false;
|
132
|
-
}
|
204
|
+
$(window).on('load', function() {
|
205
|
+
$("#<%= @modal %>").modal("show")
|
133
206
|
});
|
134
207
|
|
135
|
-
$(
|
208
|
+
$(document).on('hide.bs.modal','#<%= @modal %>', function () {
|
209
|
+
console.log('J1AuthManager: entered modal HIDE from <%= @modal %>');
|
210
|
+
user_state = j1.getWebSessionCookie();
|
211
|
+
// Manage SignIn
|
212
|
+
// -----------------------------------------------------------------------
|
136
213
|
if (signIn.do == true) {
|
214
|
+
var route = "<%= @route %>"
|
215
|
+
console.log('J1AuthManager: pass to ' + route);
|
216
|
+
window.location.href = route;
|
217
|
+
} else if (signIn.do == false) {
|
218
|
+
// TODO: How to manage page requested
|
219
|
+
// window.location.href = user_state.requested_page; // cause dead loop
|
220
|
+
window.location.href = '/';
|
221
|
+
}
|
222
|
+
// Cookies
|
223
|
+
// -----------------------------------------------------------------------
|
224
|
+
if (cookiesAccepted.do == true) {
|
137
225
|
var route = "<%= @route %>"
|
138
226
|
window.location.href = route;
|
139
|
-
} else {
|
140
|
-
// TODO: How to manage last/current page if protected
|
141
|
-
j1_user_state = j1.getUserStateCookie();
|
142
|
-
//window.location.href = j1_user_state.last_page;
|
143
|
-
//window.location.href = j1_user_state.current_page;
|
227
|
+
} else if (cookiesAccepted.do == false) {
|
144
228
|
window.location.href = '/';
|
145
229
|
}
|
230
|
+
// pass to "window.location.href"
|
231
|
+
return;
|
146
232
|
});
|
147
233
|
</script>
|
148
234
|
|
data/lib/starter_web/Gemfile
CHANGED
@@ -46,7 +46,7 @@ gem 'jekyll', '~> 3.8.5'
|
|
46
46
|
# Theme Rubies
|
47
47
|
# Default: J1 Template
|
48
48
|
#
|
49
|
-
gem 'j1_template_mde', '~> 2018.4.
|
49
|
+
gem 'j1_template_mde', '~> 2018.4.32'
|
50
50
|
|
51
51
|
# --------------------------------------------------------------------
|
52
52
|
# PRODUCTION: Gem needed for the Jekyll and J1 prod environment
|
data/lib/starter_web/_config.yml
CHANGED
@@ -60,7 +60,7 @@ environment: development
|
|
60
60
|
# anything here because version information is bumped-in by
|
61
61
|
# the build process
|
62
62
|
#
|
63
|
-
version: 2018.4.
|
63
|
+
version: 2018.4.32
|
64
64
|
|
65
65
|
|
66
66
|
# ==============================================================================
|
@@ -547,80 +547,82 @@ algolia:
|
|
547
547
|
j1_auth:
|
548
548
|
enabled: false
|
549
549
|
ssl: false
|
550
|
+
update_user_state: true
|
550
551
|
|
551
552
|
content:
|
552
553
|
public:
|
553
554
|
- \W*((?i)assets(?-i))\W*
|
554
555
|
- \W*((?i)public(?-i))\W*
|
556
|
+
protected:
|
557
|
+
- \W*((?i)protected(?-i))\W*
|
555
558
|
private:
|
556
559
|
- \W*((?i)private(?-i))\W*
|
557
|
-
premium:
|
558
|
-
- \W*((?i)premium(?-i))\W*
|
559
560
|
|
560
561
|
providers:
|
561
562
|
activated: [ disqus ]
|
562
563
|
|
563
564
|
disqus:
|
564
|
-
|
565
|
-
product_url: http://localhost:5000
|
565
|
+
provider_url: https://disqus.com
|
566
566
|
strategy: member
|
567
567
|
scope: []
|
568
568
|
users: [ all ]
|
569
|
-
permissions: [ private ]
|
569
|
+
permissions: [ protected, private ]
|
570
570
|
data_fields: []
|
571
571
|
conditions:
|
572
|
+
protected:
|
573
|
+
enabled: true
|
574
|
+
users:
|
575
|
+
blacklist: []
|
572
576
|
private:
|
573
577
|
enabled: true
|
574
578
|
users:
|
579
|
+
whitelist: [ all ]
|
575
580
|
blacklist: []
|
576
581
|
|
577
582
|
# facebook:
|
578
|
-
#
|
579
|
-
# product_url: http://localhost:5000
|
583
|
+
# provider_url: https://facebook.com
|
580
584
|
# strategy: member
|
581
585
|
# scope: []
|
582
586
|
# users: [ all ]
|
583
|
-
# permissions: [
|
587
|
+
# permissions: [ protected ]
|
584
588
|
# data_fields: []
|
585
589
|
# conditions:
|
586
|
-
#
|
590
|
+
# protected:
|
587
591
|
# enabled: true
|
588
592
|
# users:
|
589
593
|
# whitelist: [ all ]
|
590
594
|
# blacklist: []
|
591
595
|
#
|
592
596
|
# github:
|
593
|
-
#
|
594
|
-
# product_url: http://localhost:5000
|
597
|
+
# provider_url: https://github.com
|
595
598
|
# strategy: member
|
596
599
|
# scope: []
|
597
600
|
# users: [ all ]
|
598
|
-
# permissions: [
|
601
|
+
# permissions: [ protected ]
|
599
602
|
# data_fields: []
|
600
603
|
# conditions:
|
601
|
-
#
|
604
|
+
# protected:
|
602
605
|
# enabled: true
|
603
606
|
# users:
|
604
607
|
# whitelist: [ all ]
|
605
608
|
# blacklist: []
|
606
609
|
#
|
607
610
|
# patreon:
|
608
|
-
#
|
609
|
-
# product_url: http://localhost:5000
|
611
|
+
# provider_url: https://patreon.com
|
610
612
|
# strategy: member
|
611
613
|
# scope: [ users, pledges-to-me ]
|
612
614
|
# users: [ all ]
|
613
|
-
# permissions: [
|
615
|
+
# permissions: [ protected, private ]
|
614
616
|
# data_fields: [
|
615
617
|
# email, name, first_name, nickname,
|
616
618
|
# amount_cents, created_at, declined_since
|
617
619
|
# ]
|
618
620
|
# conditions:
|
619
|
-
#
|
621
|
+
# protected:
|
620
622
|
# enabled: true
|
621
623
|
# users:
|
622
624
|
# blacklist: []
|
623
|
-
#
|
625
|
+
# private:
|
624
626
|
# enabled: true
|
625
627
|
# users:
|
626
628
|
# whitelist: [ juergen_adams ]
|
@@ -638,15 +640,14 @@ j1_auth:
|
|
638
640
|
# state: paid
|
639
641
|
#
|
640
642
|
# twitter:
|
641
|
-
#
|
642
|
-
# product_url: http://localhost:5000
|
643
|
+
# provider_url: https://twitter.com
|
643
644
|
# strategy: member
|
644
645
|
# scope: []
|
645
646
|
# users: [ all ]
|
646
|
-
# permissions: [
|
647
|
+
# permissions: [ protected ]
|
647
648
|
# data_fields: []
|
648
649
|
# conditions:
|
649
|
-
#
|
650
|
+
# protected:
|
650
651
|
# enabled: true
|
651
652
|
# users:
|
652
653
|
# blacklist: []
|
@@ -756,7 +757,8 @@ defaults:
|
|
756
757
|
author: J1 Team
|
757
758
|
toc: true
|
758
759
|
resources: toccer
|
759
|
-
|
760
|
+
analytics: false
|
761
|
+
advertising: false
|
760
762
|
comments: false
|
761
763
|
scrollbar: false
|
762
764
|
indexed: true
|
@@ -794,7 +796,8 @@ defaults:
|
|
794
796
|
author: J1 Team
|
795
797
|
toc: true
|
796
798
|
resources: toccer
|
797
|
-
|
799
|
+
analytics: false
|
800
|
+
advertising: false
|
798
801
|
comments: true
|
799
802
|
|
800
803
|
robots:
|
@@ -828,7 +831,8 @@ defaults:
|
|
828
831
|
author: J1 Team
|
829
832
|
toc: true
|
830
833
|
resources: toccer
|
831
|
-
|
834
|
+
analytics: false
|
835
|
+
advertising: false
|
832
836
|
comments: true
|
833
837
|
|
834
838
|
robots:
|
@@ -859,7 +863,8 @@ defaults:
|
|
859
863
|
author: J1 Team
|
860
864
|
toc: true
|
861
865
|
resources: toccer
|
862
|
-
|
866
|
+
analytics: false
|
867
|
+
advertising: false
|
863
868
|
comments: true
|
864
869
|
|
865
870
|
robots:
|
@@ -891,7 +896,8 @@ defaults:
|
|
891
896
|
resources: toccer
|
892
897
|
toc: true
|
893
898
|
resources: toccer
|
894
|
-
|
899
|
+
analytics: false
|
900
|
+
advertising: false
|
895
901
|
comments: false
|
896
902
|
|
897
903
|
robots:
|
@@ -921,7 +927,8 @@ defaults:
|
|
921
927
|
|
922
928
|
values:
|
923
929
|
layout: page
|
924
|
-
|
930
|
+
analytics: false
|
931
|
+
advertising: false
|
925
932
|
scrollbar: false
|
926
933
|
|
927
934
|
robots:
|
@@ -937,7 +944,8 @@ defaults:
|
|
937
944
|
|
938
945
|
values:
|
939
946
|
layout: page
|
940
|
-
|
947
|
+
analytics: false
|
948
|
+
advertising: false
|
941
949
|
scrollbar: false
|
942
950
|
|
943
951
|
robots:
|
@@ -953,7 +961,8 @@ defaults:
|
|
953
961
|
|
954
962
|
values:
|
955
963
|
layout: page
|
956
|
-
|
964
|
+
analytics: false
|
965
|
+
advertising: false
|
957
966
|
scrollbar: false
|
958
967
|
|
959
968
|
# --------------------------------------------------------
|
@@ -965,7 +974,8 @@ defaults:
|
|
965
974
|
|
966
975
|
values:
|
967
976
|
layout: page
|
968
|
-
|
977
|
+
analytics: false
|
978
|
+
advertising: false
|
969
979
|
scrollbar: false
|
970
980
|
|
971
981
|
robots:
|