zen 0.2.8 → 0.3b
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 +20 -0
- data/.mailmap +3 -2
- data/.rvmrc +1 -1
- data/.travis.yml +13 -2
- data/.yardopts +13 -0
- data/AUTHORS +1 -1
- data/README.md +115 -77
- data/Rakefile +6 -7
- data/bin/zen +12 -5
- data/guide/_static/categories/categories.png +0 -0
- data/guide/_static/categories/category_groups.png +0 -0
- data/guide/_static/categories/new_category.png +0 -0
- data/guide/_static/categories/new_category_group.png +0 -0
- data/guide/_static/comments/comments.png +0 -0
- data/guide/_static/comments/edit_comment.png +0 -0
- data/guide/_static/custom_fields/custom_field_groups.png +0 -0
- data/guide/_static/custom_fields/custom_field_types.png +0 -0
- data/guide/_static/custom_fields/custom_fields.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_general.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_group.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_settings.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_type.png +0 -0
- data/guide/_static/menus/edit_menu.png +0 -0
- data/guide/_static/menus/edit_menu_item.png +0 -0
- data/guide/_static/menus/menu_items.png +0 -0
- data/guide/_static/menus/menus.png +0 -0
- data/guide/_static/sections/edit_entry.png +0 -0
- data/guide/_static/sections/edit_entry_categories.png +0 -0
- data/guide/_static/sections/edit_entry_general.png +0 -0
- data/guide/_static/sections/edit_entry_meta.png +0 -0
- data/guide/_static/sections/edit_section_comments.png +0 -0
- data/guide/_static/sections/edit_section_general.png +0 -0
- data/guide/_static/sections/edit_section_groups.png +0 -0
- data/guide/_static/sections/entries.png +0 -0
- data/guide/_static/sections/sections.png +0 -0
- data/guide/_static/settings/overview_general.png +0 -0
- data/guide/_static/settings/overview_security.png +0 -0
- data/guide/_static/settings/overview_user.png +0 -0
- data/guide/_static/users/edit_user.png +0 -0
- data/guide/_static/users/edit_user_group.png +0 -0
- data/guide/_static/users/edit_user_group_permissions.png +0 -0
- data/guide/_static/users/edit_user_permissions.png +0 -0
- data/guide/_static/users/overview.png +0 -0
- data/guide/_static/users/user_groups_overview.png +0 -0
- data/guide/asset_management.md +117 -0
- data/{CHANGELOG.md → guide/changelog.md} +42 -0
- data/guide/css/common.css +20 -0
- data/guide/getting_started.md +61 -0
- data/guide/hacking.md +52 -0
- data/guide/installation.md +44 -0
- data/guide/javascript.md +352 -0
- data/lib/vendor/sequel_sluggable.rb +137 -0
- data/lib/yard/tags.rb +13 -0
- data/lib/zen.rb +148 -78
- data/lib/zen/asset_groups.rb +85 -0
- data/lib/zen/bin/create.rb +267 -56
- data/lib/zen/bin/default.rb +84 -0
- data/lib/zen/controller/admin_controller.rb +1 -82
- data/lib/zen/controller/base_controller.rb +9 -5
- data/lib/zen/controller/frontend_controller.rb +0 -1
- data/lib/zen/controller/main_controller.rb +30 -42
- data/lib/zen/controller/preview.rb +9 -8
- data/lib/zen/controller/translations.rb +49 -0
- data/lib/zen/error.rb +17 -0
- data/lib/zen/event.rb +118 -0
- data/lib/zen/helper/asset.rb +63 -0
- data/lib/zen/helper/breadcrumb.rb +1 -4
- data/lib/zen/helper/controller.rb +73 -0
- data/lib/zen/helper/locale.rb +42 -0
- data/lib/zen/helper/message.rb +0 -3
- data/lib/zen/helper/search.rb +54 -0
- data/lib/zen/helper/stacked_aspect.rb +249 -0
- data/lib/zen/helper/theme.rb +3 -10
- data/lib/zen/language.rb +356 -181
- data/lib/zen/language/en/zen_general.rb +52 -0
- data/lib/zen/language/en/zen_models.rb +19 -0
- data/lib/zen/language/nl/zen_general.rb +57 -0
- data/lib/zen/language/nl/zen_models.rb +22 -0
- data/lib/zen/language/translation.rb +132 -0
- data/lib/zen/languages.rb +9 -0
- data/lib/zen/layout/admin.xhtml +3 -3
- data/lib/zen/layout/login.xhtml +1 -1
- data/lib/zen/markup.rb +189 -0
- data/lib/zen/model/helper.rb +65 -0
- data/lib/zen/model/init.rb +62 -0
- data/lib/zen/model/methods.rb +6 -7
- data/lib/zen/package.rb +312 -201
- data/lib/zen/package/all.rb +4 -3
- data/lib/zen/package/categories/lib/categories.rb +29 -41
- data/lib/zen/package/categories/lib/categories/controller/categories.rb +185 -130
- data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +172 -102
- data/lib/zen/package/categories/lib/categories/helper/category.rb +4 -9
- data/lib/zen/package/categories/lib/categories/helper/category_frontend.rb +86 -0
- data/lib/zen/package/categories/lib/categories/language/en/categories.rb +40 -0
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.rb +39 -0
- data/lib/zen/package/categories/lib/categories/language/nl/categories.rb +42 -0
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.rb +42 -0
- data/lib/zen/package/categories/lib/categories/model/category.rb +21 -25
- data/lib/zen/package/categories/lib/categories/model/category_group.rb +21 -15
- data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +25 -26
- data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +24 -24
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +18 -20
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +21 -18
- data/lib/zen/package/comments/lib/comments.rb +30 -50
- data/lib/zen/package/comments/lib/comments/anti_spam.rb +138 -0
- data/lib/zen/package/comments/lib/comments/controller/comments.rb +159 -92
- data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +122 -34
- data/lib/zen/package/comments/lib/comments/helper/comment.rb +0 -3
- data/lib/zen/package/comments/lib/comments/helper/comment_frontend.rb +90 -0
- data/lib/zen/package/comments/lib/comments/language/en/comments.rb +57 -0
- data/lib/zen/package/comments/lib/comments/language/nl/comments.rb +61 -0
- data/lib/zen/package/comments/lib/comments/model/comment.rb +147 -49
- data/lib/zen/package/comments/lib/comments/model/comment_status.rb +0 -2
- data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +37 -40
- data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +23 -42
- data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +12 -4
- data/lib/zen/package/comments/migrations/1313851786_remove_defensio_signature.rb +11 -0
- data/lib/zen/package/custom_fields/lib/custom_fields.rb +40 -43
- data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +72 -17
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +154 -118
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +147 -90
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +161 -131
- data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +4 -9
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +42 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.rb +51 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.rb +60 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.rb +41 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.rb +49 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.rb +61 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +18 -23
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +20 -19
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +1 -3
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +19 -9
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +18 -15
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +18 -18
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +30 -24
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +15 -10
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +24 -19
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +18 -13
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +30 -20
- data/lib/zen/package/extensions/lib/extensions.rb +20 -0
- data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +41 -0
- data/lib/zen/package/extensions/lib/extensions/language/en/extensions.rb +23 -0
- data/lib/zen/package/extensions/lib/extensions/language/nl/extensions.rb +25 -0
- data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +86 -0
- data/lib/zen/package/menu.rb +109 -0
- data/lib/zen/package/menus/lib/menus.rb +25 -34
- data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +143 -107
- data/lib/zen/package/menus/lib/menus/controller/menus.rb +166 -115
- data/lib/zen/package/menus/lib/menus/helper/menu.rb +2 -8
- data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +114 -0
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/en/menus.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menus.rb +50 -0
- data/lib/zen/package/menus/lib/menus/model/menu.rb +24 -17
- data/lib/zen/package/menus/lib/menus/model/menu_item.rb +37 -13
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +32 -25
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +23 -17
- data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +31 -26
- data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +20 -22
- data/lib/zen/package/sections/lib/sections.rb +25 -68
- data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +178 -138
- data/lib/zen/package/sections/lib/sections/controller/sections.rb +173 -140
- data/lib/zen/package/sections/lib/sections/helper/section.rb +3 -6
- data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +146 -0
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +50 -0
- data/lib/zen/package/sections/lib/sections/language/en/sections.rb +55 -0
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +50 -0
- data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +55 -0
- data/lib/zen/package/sections/lib/sections/model/section.rb +36 -36
- data/lib/zen/package/sections/lib/sections/model/section_entry.rb +52 -59
- data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -2
- data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +24 -21
- data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +24 -26
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +33 -31
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +24 -25
- data/lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb +14 -10
- data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +12 -6
- data/lib/zen/package/settings/lib/settings.rb +25 -120
- data/lib/zen/package/settings/lib/settings/blue_form_parameters.rb +157 -0
- data/lib/zen/package/settings/lib/settings/controller/settings.rb +94 -69
- data/lib/zen/package/settings/lib/settings/language/en/settings.rb +41 -0
- data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +41 -0
- data/lib/zen/package/settings/lib/settings/model/setting.rb +0 -2
- data/lib/zen/package/settings/lib/settings/setting.rb +379 -0
- data/lib/zen/package/settings/lib/settings/setting_groups.rb +11 -0
- data/lib/zen/package/settings/lib/settings/settings.rb +83 -0
- data/lib/zen/package/settings/lib/settings/settings_group.rb +84 -0
- data/lib/zen/package/settings/lib/settings/singleton_methods.rb +35 -0
- data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +15 -57
- data/lib/zen/package/settings/migrations/1321197919_remove_unused_columns.rb +17 -0
- data/lib/zen/package/users/lib/users.rb +51 -36
- data/lib/zen/package/users/lib/users/controller/user_groups.rb +133 -98
- data/lib/zen/package/users/lib/users/controller/users.rb +253 -136
- data/lib/zen/package/users/lib/users/helper/access.rb +102 -0
- data/lib/zen/package/users/lib/users/helper/acl.rb +113 -0
- data/lib/zen/package/users/lib/users/helper/users.rb +41 -24
- data/lib/zen/package/users/lib/users/language/en/permissions.rb +16 -0
- data/lib/zen/package/users/lib/users/language/en/user_groups.rb +39 -0
- data/lib/zen/package/users/lib/users/language/en/users.rb +73 -0
- data/lib/zen/package/users/lib/users/language/nl/permissions.rb +16 -0
- data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +41 -0
- data/lib/zen/package/users/lib/users/language/nl/users.rb +74 -0
- data/lib/zen/package/users/lib/users/model/permission.rb +28 -0
- data/lib/zen/package/users/lib/users/model/user.rb +104 -65
- data/lib/zen/package/users/lib/users/model/user_group.rb +28 -24
- data/lib/zen/package/users/lib/users/model/user_status.rb +27 -0
- data/lib/zen/package/users/lib/users/public/admin/css/users/permissions.css +22 -0
- data/lib/zen/package/users/lib/users/public/admin/js/users/permissions.js +33 -0
- data/lib/zen/package/users/lib/users/settings.rb +19 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +58 -28
- data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +19 -15
- data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +93 -62
- data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +23 -36
- data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +13 -6
- data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +33 -0
- data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +52 -0
- data/lib/zen/package/users/migrations/1313786058_update_default_date.rb +41 -0
- data/lib/zen/package/users/migrations/1316432327_permissions.rb +36 -0
- data/lib/zen/package/users/migrations/1320272365_status_ids.rb +67 -0
- data/lib/zen/public/admin/css/zen/buttons.css +3 -11
- data/lib/zen/public/admin/css/zen/datepicker.css +23 -13
- data/lib/zen/public/admin/css/zen/editor.css +6 -14
- data/lib/zen/public/admin/css/zen/forms.css +19 -12
- data/lib/zen/public/admin/css/zen/general.css +22 -18
- data/lib/zen/public/admin/css/zen/grid.css +1 -20
- data/lib/zen/public/admin/css/zen/layout.css +26 -11
- data/lib/zen/public/admin/css/zen/messages.css +3 -10
- data/lib/zen/public/admin/css/zen/reset.css +13 -15
- data/lib/zen/public/admin/css/zen/tables.css +8 -10
- data/lib/zen/public/admin/css/zen/tabs.css +2 -10
- data/lib/zen/public/admin/css/zen/window.css +2 -8
- data/lib/zen/public/admin/js/vendor/datepicker.js +540 -240
- data/lib/zen/public/admin/js/vendor/mootools/core.js +273 -283
- data/lib/zen/public/admin/js/vendor/mootools/more.js +131 -136
- data/lib/zen/public/admin/js/zen/index.js +8 -14
- data/lib/zen/public/admin/js/zen/lib/editor.js +36 -33
- data/lib/zen/public/admin/js/zen/lib/editor/markdown.js +0 -6
- data/lib/zen/public/admin/js/zen/lib/editor/textile.js +0 -6
- data/lib/zen/public/admin/js/zen/lib/html_table.js +0 -5
- data/lib/zen/public/admin/js/zen/lib/tabs.js +22 -79
- data/lib/zen/public/admin/js/zen/lib/window.js +12 -22
- data/lib/zen/spec/bacon/color_output.rb +1 -1
- data/lib/zen/spec/helper.rb +6 -11
- data/lib/zen/spec/simplecov.rb +3 -3
- data/lib/zen/task.rb +0 -1
- data/lib/zen/task/build.rake +46 -26
- data/lib/zen/task/clean.rake +14 -7
- data/lib/zen/task/db.rake +31 -29
- data/lib/zen/task/package.rake +19 -23
- data/lib/zen/task/proto.rake +3 -5
- data/lib/zen/task/setup.rake +4 -0
- data/lib/zen/task/test.rake +31 -6
- data/lib/zen/task/theme.rake +13 -19
- data/lib/zen/theme.rb +377 -52
- data/lib/zen/validation.rb +22 -30
- data/lib/zen/version.rb +1 -2
- data/lib/zen/view/bottom.xhtml +9 -1
- data/lib/zen/view/head.xhtml +1 -1
- data/lib/zen/view/main.xhtml +1 -1
- data/lib/zen/view/search.xhtml +9 -0
- data/proto/app/Rakefile +0 -1
- data/proto/app/app.rb +21 -16
- data/proto/app/config/config.rb.erb +41 -0
- data/proto/app/config/{database.rb → database.rb.erb} +17 -14
- data/proto/app/config/middlewares.rb +1 -1
- data/proto/app/theme/default/index.xhtml +25 -0
- data/proto/app/theme/theme.rb +19 -0
- data/proto/app/{log/database/dev → tmp}/.gitkeep +0 -0
- data/proto/migration.rb +3 -5
- data/proto/rack/thin.yml +41 -0
- data/proto/rack/unicorn.rb +38 -0
- data/spec/Rakefile +15 -11
- data/spec/fixtures/zen/helper/controller.rb +13 -0
- data/spec/fixtures/zen/helper/locale.rb +7 -0
- data/spec/fixtures/zen/helper/message.rb +0 -4
- data/spec/fixtures/zen/language.rb +31 -0
- data/spec/fixtures/zen/language/en/spec.rb +11 -0
- data/spec/fixtures/zen/language/nl/spec.rb +11 -0
- data/spec/fixtures/zen/package.rb +0 -10
- data/spec/fixtures/zen/package/categories/helper/category_frontend.rb +16 -0
- data/spec/fixtures/zen/package/comments/helper/comment_frontend.rb +16 -0
- data/spec/fixtures/zen/package/sections/helper/section_frontend.rb +16 -0
- data/spec/fixtures/zen/package/settings/controller/settings.rb +17 -0
- data/spec/fixtures/zen/package/users/helper/access.rb +18 -0
- data/spec/fixtures/zen/package/users/helper/acl.rb +23 -0
- data/spec/fixtures/zen/theme/{default-section → default}/index.xhtml +0 -0
- data/spec/helper.rb +12 -27
- data/{proto/app/log/database/live → spec/public}/.gitkeep +0 -0
- data/spec/zen/controller/admin_controller.rb +5 -6
- data/spec/zen/controller/main_controller.rb +29 -35
- data/spec/zen/controller/preview.rb +9 -10
- data/spec/zen/event.rb +44 -0
- data/spec/zen/helper/breadcrumb.rb +4 -5
- data/spec/zen/helper/controller.rb +21 -0
- data/spec/zen/helper/locale.rb +25 -0
- data/spec/zen/helper/message.rb +4 -11
- data/spec/zen/helper/theme.rb +11 -14
- data/spec/zen/language.rb +48 -22
- data/spec/zen/markup.rb +39 -0
- data/spec/zen/package.rb +48 -11
- data/spec/zen/package/categories/controller/categories.rb +99 -45
- data/spec/zen/package/categories/controller/category_groups.rb +109 -33
- data/spec/zen/package/categories/helper/category.rb +19 -32
- data/spec/zen/package/categories/helper/category_frontend.rb +61 -0
- data/spec/zen/package/comments/anti_spam.rb +50 -0
- data/spec/zen/package/comments/controller/comments.rb +121 -61
- data/spec/zen/package/comments/controller/comments_form.rb +120 -94
- data/spec/zen/package/comments/helper/comment.rb +13 -13
- data/spec/zen/package/comments/helper/comment_frontend.rb +92 -0
- data/spec/zen/package/custom_fields/blue_form_parameters.rb +50 -50
- data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +135 -43
- data/spec/zen/package/custom_fields/controller/custom_field_types.rb +153 -48
- data/spec/zen/package/custom_fields/controller/custom_fields.rb +130 -51
- data/spec/zen/package/custom_fields/helper/custom_field.rb +8 -8
- data/spec/zen/package/extensions/controller/extensions.rb +38 -0
- data/spec/zen/package/menus/controller/menu_items.rb +121 -42
- data/spec/zen/package/menus/controller/menus.rb +125 -38
- data/spec/zen/package/menus/helper/menu.rb +26 -26
- data/spec/zen/package/menus/helper/menu_frontend.rb +104 -0
- data/spec/zen/package/sections/controller/section_entries.rb +145 -89
- data/spec/zen/package/sections/controller/sections.rb +130 -35
- data/spec/zen/package/sections/helper/section.rb +27 -38
- data/spec/zen/package/sections/helper/section_frontend.rb +160 -0
- data/spec/zen/package/settings/controller/settings.rb +73 -8
- data/spec/zen/package/settings/settings.rb +119 -0
- data/spec/zen/package/users/controller/user_groups.rb +134 -34
- data/spec/zen/package/users/controller/users.rb +189 -44
- data/spec/zen/package/users/helper/access.rb +29 -0
- data/spec/zen/package/users/helper/acl.rb +46 -0
- data/spec/zen/package/users/helper/users.rb +20 -64
- data/spec/zen/theme.rb +7 -9
- data/spec/zen/validation.rb +1 -2
- data/zen.gemspec +25 -22
- metadata +303 -222
- data/lib/zen/asset.rb +0 -292
- data/lib/zen/bin/runner.rb +0 -118
- data/lib/zen/error/language_error.rb +0 -10
- data/lib/zen/error/package_error.rb +0 -10
- data/lib/zen/error/plugin_error.rb +0 -10
- data/lib/zen/error/theme_error.rb +0 -10
- data/lib/zen/error/validation_error.rb +0 -10
- data/lib/zen/helper/acl.rb +0 -182
- data/lib/zen/helper/blue_form_vendor.rb +0 -689
- data/lib/zen/language/en/zen_general.yml +0 -25
- data/lib/zen/language/en/zen_models.yml +0 -13
- data/lib/zen/language/nl/zen_general.yml +0 -25
- data/lib/zen/language/nl/zen_models.yml +0 -13
- data/lib/zen/model/settings.rb +0 -78
- data/lib/zen/package/base.rb +0 -62
- data/lib/zen/package/categories/lib/categories/language/en/categories.yml +0 -36
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +0 -34
- data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +0 -40
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +0 -34
- data/lib/zen/package/categories/lib/categories/plugin/categories.rb +0 -141
- data/lib/zen/package/comments/lib/comments/language/en/comments.yml +0 -48
- data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +0 -50
- data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +0 -156
- data/lib/zen/package/comments/lib/comments/plugin/comments.rb +0 -115
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +0 -33
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.yml +0 -40
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +0 -54
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +0 -33
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.yml +0 -40
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +0 -54
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +0 -41
- data/lib/zen/package/menus/lib/menus/language/en/menus.yml +0 -40
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +0 -41
- data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +0 -40
- data/lib/zen/package/menus/lib/menus/plugin/menus.rb +0 -152
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +0 -44
- data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -48
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +0 -44
- data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +0 -48
- data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +0 -244
- data/lib/zen/package/sections/lib/sections/plugin/sections.rb +0 -87
- data/lib/zen/package/settings/lib/settings/language/en/settings.yml +0 -36
- data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +0 -37
- data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +0 -39
- data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +0 -133
- data/lib/zen/package/settings/lib/settings/plugin/settings.rb +0 -251
- data/lib/zen/package/users/lib/users/controller/access_rules.rb +0 -284
- data/lib/zen/package/users/lib/users/language/en/access_rules.yml +0 -38
- data/lib/zen/package/users/lib/users/language/en/user_groups.yml +0 -32
- data/lib/zen/package/users/lib/users/language/en/users.yml +0 -57
- data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +0 -38
- data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +0 -32
- data/lib/zen/package/users/lib/users/language/nl/users.yml +0 -57
- data/lib/zen/package/users/lib/users/model/access_rule.rb +0 -42
- data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +0 -65
- data/lib/zen/package/users/lib/users/public/admin/js/users/lib/access_rules.js +0 -49
- data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +0 -120
- data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +0 -102
- data/lib/zen/plugin.rb +0 -182
- data/lib/zen/plugin/base.rb +0 -46
- data/lib/zen/plugin/helper.rb +0 -47
- data/lib/zen/plugin/markup/lib/markup.rb +0 -14
- data/lib/zen/plugin/markup/lib/markup/language/en/markup.yml +0 -6
- data/lib/zen/plugin/markup/lib/markup/markup.rb +0 -165
- data/lib/zen/public/admin/js/zen/lib/asset.js +0 -111
- data/lib/zen/task/plugin.rake +0 -18
- data/lib/zen/theme/base.rb +0 -65
- data/proto/app/config/config.rb +0 -18
- data/spec/fixtures/zen/language/en/spec.yml +0 -10
- data/spec/fixtures/zen/language/nl/spec.yml +0 -7
- data/spec/fixtures/zen/package/settings/plugin/settings.rb +0 -20
- data/spec/zen/asset.rb +0 -97
- data/spec/zen/bin/create.rb +0 -89
- data/spec/zen/bin/runner.rb +0 -47
- data/spec/zen/helper/acl.rb +0 -149
- data/spec/zen/package/categories/plugin/categories.rb +0 -92
- data/spec/zen/package/comments/plugin/anti_spam.rb +0 -59
- data/spec/zen/package/comments/plugin/comments.rb +0 -107
- data/spec/zen/package/menus/plugin/menus.rb +0 -120
- data/spec/zen/package/sections/plugin/section_entries.rb +0 -161
- data/spec/zen/package/sections/plugin/sections.rb +0 -75
- data/spec/zen/package/settings/plugin/settings.rb +0 -33
- data/spec/zen/package/users/controller/access_rules.rb +0 -90
- data/spec/zen/plugin.rb +0 -64
- data/spec/zen/plugin/helper.rb +0 -11
- data/spec/zen/plugin/markup.rb +0 -44
|
@@ -1,38 +1,101 @@
|
|
|
1
|
-
#:nodoc:
|
|
2
1
|
module Comments
|
|
3
2
|
#:nodoc:
|
|
4
3
|
module Controller
|
|
5
4
|
##
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
5
|
+
# Controller that makes it possible for users to submit comments to section
|
|
6
|
+
# entries. Zen does not provide any way of generating a comment form for
|
|
7
|
+
# you and thus you'll have to do this yourself. When creating such a form
|
|
8
|
+
# you must add the following fields to it:
|
|
9
|
+
#
|
|
10
|
+
# * **section_entry** (required): an ID of a section entry where the
|
|
11
|
+
# comments belong to.
|
|
12
|
+
# * **user_id**: the ID of the currently logged in user (if any). If this ID
|
|
13
|
+
# isn't specified the "name" and "Email" fields are required.
|
|
14
|
+
# * **comment**: the text of the comment.
|
|
15
|
+
# * **name**: the name of the author, required when the "user_id" field is
|
|
16
|
+
# empty.
|
|
17
|
+
# * **website**: the website of the user, if any.
|
|
18
|
+
# * **email**: the Email address of the user, required if the "user_id"
|
|
19
|
+
# field is empty.
|
|
20
|
+
#
|
|
21
|
+
# An example of such a form looks like the code below. Note that this block
|
|
22
|
+
# of code should be wrapped in a ``#{}`` tag.
|
|
23
|
+
#
|
|
24
|
+
# form_for(
|
|
25
|
+
# flash[:form_data],
|
|
26
|
+
# :method => :post,
|
|
27
|
+
# :action => Comments::Controller::CommentsForm.r(:save)
|
|
28
|
+
# ) do |f|
|
|
29
|
+
# if logged_in?
|
|
30
|
+
# f.input_hidden(:user_id, user.id)
|
|
31
|
+
# end
|
|
32
|
+
#
|
|
33
|
+
# f.input_hidden(:section_entry, 10)
|
|
34
|
+
#
|
|
35
|
+
# # No need to show these, they'll be filled in based on the user ID.
|
|
36
|
+
# unless logged_in?
|
|
37
|
+
# f.input_text('Name', :name)
|
|
38
|
+
# f.input_text('Email', :email)
|
|
39
|
+
# f.input_text('Website', :website)
|
|
40
|
+
# end
|
|
41
|
+
#
|
|
42
|
+
# f.textarea('Comment', :comment)
|
|
43
|
+
#
|
|
44
|
+
# f.input_submit('Submit')
|
|
45
|
+
# end
|
|
46
|
+
#
|
|
47
|
+
# In the above example ``flash[:form_data]`` is used. This controller sets
|
|
48
|
+
# two objects in the flash just like the backend controllers. These are the
|
|
49
|
+
# following two items:
|
|
50
|
+
#
|
|
51
|
+
# * **form_data**: an instance of {Comments::Model::Comment}
|
|
52
|
+
# * **form_errros**: a hash containing all errors, automatically used by
|
|
53
|
+
# ``Ramaze::Helper::BlueForm`` if the form was created using the
|
|
54
|
+
# ``form_for()`` method.
|
|
55
|
+
#
|
|
56
|
+
# Note that both these objects are only set if the comment contained invalid
|
|
57
|
+
# data or the user wasn't allowed to submit the comment.
|
|
58
|
+
#
|
|
59
|
+
# In the above example the BlueForm helper was used but you're free to use
|
|
60
|
+
# plain old HTML or another helper if you like. If you want to use a helper
|
|
61
|
+
# you'll have to load it into {Zen::Controller::MainController}. This can
|
|
62
|
+
# be done as following:
|
|
63
|
+
#
|
|
64
|
+
# Zen::Controller::MainController.helper(:some_helper_name)
|
|
65
|
+
#
|
|
66
|
+
# ## Events
|
|
67
|
+
#
|
|
68
|
+
# Just like {Comments::Controller::Comments} newly created comments are
|
|
69
|
+
# passed to an event called "new_comment".
|
|
70
|
+
#
|
|
71
|
+
# @example Logging whenever a new comment is created
|
|
72
|
+
# Zen::Event.call(:new_comment) do |comment|
|
|
73
|
+
# Ramaze::Log.info(
|
|
74
|
+
# "A new comment has been created with ID ##{comment.id}"
|
|
75
|
+
# )
|
|
76
|
+
# end
|
|
9
77
|
#
|
|
10
|
-
# @author Yorick Peterse
|
|
11
78
|
# @since 0.1
|
|
79
|
+
# @map /comments-form
|
|
80
|
+
# @event before_new_comment
|
|
81
|
+
# @event after_new_comment
|
|
12
82
|
#
|
|
13
83
|
class CommentsForm < Zen::Controller::FrontendController
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
map '/comments-form'
|
|
84
|
+
map '/comments-form'
|
|
17
85
|
helper :message
|
|
18
86
|
|
|
19
|
-
|
|
20
|
-
csrf_protection(:save) do
|
|
21
|
-
respond(lang('zen_general.errors.not_authorized'), 403)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
87
|
+
csrf_protection :save
|
|
24
88
|
|
|
25
89
|
##
|
|
26
90
|
# Creates a new comment for the section entry. Once the comment has been
|
|
27
91
|
# saved the user will be redirected back to the previous page.
|
|
28
92
|
#
|
|
29
|
-
# @author Yorick Peterse
|
|
30
93
|
# @since 0.1
|
|
94
|
+
# @event before_new_comment
|
|
95
|
+
# @event after_new_comment
|
|
31
96
|
#
|
|
32
97
|
def save
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
comment = Comment.new
|
|
98
|
+
comment = ::Comments::Model::Comment.new
|
|
36
99
|
post = request.subset(
|
|
37
100
|
:section_entry,
|
|
38
101
|
:user_id,
|
|
@@ -44,7 +107,7 @@ module Comments
|
|
|
44
107
|
|
|
45
108
|
# Get all the comment statuses.
|
|
46
109
|
comment_statuses = {}
|
|
47
|
-
draft_status = Sections::Model::SectionEntryStatus[
|
|
110
|
+
draft_status = ::Sections::Model::SectionEntryStatus[
|
|
48
111
|
:name => 'draft'
|
|
49
112
|
].id
|
|
50
113
|
|
|
@@ -71,7 +134,7 @@ module Comments
|
|
|
71
134
|
end
|
|
72
135
|
|
|
73
136
|
# Validate the section entry
|
|
74
|
-
if entry.nil? or entry.section_entry_status_id
|
|
137
|
+
if entry.nil? or entry.section_entry_status_id == draft_status
|
|
75
138
|
message(:error, lang('comments.errors.invalid_entry'))
|
|
76
139
|
redirect_referrer
|
|
77
140
|
end
|
|
@@ -86,29 +149,47 @@ module Comments
|
|
|
86
149
|
end
|
|
87
150
|
|
|
88
151
|
# Comments allowed?
|
|
89
|
-
if section.comment_allow
|
|
152
|
+
if section.comment_allow == false
|
|
90
153
|
message(:error, lang('comments.errors.comments_not_allowed'))
|
|
91
154
|
redirect_referrer
|
|
92
155
|
end
|
|
93
156
|
|
|
94
157
|
# Comments require an account?
|
|
95
|
-
if section.comment_require_account
|
|
158
|
+
if section.comment_require_account == true and !logged_in?
|
|
96
159
|
message(:error, lang('comments.errors.comments_require_account'))
|
|
97
160
|
redirect_referrer
|
|
98
161
|
end
|
|
99
162
|
|
|
100
163
|
# Require moderation?
|
|
101
|
-
if section.comment_moderate
|
|
164
|
+
if section.comment_moderate == true
|
|
102
165
|
comment.comment_status_id = comment_statuses['closed']
|
|
103
166
|
end
|
|
104
167
|
|
|
105
|
-
#
|
|
106
|
-
if
|
|
107
|
-
|
|
108
|
-
|
|
168
|
+
# Get the details for the anti spam plugin
|
|
169
|
+
if !post['user_id'].nil? and !post['user_id'].empty?
|
|
170
|
+
user = ::Users::Model::User[post['user_id']]
|
|
171
|
+
name = user.name
|
|
172
|
+
email = user.email
|
|
173
|
+
url = user.website
|
|
174
|
+
else
|
|
175
|
+
name = post['name']
|
|
176
|
+
email = post['email']
|
|
177
|
+
url = post['website']
|
|
178
|
+
end
|
|
109
179
|
|
|
110
|
-
|
|
111
|
-
|
|
180
|
+
# Require anti-spam validation?
|
|
181
|
+
if get_setting(:enable_antispam).true?
|
|
182
|
+
engine = get_setting(:anti_spam_system).value
|
|
183
|
+
spam = ::Comments::AntiSpam.validate(
|
|
184
|
+
engine,
|
|
185
|
+
name,
|
|
186
|
+
email,
|
|
187
|
+
url,
|
|
188
|
+
post['comment']
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
# Is it spam?
|
|
192
|
+
if spam == false
|
|
112
193
|
if section.comment_moderate == true
|
|
113
194
|
comment.comment_status_id = comment_statuses['closed']
|
|
114
195
|
else
|
|
@@ -121,18 +202,25 @@ module Comments
|
|
|
121
202
|
|
|
122
203
|
# Save the comment
|
|
123
204
|
begin
|
|
205
|
+
Zen::Event.call(:before_new_comment, comment)
|
|
124
206
|
comment.save
|
|
125
|
-
|
|
126
|
-
if section.comment_moderate == true
|
|
127
|
-
message(:success, lang('comments.success.moderate'))
|
|
128
|
-
else
|
|
129
|
-
message(:success, lang('comments.success.new'))
|
|
130
|
-
end
|
|
131
207
|
rescue => e
|
|
132
208
|
Ramaze::Log.error(e.inspect)
|
|
133
209
|
message(:error, lang('comments.errors.new'))
|
|
210
|
+
|
|
211
|
+
flash[:form_data] = comment
|
|
212
|
+
flash[:form_errors] = comment.errors
|
|
213
|
+
|
|
214
|
+
redirect_referrer
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
if section.comment_moderate == true
|
|
218
|
+
message(:success, lang('comments.success.moderate'))
|
|
219
|
+
else
|
|
220
|
+
message(:success, lang('comments.success.new'))
|
|
134
221
|
end
|
|
135
222
|
|
|
223
|
+
Zen::Event.call(:after_new_comment, comment)
|
|
136
224
|
redirect_referrer
|
|
137
225
|
end
|
|
138
226
|
end # CommentsForm
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
#:nodoc:
|
|
2
1
|
module Ramaze
|
|
3
2
|
#:nodoc:
|
|
4
3
|
module Helper
|
|
5
4
|
##
|
|
6
5
|
# Helper used by the comments package.
|
|
7
6
|
#
|
|
8
|
-
# @author Yorick Peterse
|
|
9
7
|
# @since 0.2.8
|
|
10
8
|
#
|
|
11
9
|
module Comment
|
|
@@ -15,7 +13,6 @@ module Ramaze
|
|
|
15
13
|
# returned, otherwise the user is redirected back to the comment overview
|
|
16
14
|
# and is shown a message.
|
|
17
15
|
#
|
|
18
|
-
# @author Yorick Peterse
|
|
19
16
|
# @since 0.2.8
|
|
20
17
|
# @param [Fixnum] comment_id The ID of the comment to validate.
|
|
21
18
|
# @return [Comments::Model::Comment]
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
module Ramaze
|
|
2
|
+
module Helper
|
|
3
|
+
##
|
|
4
|
+
# Helper that provides the means to retrieve comments in your templates.
|
|
5
|
+
#
|
|
6
|
+
# @since 0.3
|
|
7
|
+
#
|
|
8
|
+
module CommentFrontend
|
|
9
|
+
##
|
|
10
|
+
# Retrieves a list of comments by a section entry's ID or slug and
|
|
11
|
+
# optionally paginates these comments.
|
|
12
|
+
#
|
|
13
|
+
# When paginating the results the default values for the ``:var`` and
|
|
14
|
+
# ``:limit`` options are taken from
|
|
15
|
+
# ``Zen::Controller::FrontendController.ancestral_trait[:paginate]``.
|
|
16
|
+
#
|
|
17
|
+
# @example Looping over a set of comments
|
|
18
|
+
# get_comments(5).each do |comment|
|
|
19
|
+
# puts comment.html
|
|
20
|
+
# end
|
|
21
|
+
#
|
|
22
|
+
# @example Paginating the comments
|
|
23
|
+
# comments = get_comments(5, :paginate => true)
|
|
24
|
+
#
|
|
25
|
+
# comments.each do |comment|
|
|
26
|
+
# puts comment.user_name
|
|
27
|
+
# end
|
|
28
|
+
#
|
|
29
|
+
# comments.navigation
|
|
30
|
+
#
|
|
31
|
+
# @since 0.3
|
|
32
|
+
# @param [String|Fixnum] entry Either the slug of an entry or the ID of an
|
|
33
|
+
# entry for which to retrieve all comments.
|
|
34
|
+
# @param [Hash] options A hash containing various options to customize
|
|
35
|
+
# the return value.
|
|
36
|
+
# @option options [TrueClass|FalseClass] :paginate Whether or not the
|
|
37
|
+
# results should be paginated. This only works inside an action.
|
|
38
|
+
# @option options [Fixnum] :limit The amount of comments to retrieve.
|
|
39
|
+
# @option options [String] :var The name of the query string that contains
|
|
40
|
+
# the current page.
|
|
41
|
+
# @return [Mixed]
|
|
42
|
+
#
|
|
43
|
+
def get_comments(entry, options = {})
|
|
44
|
+
trait = Zen::Controller::FrontendController.ancestral_trait[:paginate]
|
|
45
|
+
options = {
|
|
46
|
+
:paginate => false,
|
|
47
|
+
:limit => trait[:limit],
|
|
48
|
+
:var => trait[:var]
|
|
49
|
+
}.merge(options)
|
|
50
|
+
|
|
51
|
+
query = Comments::Model::Comment.select_all(:comments)
|
|
52
|
+
query = query.join(
|
|
53
|
+
:comment_statuses,
|
|
54
|
+
:comments__comment_status_id => :comment_statuses__id
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
# Add the section entry to the comment so that the comments can be
|
|
58
|
+
# filtered by the IDs/slugs without having to use a separate query.
|
|
59
|
+
query = query.join(
|
|
60
|
+
:section_entries,
|
|
61
|
+
:comments__section_entry_id => :section_entries__id
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
if entry.is_a?(String)
|
|
65
|
+
query = query.filter(:section_entries__slug => entry)
|
|
66
|
+
else
|
|
67
|
+
query = query.filter(:section_entries__id => entry)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Only show comments with a status of "Open"
|
|
71
|
+
query = query.filter(:comment_statuses__name => 'open')
|
|
72
|
+
query = query.eager(:user, :section_entry)
|
|
73
|
+
|
|
74
|
+
if options[:paginate] == true and respond_to?(:paginate)
|
|
75
|
+
return paginate(
|
|
76
|
+
query,
|
|
77
|
+
:var => options[:var],
|
|
78
|
+
:limit => options[:limit]
|
|
79
|
+
)
|
|
80
|
+
else
|
|
81
|
+
if options[:limit]
|
|
82
|
+
query = query.limit(options[:limit])
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
return query
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end # CommentFrontend
|
|
89
|
+
end # Helper
|
|
90
|
+
end # Ramaze
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Zen::Language::Translation.add do |trans|
|
|
2
|
+
trans.language = 'en'
|
|
3
|
+
trans.name = 'comments'
|
|
4
|
+
|
|
5
|
+
trans.translate do |t|
|
|
6
|
+
t['titles.index'] = 'Comments'
|
|
7
|
+
t['titles.edit'] = 'Edit Comment'
|
|
8
|
+
|
|
9
|
+
t['labels.id'] = '#'
|
|
10
|
+
t['labels.website'] = 'Website'
|
|
11
|
+
t['labels.entry'] = 'Section Entry'
|
|
12
|
+
t['labels.email'] = 'Email'
|
|
13
|
+
t['labels.status'] = 'Status'
|
|
14
|
+
t['labels.comment'] = 'Comment'
|
|
15
|
+
t['labels.name'] = 'Name'
|
|
16
|
+
t['labels.created_at'] = 'Created'
|
|
17
|
+
t['labels.updated_at'] = 'Updated'
|
|
18
|
+
t['labels.defensio'] = 'Defensio'
|
|
19
|
+
t['labels.anti_spam_system'] = 'Anti-spam System'
|
|
20
|
+
t['labels.open'] = 'Open'
|
|
21
|
+
t['labels.closed'] = 'Closed'
|
|
22
|
+
t['labels.spam'] = 'Spam'
|
|
23
|
+
t['labels.defensio_key'] = 'Defensio Key'
|
|
24
|
+
|
|
25
|
+
t['messages.no_comments'] = 'No comments were found.'
|
|
26
|
+
|
|
27
|
+
t['descriptions.anti_spam_system'] = 'The anti-spam system to use for ' \
|
|
28
|
+
'validating comments.'
|
|
29
|
+
t['description.defensio_key'] = 'The API key for the Defensio anti-spam ' \
|
|
30
|
+
'system.'
|
|
31
|
+
|
|
32
|
+
t['success.new'] = 'The comment has been created.'
|
|
33
|
+
t['success.save'] = 'The comment has been modified.'
|
|
34
|
+
t['success.delete'] = 'The selected comments have been deleted.'
|
|
35
|
+
t['success.moderate'] = 'The comment has been posted but must be approved ' \
|
|
36
|
+
'by a moderator before it will be displayed.'
|
|
37
|
+
|
|
38
|
+
t['errors.new'] = 'Failed to create the new comment.'
|
|
39
|
+
t['errors.save'] = 'Failed to modify the comment.'
|
|
40
|
+
t['errors.delete'] = 'Failed to delete the comment with ID #%s.'
|
|
41
|
+
t['errors.no_delete'] = 'You need to specify a comment to delete.'
|
|
42
|
+
t['errors.invalid_entry'] = 'The specified section entry is invalid.'
|
|
43
|
+
t['errors.comments_not_allowed'] = 'Comments are not allowed for this section.'
|
|
44
|
+
t['errors.comments_require_account'] = 'You have to be logged in in order ' \
|
|
45
|
+
'to post a comment.'
|
|
46
|
+
t['errors.invalid_comment'] = 'The specified comment is invalid.'
|
|
47
|
+
|
|
48
|
+
t['buttons.delete'] = 'Delete selected comments'
|
|
49
|
+
t['buttons.save'] = 'Save comment'
|
|
50
|
+
|
|
51
|
+
t['permissions.show'] = 'Show comment'
|
|
52
|
+
t['permissions.edit'] = 'Edit comment'
|
|
53
|
+
t['permissions.delete'] = 'Delete comment'
|
|
54
|
+
|
|
55
|
+
t['description'] = 'Manage comments'
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
Zen::Language::Translation.add do |trans|
|
|
4
|
+
trans.language = 'nl'
|
|
5
|
+
trans.name = 'comments'
|
|
6
|
+
|
|
7
|
+
trans.translate do |t|
|
|
8
|
+
t['titles.index'] = 'Reacties'
|
|
9
|
+
t['titles.edit'] = 'Reactie aanpassen'
|
|
10
|
+
|
|
11
|
+
t['labels.id'] = '#'
|
|
12
|
+
t['labels.website'] = 'Website'
|
|
13
|
+
t['labels.entry'] = 'Sectie artikel'
|
|
14
|
+
t['labels.email'] = 'Email'
|
|
15
|
+
t['labels.stats'] = 'Status'
|
|
16
|
+
t['labels.comment'] = 'Reactie'
|
|
17
|
+
t['labels.name'] = 'Naam'
|
|
18
|
+
t['labels.created_at'] = 'Aangemaakt'
|
|
19
|
+
t['labels.updated_at'] = 'Aangepast'
|
|
20
|
+
t['labels.defensio'] = 'Defensio'
|
|
21
|
+
t['labels.anti_spam_system'] = 'Anti-spam systeem'
|
|
22
|
+
t['labels.open'] = 'Open'
|
|
23
|
+
t['labels.closed'] = 'Gesloten'
|
|
24
|
+
t['labels.spam'] = 'Spam'
|
|
25
|
+
t['labels.defensio_key'] = 'Defensio sleutel'
|
|
26
|
+
|
|
27
|
+
t['messages.no_comments'] = 'Er konden geen reacties worden gevonden.'
|
|
28
|
+
|
|
29
|
+
t['descriptions.anti_spam_system'] = 'Het anti-spam systeem dat gebruikt ' \
|
|
30
|
+
'moet worden voor het verifiëren van reacties.'
|
|
31
|
+
t['descriptions.defensio_key'] = 'De API sleutel voor het Defensio ' \
|
|
32
|
+
'anti-spam systeem.'
|
|
33
|
+
|
|
34
|
+
t['success.new'] = 'De reactie is aangemaakt.'
|
|
35
|
+
t['success.save'] = 'De reactie is aangepast.'
|
|
36
|
+
t['success.delete'] = 'De geselecteerde reacties zijn verwijderd.'
|
|
37
|
+
t['success.moderate'] = 'De reactie is aangemaakt en zal worden ' \
|
|
38
|
+
'weergegeven zodra deze is goedgekeurd.'
|
|
39
|
+
|
|
40
|
+
t['errors.new'] = 'De reactie kon niet worden aangemaakt.'
|
|
41
|
+
t['errors.save'] = 'De reactie kon niet worden aangepast.'
|
|
42
|
+
t['errors.delete'] = 'De reactie met ID #%s kon niet worden verwijderd.'
|
|
43
|
+
t['errors.no_delete'] = 'U moet een reactie opgeven om te verwijderen.'
|
|
44
|
+
t['errors.invalid_entry'] = 'Het opgegeven artikel is ongeldig.'
|
|
45
|
+
|
|
46
|
+
t['errors.comments_not_allowed'] = 'Reacties zijn niet toegestaan voor ' \
|
|
47
|
+
'deze sectie.'
|
|
48
|
+
t['errors.comments_require_account'] = 'U moet ingelogd zijn om een ' \
|
|
49
|
+
'reactie te kunnen plaatsen.'
|
|
50
|
+
t['errors.invalid_comment'] = 'De opgegeven reactie is ongeldig.'
|
|
51
|
+
|
|
52
|
+
t['buttons.delete'] = 'Reacties verwijderen'
|
|
53
|
+
t['buttons.save'] = 'Reactie opslaan'
|
|
54
|
+
|
|
55
|
+
t['permissions.show'] = 'Reactie weergeven'
|
|
56
|
+
t['permissions.edit'] = 'Reactie aanpassen'
|
|
57
|
+
t['permissions.delete'] = 'Reactie verwijderen'
|
|
58
|
+
|
|
59
|
+
t['description'] = 'Reacties beheren'
|
|
60
|
+
end
|
|
61
|
+
end
|