j1_template_mde 2018.4.31 → 2018.4.32
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/_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:
|