zen 0.2.5 → 0.2.6
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.
- data/.gems +34 -0
- data/.travis.yml +7 -0
- data/AUTHORS +5 -0
- data/CHANGELOG +14 -0
- data/{license.txt → LICENSE} +0 -0
- data/MANIFEST +67 -51
- data/README.md +18 -25
- data/Rakefile +2 -3
- data/bin/zen +2 -2
- data/lib/zen.rb +93 -57
- data/lib/zen/asset.rb +7 -8
- data/lib/zen/bin/app.rb +0 -2
- data/lib/zen/controller/admin_controller.rb +4 -9
- data/lib/zen/controller/base_controller.rb +0 -25
- data/lib/zen/controller/main_controller.rb +5 -5
- data/lib/zen/controller/preview.rb +50 -0
- data/lib/zen/helper/common.rb +4 -68
- data/lib/zen/helper/message.rb +82 -0
- data/lib/zen/helper/theme.rb +2 -2
- data/lib/zen/language.rb +68 -38
- data/lib/zen/language/en/zen_general.yml +1 -4
- data/lib/zen/language/nl/zen_general.yml +28 -0
- data/lib/zen/language/nl/zen_models.yml +13 -0
- data/lib/zen/layout/admin.xhtml +1 -1
- data/lib/zen/layout/login.xhtml +1 -1
- data/lib/zen/model/settings.rb +2 -0
- data/lib/zen/package.rb +29 -25
- data/lib/zen/package/all.rb +1 -1
- data/lib/zen/package/categories/lib/categories/controller/categories.rb +51 -63
- data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +45 -52
- data/lib/zen/package/categories/lib/categories/language/en/categories.yml +2 -2
- data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +39 -0
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +33 -0
- data/lib/zen/package/categories/lib/categories/plugin/categories.rb +2 -2
- data/lib/zen/package/comments/lib/comments.rb +31 -2
- data/lib/zen/package/comments/lib/comments/controller/comments.rb +42 -57
- data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +36 -51
- data/lib/zen/package/comments/lib/comments/language/en/comments.yml +7 -3
- data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +48 -0
- data/lib/zen/package/comments/lib/comments/model/comment.rb +45 -4
- data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +152 -0
- data/lib/zen/package/comments/lib/comments/plugin/comments.rb +5 -6
- data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +2 -2
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +43 -52
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +68 -67
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +1 -1
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +32 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +52 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +3 -3
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +4 -7
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +3 -3
- data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +37 -44
- data/lib/zen/package/menus/lib/menus/controller/menus.rb +33 -43
- data/lib/zen/package/menus/lib/menus/helper/menu_item.rb +5 -10
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +41 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +39 -0
- data/lib/zen/package/menus/lib/menus/model/menu.rb +3 -3
- data/lib/zen/package/menus/lib/menus/model/menu_item.rb +3 -3
- data/lib/zen/package/menus/lib/menus/plugin/menus.rb +5 -6
- data/lib/zen/package/menus/migrations/1297184342_create_schema.rb +1 -1
- data/lib/zen/package/sections/lib/sections.rb +20 -0
- data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +85 -79
- data/lib/zen/package/sections/lib/sections/controller/sections.rb +58 -66
- data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -1
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +43 -0
- data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +47 -0
- data/lib/zen/package/sections/lib/sections/model/section.rb +11 -15
- data/lib/zen/package/sections/lib/sections/model/section_entry.rb +9 -5
- data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +7 -8
- data/lib/zen/package/sections/lib/sections/plugin/sections.rb +3 -4
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +0 -4
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +8 -2
- data/lib/zen/package/sections/migrations/1306772479_remove_unique_slug.rb +28 -0
- data/lib/zen/package/settings/lib/settings.rb +21 -34
- data/lib/zen/package/settings/lib/settings/controller/settings.rb +29 -22
- data/lib/zen/package/settings/lib/settings/language/en/settings.yml +7 -5
- data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +39 -0
- data/lib/zen/package/settings/lib/settings/model/setting.rb +3 -5
- data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +3 -4
- data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +3 -5
- data/lib/zen/package/settings/lib/settings/plugin/settings.rb +11 -4
- data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +5 -5
- data/lib/zen/package/settings/migrations/1299538742_add_language_key.rb +8 -8
- data/lib/zen/package/settings/migrations/1303196915_settings_plugin.rb +2 -5
- data/lib/zen/package/users/lib/users/controller/access_rules.rb +54 -61
- data/lib/zen/package/users/lib/users/controller/user_groups.rb +49 -57
- data/lib/zen/package/users/lib/users/controller/users.rb +58 -73
- data/lib/zen/package/users/lib/users/language/en/users.yml +6 -0
- data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +37 -0
- data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +31 -0
- data/lib/zen/package/users/lib/users/language/nl/users.yml +56 -0
- data/lib/zen/package/users/lib/users/model/user.rb +16 -1
- data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +27 -2
- data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +15 -3
- data/lib/zen/package/users/migrations/1304939855_user_settings.rb +15 -0
- data/lib/zen/plugin.rb +7 -9
- data/lib/zen/public/admin/css/{buttons.css → zen/buttons.css} +11 -7
- data/lib/zen/public/admin/css/{datepicker.css → zen/datepicker.css} +0 -0
- data/lib/zen/public/admin/css/{editor.css → zen/editor.css} +10 -5
- data/lib/zen/public/admin/css/{forms.css → zen/forms.css} +1 -1
- data/lib/zen/public/admin/css/{general.css → zen/general.css} +7 -7
- data/lib/zen/public/admin/css/{grid.css → zen/grid.css} +0 -0
- data/lib/zen/public/admin/css/{layout.css → zen/layout.css} +4 -5
- data/lib/zen/public/admin/css/zen/messages.css +61 -0
- data/lib/zen/public/admin/css/{notifications.css → zen/notifications.css} +4 -4
- data/lib/zen/public/admin/css/{reset.css → zen/reset.css} +0 -0
- data/lib/zen/public/admin/css/{tables.css → zen/tables.css} +3 -3
- data/lib/zen/public/admin/css/{tabs.css → zen/tabs.css} +5 -5
- data/lib/zen/public/admin/css/zen/window.css +79 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/accept.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/add.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/back.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/bold.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/close.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/delete.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/edit.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/error.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/help.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/info.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/italic.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/large/error.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/large/notice.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/large/success.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/link.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/logout.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/ol.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/pdf.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/preview.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/ul.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/user.png +0 -0
- data/lib/zen/public/admin/images/{icons → zen/icons}/view.png +0 -0
- data/lib/zen/public/admin/js/zen/core.js +73 -0
- data/lib/zen/public/admin/js/zen/editor.js +527 -0
- data/lib/zen/public/admin/js/zen/editor/markdown.js +84 -0
- data/lib/zen/public/admin/js/zen/editor/textile.js +84 -0
- data/lib/zen/public/admin/js/zen/init.js +12 -66
- data/lib/zen/public/admin/js/zen/tabs.js +5 -0
- data/lib/zen/public/admin/js/zen/window.js +206 -0
- data/lib/zen/task/build.rake +23 -6
- data/lib/zen/task/clean.rake +6 -7
- data/lib/zen/task/db.rake +7 -9
- data/lib/zen/task/package.rake +6 -6
- data/lib/zen/task/test.rake +6 -0
- data/lib/zen/task/theme.rake +3 -3
- data/lib/zen/theme.rb +3 -4
- data/lib/zen/validation.rb +7 -9
- data/lib/zen/version.rb +3 -4
- data/lib/zen/view/bottom.xhtml +0 -5
- data/lib/zen/view/main.xhtml +2 -0
- data/proto/app/app.rb +6 -4
- data/proto/app/config/config.rb +1 -7
- data/proto/app/config/database.rb +47 -43
- data/proto/app/config/middlewares.rb +0 -40
- data/proto/app/start.rb +1 -6
- data/proto/app/{vendor → theme}/.gitkeep +0 -0
- data/proto/migration.rb +3 -3
- data/proto/package/lib/package.rb +0 -1
- data/proto/package/lib/package/controller/controllers.rb +7 -40
- data/proto/package/lib/package/model/model.rb +3 -3
- metadata +106 -79
- data/CHANGELOG.md +0 -27
- data/ROADMAP.md +0 -53
- data/lib/zen/database.rb +0 -112
- data/lib/zen/logger.rb +0 -56
- data/lib/zen/public/admin/css/modals.css +0 -63
- data/lib/zen/public/admin/images/icons/close.png +0 -0
- data/lib/zen/public/admin/js/vendor/yepnope.js +0 -1
- data/lib/zen/public/admin/js/zen/editor/base.js +0 -262
- data/lib/zen/public/admin/js/zen/editor/drivers/html.js +0 -89
- data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +0 -87
- data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +0 -87
- data/lib/zen/public/admin/js/zen/modal.js +0 -146
- data/lib/zen/public/admin/js/zen/notification.js +0 -211
- data/proto/app/config/requires.rb +0 -10
- data/proto/app/vendor/theme/.gitkeep +0 -0
- data/proto/package/lib/package/view/admin/package/edit.xhtml +0 -0
- data/proto/package/lib/package/view/admin/package/form.xhtml +0 -0
- data/proto/package/lib/package/view/admin/package/new.xhtml +0 -0
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
f.input_hidden(:id, @entry.id)
|
|
33
33
|
|
|
34
34
|
f.g.div(:id => :basic) do
|
|
35
|
-
|
|
36
35
|
f.input_text(
|
|
37
36
|
lang('section_entries.labels.title'),
|
|
38
37
|
:title
|
|
@@ -65,11 +64,9 @@
|
|
|
65
64
|
:selected => @entry.status,
|
|
66
65
|
:size => 1
|
|
67
66
|
)
|
|
68
|
-
|
|
69
67
|
end
|
|
70
68
|
|
|
71
69
|
f.g.div(:id => :categories) do
|
|
72
|
-
|
|
73
70
|
if @entry.section.category_groups
|
|
74
71
|
@entry.section.category_groups.each do |group|
|
|
75
72
|
categories = {}
|
|
@@ -89,7 +86,6 @@
|
|
|
89
86
|
else
|
|
90
87
|
f.g.p(lang('section_entries.messages.no_categories'))
|
|
91
88
|
end
|
|
92
|
-
|
|
93
89
|
end
|
|
94
90
|
|
|
95
91
|
# Organize all field values by field ID
|
|
@@ -49,8 +49,14 @@
|
|
|
49
49
|
|
|
50
50
|
<td>#{entry.slug}</td>
|
|
51
51
|
<td>#{@status_hash[entry.status]}</td>
|
|
52
|
-
<td>#{entry.created_at}</td>
|
|
53
|
-
<td
|
|
52
|
+
<td>#{entry.created_at.strftime(session[:user].date_format)}</td>
|
|
53
|
+
<td>
|
|
54
|
+
#{
|
|
55
|
+
if entry.updated_at
|
|
56
|
+
entry.updated_at.strftime(session[:user].date_format)
|
|
57
|
+
end
|
|
58
|
+
}
|
|
59
|
+
</td>
|
|
54
60
|
</tr>
|
|
55
61
|
<?r end ?>
|
|
56
62
|
</tbody>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Sequel.migration do
|
|
2
|
+
# Updates the database with the changes specified in the block.
|
|
3
|
+
up do
|
|
4
|
+
entries = Zen.database[:section_entries].all
|
|
5
|
+
|
|
6
|
+
drop_column(:section_entries, :slug)
|
|
7
|
+
add_column(:section_entries , :slug, String)
|
|
8
|
+
add_index(:section_entries , :slug)
|
|
9
|
+
|
|
10
|
+
entries.each do |entry|
|
|
11
|
+
Zen.database[:section_entries] \
|
|
12
|
+
.filter(:id => entry[:id]).update(:slug => entry[:slug])
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Reverts the changes made in the up() block.
|
|
17
|
+
down do
|
|
18
|
+
entries = Zen.database[:section_entries].all
|
|
19
|
+
|
|
20
|
+
drop_column(:section_entries, :slug)
|
|
21
|
+
add_column(:section_entries, :slug, String, :unique => true)
|
|
22
|
+
|
|
23
|
+
entries.each do |entry|
|
|
24
|
+
Zen.database[:section_entries] \
|
|
25
|
+
.filter(:id => entry[:id]).update(:slug => entry[:slug])
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -27,16 +27,7 @@ not to allow registration, etc.'
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
# Create all variables required for the settings
|
|
30
|
-
|
|
31
|
-
theme_hash = {}
|
|
32
|
-
|
|
33
|
-
begin
|
|
34
|
-
Sections::Model::Section.select(:name, :slug).each do |s|
|
|
35
|
-
section_hash[s.slug] = s.name
|
|
36
|
-
end
|
|
37
|
-
rescue => e
|
|
38
|
-
Ramaze::Log.warn("The settings plugin failed to retrieve all sections: #{e.message}")
|
|
39
|
-
end
|
|
30
|
+
theme_hash = {}
|
|
40
31
|
|
|
41
32
|
Zen::Theme::Registered.each do |name, theme|
|
|
42
33
|
name = name.to_s
|
|
@@ -103,18 +94,17 @@ plugin(:settings, :register) do |setting|
|
|
|
103
94
|
setting.group = 'general'
|
|
104
95
|
setting.default = 'en'
|
|
105
96
|
setting.type = 'select'
|
|
106
|
-
setting.values =
|
|
107
|
-
'en' => lang('zen_general.special.language_hash.en')
|
|
108
|
-
}
|
|
97
|
+
setting.values = Zen::Language::Languages
|
|
109
98
|
end
|
|
110
99
|
|
|
111
100
|
plugin(:settings, :register) do |setting|
|
|
112
|
-
setting.title = lang('settings.labels.
|
|
113
|
-
setting.description = lang('settings.placeholders.
|
|
114
|
-
setting.name = '
|
|
101
|
+
setting.title = lang('settings.labels.frontend_language')
|
|
102
|
+
setting.description = lang('settings.placeholders.frontend_language')
|
|
103
|
+
setting.name = 'frontend_language'
|
|
115
104
|
setting.group = 'general'
|
|
105
|
+
setting.default = 'en'
|
|
116
106
|
setting.type = 'select'
|
|
117
|
-
setting.values =
|
|
107
|
+
setting.values = Zen::Language::Languages
|
|
118
108
|
end
|
|
119
109
|
|
|
120
110
|
plugin(:settings, :register) do |setting|
|
|
@@ -126,6 +116,20 @@ plugin(:settings, :register) do |setting|
|
|
|
126
116
|
setting.values = theme_hash
|
|
127
117
|
end
|
|
128
118
|
|
|
119
|
+
plugin(:settings, :register) do |setting|
|
|
120
|
+
setting.title = lang('settings.labels.date_format')
|
|
121
|
+
setting.description = lang('settings.placeholders.date_format')
|
|
122
|
+
setting.name = 'date_format'
|
|
123
|
+
setting.group = 'general'
|
|
124
|
+
setting.type = 'select'
|
|
125
|
+
setting.default = '%Y-%m-%d %H:%I:%S'
|
|
126
|
+
setting.values = {
|
|
127
|
+
'%Y-%m-%d %H:%I:%S' => '2011-05-10 13:30:12',
|
|
128
|
+
'%d-%m-%Y %H:%I:%S' => '10-05-2011 13:30:12',
|
|
129
|
+
'%A, %B %d, %Y' => 'Tuesday, May 10, 2011'
|
|
130
|
+
}
|
|
131
|
+
end
|
|
132
|
+
|
|
129
133
|
plugin(:settings, :register) do |setting|
|
|
130
134
|
setting.title = lang('settings.labels.enable_antispam')
|
|
131
135
|
setting.description = lang('settings.placeholders.enable_antispam')
|
|
@@ -137,20 +141,3 @@ plugin(:settings, :register) do |setting|
|
|
|
137
141
|
lang('zen_general.special.boolean_hash.false') => '0'
|
|
138
142
|
}
|
|
139
143
|
end
|
|
140
|
-
|
|
141
|
-
plugin(:settings, :register) do |setting|
|
|
142
|
-
setting.title = lang('settings.labels.defensio_key')
|
|
143
|
-
setting.description = lang('settings.placeholders.defensio_key')
|
|
144
|
-
setting.name = 'defensio_key'
|
|
145
|
-
setting.group = 'security'
|
|
146
|
-
setting.type = 'textbox'
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
# Migrate all settings
|
|
150
|
-
begin
|
|
151
|
-
plugin(:settings, :migrate)
|
|
152
|
-
rescue
|
|
153
|
-
Ramaze::Log.warn(
|
|
154
|
-
"Failed to migrate the current settings, make sure the database table is up to date."
|
|
155
|
-
)
|
|
156
|
-
end
|
|
@@ -12,14 +12,17 @@ module Settings
|
|
|
12
12
|
class Settings < Zen::Controller::AdminController
|
|
13
13
|
include ::Settings::Model
|
|
14
14
|
|
|
15
|
-
map
|
|
16
|
-
|
|
15
|
+
map '/admin/settings'
|
|
16
|
+
|
|
17
|
+
# Load all required Javascript files
|
|
18
|
+
javascript ['zen/tabs']
|
|
19
|
+
|
|
17
20
|
before_all do
|
|
18
21
|
csrf_protection(:save, :delete) do
|
|
19
22
|
respond(lang('zen_general.errors.csrf'), 403)
|
|
20
23
|
end
|
|
21
24
|
end
|
|
22
|
-
|
|
25
|
+
|
|
23
26
|
##
|
|
24
27
|
# Load our language packs, set the form URLs and define our page title.
|
|
25
28
|
#
|
|
@@ -32,7 +35,7 @@ module Settings
|
|
|
32
35
|
#
|
|
33
36
|
def initialize
|
|
34
37
|
super
|
|
35
|
-
|
|
38
|
+
|
|
36
39
|
@form_save_url = Settings.r(:save)
|
|
37
40
|
|
|
38
41
|
# Set the page title
|
|
@@ -41,7 +44,7 @@ module Settings
|
|
|
41
44
|
@page_title = lang("settings.titles.#{method}") rescue nil
|
|
42
45
|
end
|
|
43
46
|
end
|
|
44
|
-
|
|
47
|
+
|
|
45
48
|
##
|
|
46
49
|
# Show all settings and allow the user to change them.
|
|
47
50
|
# The values of each setting item are stored in the database,
|
|
@@ -60,23 +63,23 @@ module Settings
|
|
|
60
63
|
if !user_authorized?([:read, :update])
|
|
61
64
|
respond(lang('zen_general.errors.not_authorized'), 403)
|
|
62
65
|
end
|
|
63
|
-
|
|
66
|
+
|
|
64
67
|
set_breadcrumbs(lang('settings.titles.index'))
|
|
65
|
-
|
|
68
|
+
|
|
66
69
|
@settings_ordered = {}
|
|
67
70
|
@groups = ::Settings::Plugin::Settings::Registered[:groups]
|
|
68
|
-
|
|
71
|
+
|
|
69
72
|
# Organize the settings so that each item is a child
|
|
70
73
|
# item of it's group.
|
|
71
74
|
::Settings::Plugin::Settings::Registered[:settings].each do |name, setting|
|
|
72
75
|
if !@settings_ordered.key?(setting.group)
|
|
73
76
|
@settings_ordered[setting.group] = []
|
|
74
77
|
end
|
|
75
|
-
|
|
78
|
+
|
|
76
79
|
@settings_ordered[setting.group].push(setting)
|
|
77
80
|
end
|
|
78
81
|
end
|
|
79
|
-
|
|
82
|
+
|
|
80
83
|
##
|
|
81
84
|
# Saves the values of each setting. Since each setting
|
|
82
85
|
# is a new row we'll have to loop through them and execute quite
|
|
@@ -85,42 +88,46 @@ module Settings
|
|
|
85
88
|
# This method requires the following permissions:
|
|
86
89
|
#
|
|
87
90
|
# * update
|
|
88
|
-
#
|
|
91
|
+
#
|
|
89
92
|
# @author Yorick Peterse
|
|
90
93
|
# @since 0.1
|
|
91
|
-
#
|
|
94
|
+
#
|
|
92
95
|
def save
|
|
93
96
|
if !user_authorized?([:update])
|
|
94
97
|
respond(lang('zen_general.errors.not_authorized'), 403)
|
|
95
98
|
end
|
|
96
|
-
|
|
99
|
+
|
|
97
100
|
post = request.params.dup
|
|
98
101
|
post.delete('csrf_token')
|
|
102
|
+
post.delete('id')
|
|
99
103
|
|
|
100
104
|
flash_success = lang('settings.success.save')
|
|
101
105
|
flash_error = lang('settings.errors.save')
|
|
106
|
+
success = true
|
|
102
107
|
|
|
103
108
|
# Update all settings
|
|
104
109
|
post.each do |key, value|
|
|
105
110
|
setting = Setting[:name => key]
|
|
106
111
|
|
|
107
112
|
begin
|
|
108
|
-
# Update the DB record
|
|
109
113
|
setting.update(:value => value)
|
|
110
|
-
notification(:success, lang('settings.titles.index'), flash_success)
|
|
111
114
|
|
|
112
115
|
# Update the internal settings
|
|
113
|
-
if ::Zen
|
|
114
|
-
::Zen
|
|
116
|
+
if ::Zen.settings[key.to_sym] != value
|
|
117
|
+
::Zen.settings[key.to_sym] = value
|
|
115
118
|
end
|
|
116
|
-
rescue
|
|
117
|
-
|
|
119
|
+
rescue => e
|
|
120
|
+
Ramaze::Log.error(e.inspect)
|
|
121
|
+
message(:error, flash_error)
|
|
122
|
+
|
|
118
123
|
flash[:form_errors] = setting.errors
|
|
124
|
+
success = false
|
|
119
125
|
end
|
|
120
126
|
end
|
|
121
127
|
|
|
128
|
+
message(:success, flash_success) if success === true
|
|
122
129
|
redirect_referrer
|
|
123
130
|
end
|
|
124
|
-
end
|
|
125
|
-
end
|
|
126
|
-
end
|
|
131
|
+
end # Settings
|
|
132
|
+
end # Controller
|
|
133
|
+
end # Settings
|
|
@@ -7,10 +7,11 @@ labels:
|
|
|
7
7
|
website_description : 'Website description'
|
|
8
8
|
website_enabled : 'Website enabled'
|
|
9
9
|
language : 'Language'
|
|
10
|
+
frontend_language : 'Frontend language'
|
|
10
11
|
default_section : 'Default section'
|
|
11
12
|
theme : 'Theme'
|
|
12
13
|
enable_antispam : 'Enable anti-spam'
|
|
13
|
-
|
|
14
|
+
date_format : 'Date format'
|
|
14
15
|
|
|
15
16
|
placeholders:
|
|
16
17
|
website_name : 'The name of the website.'
|
|
@@ -19,12 +20,13 @@ placeholders:
|
|
|
19
20
|
language : 'The language to use for the system.'
|
|
20
21
|
default_section : 'The default section to use on the homepage.'
|
|
21
22
|
theme : 'The frontend theme to use.'
|
|
22
|
-
enable_antispam :
|
|
23
|
-
|
|
23
|
+
enable_antispam : 'Whether or not anti-spam protection should be used for comments'
|
|
24
|
+
frontend_language : 'The language to use for the frontend of the website.'
|
|
25
|
+
date_format : 'A custom format used for all the dates displayed in the backend.'
|
|
24
26
|
|
|
25
27
|
tabs:
|
|
26
|
-
general
|
|
27
|
-
security
|
|
28
|
+
general : 'General'
|
|
29
|
+
security : 'Security'
|
|
28
30
|
|
|
29
31
|
buttons:
|
|
30
32
|
save: 'Save'
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
titles:
|
|
3
|
+
index: 'Instellingen'
|
|
4
|
+
|
|
5
|
+
labels:
|
|
6
|
+
website_name : 'Website naam'
|
|
7
|
+
website_description: 'Website beschrijving'
|
|
8
|
+
website_enable : 'Website beschikbaar'
|
|
9
|
+
language : 'Taal'
|
|
10
|
+
frontend_langauge : 'Taal voor bezoekers'
|
|
11
|
+
default_section : 'Standaard sectie'
|
|
12
|
+
theme : 'Thema'
|
|
13
|
+
enable_antispam : 'Anti-spam inschakelen'
|
|
14
|
+
date_format : 'Datum formaat'
|
|
15
|
+
|
|
16
|
+
placeholders:
|
|
17
|
+
website_name : 'De naam van de website.'
|
|
18
|
+
website_description: 'De beschrijving van de website.'
|
|
19
|
+
website_enabled : 'Is de website wel of niet beschikbaar?'
|
|
20
|
+
language : 'De taal die gebruikt moet worden voor het admin gedeelte.'
|
|
21
|
+
default_section : 'De standaard sectie die moet worden gebruikt.'
|
|
22
|
+
theme : 'Het thema dat bezoekers zullen zien.'
|
|
23
|
+
enable_antispam : 'Waarde die aangeeft of het anti-spam systeem moet worden gebruikt
|
|
24
|
+
voor reacties.'
|
|
25
|
+
frontend_language : 'De taal die gebruikt moet worden voor bezoekers.'
|
|
26
|
+
date_format : 'Het formaat van de datum voor het admin gedeelte.'
|
|
27
|
+
|
|
28
|
+
tabs:
|
|
29
|
+
general : 'Algemeen'
|
|
30
|
+
security: 'Beveiliging'
|
|
31
|
+
|
|
32
|
+
buttons:
|
|
33
|
+
save: 'Opslaan'
|
|
34
|
+
|
|
35
|
+
success:
|
|
36
|
+
save: 'De instellingen zijn opgeslagen.'
|
|
37
|
+
|
|
38
|
+
errors:
|
|
39
|
+
save: 'De instellingen konden niet worden opgeslagen.'
|
|
@@ -23,7 +23,6 @@ module Settings
|
|
|
23
23
|
# idea to refactor this and put it in it's own class/plugin/whatever.
|
|
24
24
|
#
|
|
25
25
|
class Setting < Sequel::Model
|
|
26
|
-
|
|
27
26
|
##
|
|
28
27
|
# Retrieves all settings and returns them as a key/value hash.
|
|
29
28
|
#
|
|
@@ -46,7 +45,6 @@ module Settings
|
|
|
46
45
|
|
|
47
46
|
return settings
|
|
48
47
|
end
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
end
|
|
48
|
+
end # Setting
|
|
49
|
+
end # Model
|
|
50
|
+
end # Settings
|
|
@@ -201,12 +201,20 @@ module Settings
|
|
|
201
201
|
settings = Setting.all.map { |s| s.name }
|
|
202
202
|
|
|
203
203
|
Registered[:settings].each do |name, setting|
|
|
204
|
+
name = name.to_s
|
|
205
|
+
|
|
204
206
|
if !settings.include?(name)
|
|
205
207
|
# Insert the new setting
|
|
206
208
|
Setting.new(
|
|
207
209
|
:name => setting.name , :group => setting.group,
|
|
208
210
|
:default => setting.default, :type => setting.type
|
|
209
211
|
).save
|
|
212
|
+
|
|
213
|
+
# Update everything but the value
|
|
214
|
+
else
|
|
215
|
+
Setting.filter[:name => setting.name].update(
|
|
216
|
+
:group => setting.group, :default => setting.default, :type => setting.type
|
|
217
|
+
)
|
|
210
218
|
end
|
|
211
219
|
end
|
|
212
220
|
end
|
|
@@ -230,7 +238,6 @@ module Settings
|
|
|
230
238
|
|
|
231
239
|
Setting.filter(:name => names).delete
|
|
232
240
|
end
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
end
|
|
241
|
+
end # Settings
|
|
242
|
+
end # Plugin
|
|
243
|
+
end # Settings
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
<?r end ?>
|
|
13
13
|
</ul>
|
|
14
14
|
</div>
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
#{
|
|
16
17
|
form_for(@settings_ordered, :method => :post, :action => @form_save_url, :id => :setting_form) do |f|
|
|
17
18
|
f.input_hidden(:csrf_token, get_csrf_token)
|
|
18
19
|
|
|
@@ -20,10 +21,10 @@
|
|
|
20
21
|
f.g.div(:id => "group_#{group}") do
|
|
21
22
|
items.each do |s|
|
|
22
23
|
# Get the value from either the value or default getter
|
|
23
|
-
if ::Zen
|
|
24
|
+
if ::Zen.settings[s.name.to_sym].nil?
|
|
24
25
|
value = s.default
|
|
25
26
|
else
|
|
26
|
-
value = ::Zen
|
|
27
|
+
value = ::Zen.settings[s.name.to_sym]
|
|
27
28
|
end
|
|
28
29
|
|
|
29
30
|
case s.type
|
|
@@ -77,6 +78,5 @@
|
|
|
77
78
|
end
|
|
78
79
|
end
|
|
79
80
|
end
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
}
|
|
82
82
|
</article>
|