zen 0.1a → 0.2
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/CHANGELOG.md +17 -0
- data/MANIFEST +161 -264
- data/README.md +114 -0
- data/ROADMAP.md +31 -0
- data/Thorfile +8 -0
- data/lib/zen.rb +13 -10
- data/lib/zen/base/database.rb +34 -28
- data/lib/zen/base/language.rb +174 -92
- data/lib/zen/base/logger.rb +8 -6
- data/lib/zen/base/package.rb +36 -29
- data/lib/zen/base/version.rb +2 -1
- data/lib/zen/bin/zen_binary.rb +7 -71
- data/lib/zen/controller/admin_controller.rb +31 -11
- data/lib/zen/controller/base_controller.rb +13 -13
- data/lib/zen/controller/frontend_controller.rb +2 -0
- data/lib/zen/controller/main_controller.rb +9 -8
- data/lib/zen/helper/acl.rb +4 -1
- data/lib/zen/helper/asset.rb +5 -3
- data/lib/zen/helper/breadcrumb.rb +10 -8
- data/lib/zen/helper/common.rb +28 -13
- data/lib/zen/language/en/zen_general.yml +31 -0
- data/lib/zen/language/en/zen_models.yml +13 -0
- data/lib/zen/layout/admin.xhtml +76 -68
- data/lib/zen/layout/login.xhtml +48 -42
- data/lib/zen/liquid/controller_behavior.rb +2 -0
- data/lib/zen/liquid/general.rb +60 -9
- data/lib/zen/liquid/redirect.rb +29 -6
- data/lib/zen/liquid/strip.rb +3 -1
- data/lib/zen/model/methods.rb +7 -5
- data/lib/zen/model/settings.rb +69 -18
- data/lib/zen/package/all.rb +7 -0
- data/lib/zen/{packages → package}/categories/lib/categories.rb +3 -3
- data/lib/zen/package/categories/lib/categories/controller/categories.rb +250 -0
- data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +216 -0
- data/lib/zen/package/categories/lib/categories/language/en/categories.yml +35 -0
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +32 -0
- data/lib/zen/package/categories/lib/categories/liquid/categories.rb +16 -0
- data/lib/zen/{packages → package}/categories/lib/categories/model/category.rb +9 -9
- data/lib/zen/{packages → package}/categories/lib/categories/model/category_group.rb +6 -4
- data/lib/zen/package/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
- data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +59 -0
- data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +78 -0
- data/lib/zen/package/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/edit.xhtml +7 -0
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +31 -0
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +85 -0
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/new.xhtml +7 -0
- data/lib/zen/{packages → package}/categories/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/categories/migrations/1295282303_create_schema.rb +3 -2
- data/lib/zen/{packages → package}/comments/lib/comments.rb +1 -1
- data/lib/zen/{packages → package}/comments/lib/comments/controller/comments.rb +81 -41
- data/lib/zen/{packages → package}/comments/lib/comments/controller/comments_form.rb +15 -13
- data/lib/zen/package/comments/lib/comments/language/en/comments.yml +42 -0
- data/lib/zen/{packages → package}/comments/lib/comments/liquid/comment_form.rb +43 -13
- data/lib/zen/{packages → package}/comments/lib/comments/liquid/comments.rb +10 -12
- data/lib/zen/{packages → package}/comments/lib/comments/model/comment.rb +24 -0
- data/lib/zen/package/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
- data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +57 -0
- data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +79 -0
- data/lib/zen/{packages → package}/comments/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/comments/migrations/1295282202_create_schema.rb +6 -4
- data/lib/zen/{packages → package}/custom_fields/lib/custom_fields.rb +2 -2
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +224 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +259 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +32 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +52 -0
- data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field.rb +12 -7
- data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_group.rb +14 -4
- data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_value.rb +4 -2
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/edit.xhtml +7 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +30 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +100 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/new.xhtml +7 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/edit.xhtml +7 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +107 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +84 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/new.xhtml +7 -0
- data/lib/zen/{packages → package}/custom_fields/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/custom_fields/migrations/1295255665_create_schema.rb +8 -7
- data/lib/zen/package/menus/lib/menus.rb +59 -0
- data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +244 -0
- data/lib/zen/package/menus/lib/menus/controller/menus.rb +231 -0
- data/lib/zen/package/menus/lib/menus/helper/menu_item.rb +93 -0
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +41 -0
- data/lib/zen/package/menus/lib/menus/language/en/menus.yml +39 -0
- data/lib/zen/package/menus/lib/menus/liquid/menus.rb +152 -0
- data/lib/zen/package/menus/lib/menus/model/menu.rb +38 -0
- data/lib/zen/package/menus/lib/menus/model/menu_item.rb +33 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/edit.xhtml +7 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +64 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +84 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/new.xhtml +7 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menus/edit.xhtml +7 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +42 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +95 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menus/new.xhtml +7 -0
- data/lib/zen/{packages/sections → package/menus}/migrations/.gitkeep +0 -0
- data/lib/zen/package/menus/migrations/1297184342_create_schema.rb +33 -0
- data/lib/zen/{packages → package}/sections/lib/sections.rb +0 -0
- data/lib/zen/{packages → package}/sections/lib/sections/controller/section_entries.rb +132 -68
- data/lib/zen/{packages → package}/sections/lib/sections/controller/sections.rb +96 -48
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +43 -0
- data/lib/zen/package/sections/lib/sections/language/en/sections.yml +48 -0
- data/lib/zen/{packages → package}/sections/lib/sections/liquid/section_entries.rb +55 -43
- data/lib/zen/{packages → package}/sections/lib/sections/liquid/sections.rb +9 -8
- data/lib/zen/package/sections/lib/sections/model/section.rb +62 -0
- data/lib/zen/package/sections/lib/sections/model/section_entry.rb +53 -0
- data/lib/zen/package/sections/lib/sections/view/admin/edit.xhtml +7 -0
- data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +107 -0
- data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +93 -0
- data/lib/zen/package/sections/lib/sections/view/admin/new.xhtml +7 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/edit.xhtml +7 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +233 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +82 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/new.xhtml +7 -0
- data/lib/zen/{packages/settings → package/sections}/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/sections/migrations/1295251836_create_schema.rb +6 -6
- data/lib/zen/{packages → package}/settings/lib/settings.rb +0 -0
- data/lib/zen/{packages → package}/settings/lib/settings/controller/settings.rb +33 -24
- data/lib/zen/package/settings/lib/settings/language/en/settings.yml +26 -0
- data/lib/zen/{packages → package}/settings/lib/settings/liquid/setting.rb +5 -3
- data/lib/zen/package/settings/lib/settings/model/setting.rb +113 -0
- data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +111 -0
- data/lib/zen/{packages/users → package/settings}/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/settings/migrations/1295597111_create_schema.rb +2 -2
- data/lib/zen/package/settings/migrations/1299538742_add_language_key.rb +62 -0
- data/lib/zen/{packages → package}/users/lib/users.rb +6 -2
- data/lib/zen/package/users/lib/users/controller/access_rules.rb +238 -0
- data/lib/zen/package/users/lib/users/controller/user_groups.rb +217 -0
- data/lib/zen/{packages → package}/users/lib/users/controller/users.rb +115 -57
- data/lib/zen/package/users/lib/users/language/en/access_rules.yml +35 -0
- data/lib/zen/package/users/lib/users/language/en/user_groups.yml +31 -0
- data/lib/zen/package/users/lib/users/language/en/users.yml +50 -0
- data/lib/zen/{packages → package}/users/lib/users/liquid/user.rb +8 -6
- data/lib/zen/{packages → package}/users/lib/users/liquid/users.rb +5 -3
- data/lib/zen/{packages → package}/users/lib/users/model/access_rule.rb +11 -3
- data/lib/zen/{packages → package}/users/lib/users/model/user.rb +5 -1
- data/lib/zen/{packages → package}/users/lib/users/model/user_group.rb +6 -3
- data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +42 -0
- data/lib/zen/package/users/lib/users/view/admin/access-rules/edit.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +108 -0
- data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +93 -0
- data/lib/zen/package/users/lib/users/view/admin/access-rules/new.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/edit.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +37 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +76 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/new.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/users/edit.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +53 -0
- data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +81 -0
- data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +27 -0
- data/lib/zen/package/users/lib/users/view/admin/users/new.xhtml +7 -0
- data/{pkg → lib/zen/package/users/migrations}/.gitkeep +0 -0
- data/lib/zen/{packages → package}/users/migrations/1295281013_create_schema.rb +2 -2
- data/lib/zen/public/admin/css/boilerplate.css +62 -60
- data/lib/zen/public/admin/css/buttons.css +46 -0
- data/lib/zen/public/admin/css/datepicker.css +163 -0
- data/lib/zen/public/admin/css/editor.css +91 -0
- data/lib/zen/public/admin/css/forms.css +68 -0
- data/lib/zen/public/admin/css/general.css +34 -419
- data/lib/zen/public/admin/css/grid.css +26 -26
- data/lib/zen/public/admin/css/layout.css +73 -62
- data/lib/zen/public/admin/css/modals.css +63 -0
- data/lib/zen/public/admin/css/notifications.css +84 -0
- data/lib/zen/public/admin/css/tables.css +71 -0
- data/lib/zen/public/admin/css/tabs.css +53 -0
- data/lib/zen/public/admin/js/mootools/more.js +139 -51
- data/lib/zen/public/admin/js/vendor/datepicker/Picker.Attach.js +137 -0
- data/lib/zen/public/admin/js/vendor/datepicker/Picker.Date.js +576 -0
- data/lib/zen/public/admin/js/vendor/datepicker/Picker.js +291 -0
- data/lib/zen/public/admin/js/vendor/datepicker/README.md +325 -0
- data/lib/zen/public/admin/js/vendor/datepicker/locale.js +16 -0
- data/lib/zen/public/admin/js/zen/editor/base.js +173 -183
- data/lib/zen/public/admin/js/zen/editor/drivers/html.js +74 -89
- data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +72 -87
- data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +72 -87
- data/lib/zen/public/admin/js/zen/init.js +65 -51
- data/lib/zen/public/admin/js/zen/modal.js +108 -121
- data/lib/zen/public/admin/js/zen/notification.js +163 -165
- data/lib/zen/public/admin/js/zen/tabs.js +203 -210
- data/lib/zen/task/build.rb +123 -0
- data/lib/zen/task/clean.rb +46 -0
- data/lib/zen/task/db.rb +120 -0
- data/lib/zen/task/package.rb +82 -0
- data/lib/zen/task/proto.rb +116 -0
- data/{LICENSE → license.txt} +2 -2
- data/proto/app/Thorfile +4 -0
- data/proto/app/config/middlewares.rb +3 -3
- data/proto/app/config/requires.rb +1 -6
- data/proto/app/start.rb +5 -10
- data/{lib/zen/packages/settings → proto/package}/LICENSE +0 -0
- data/{lib/zen/packages/categories → proto/package}/README.textile +0 -0
- data/proto/package/lib/package.rb +41 -0
- data/proto/{module/lib/module → package/lib/package}/controller/controllers.rb +3 -2
- data/proto/{module/lib/module → package/lib/package}/language/en/languages.rb +0 -0
- data/proto/{module/lib/module → package/lib/package}/model/model.rb +0 -0
- data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/edit.xhtml +0 -0
- data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/form.xhtml +0 -0
- data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/index.xhtml +0 -0
- data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/new.xhtml +0 -0
- data/proto/{module → package}/migrations/.gitkeep +0 -0
- metadata +199 -280
- data/README.textile +0 -42
- data/Rakefile +0 -6
- data/doc/Categories.html +0 -93
- data/doc/Categories/Controllers.html +0 -93
- data/doc/Categories/Controllers/Categories.html +0 -995
- data/doc/Categories/Controllers/CategoryGroups.html +0 -878
- data/doc/Categories/Models.html +0 -97
- data/doc/Categories/Models/Category.html +0 -269
- data/doc/Categories/Models/CategoryGroup.html +0 -231
- data/doc/Comments.html +0 -93
- data/doc/Comments/Controllers.html +0 -93
- data/doc/Comments/Controllers/Comments.html +0 -797
- data/doc/Comments/Controllers/CommentsForm.html +0 -487
- data/doc/Comments/Liquid.html +0 -93
- data/doc/Comments/Liquid/CommentForm.html +0 -522
- data/doc/Comments/Liquid/Comments.html +0 -543
- data/doc/Comments/Models.html +0 -95
- data/doc/Comments/Models/Comment.html +0 -260
- data/doc/CustomFields.html +0 -93
- data/doc/CustomFields/Controllers.html +0 -93
- data/doc/CustomFields/Controllers/CustomFieldGroups.html +0 -902
- data/doc/CustomFields/Controllers/CustomFields.html +0 -974
- data/doc/CustomFields/Models.html +0 -97
- data/doc/CustomFields/Models/CustomField.html +0 -272
- data/doc/CustomFields/Models/CustomFieldGroup.html +0 -259
- data/doc/CustomFields/Models/CustomFieldValue.html +0 -154
- data/doc/Ramaze.html +0 -93
- data/doc/Ramaze/Helper.html +0 -93
- data/doc/Ramaze/Helper/ACL.html +0 -531
- data/doc/Ramaze/Helper/Asset.html +0 -617
- data/doc/Ramaze/Helper/Breadcrumb.html +0 -411
- data/doc/Ramaze/Helper/Common.html +0 -738
- data/doc/Sections.html +0 -93
- data/doc/Sections/Controllers.html +0 -93
- data/doc/Sections/Controllers/SectionEntries.html +0 -1100
- data/doc/Sections/Controllers/Sections.html +0 -953
- data/doc/Sections/Liquid.html +0 -93
- data/doc/Sections/Liquid/SectionEntries.html +0 -674
- data/doc/Sections/Liquid/Sections.html +0 -494
- data/doc/Sections/Models.html +0 -97
- data/doc/Sections/Models/Section.html +0 -272
- data/doc/Sections/Models/SectionEntry.html +0 -264
- data/doc/Sequel.html +0 -91
- data/doc/Sequel/Model.html +0 -243
- data/doc/Settings.html +0 -93
- data/doc/Settings/Controllers.html +0 -91
- data/doc/Settings/Controllers/Settings.html +0 -565
- data/doc/Settings/Liquid.html +0 -91
- data/doc/Settings/Liquid/Setting.html +0 -426
- data/doc/Settings/Models.html +0 -95
- data/doc/Settings/Models/Setting.html +0 -293
- data/doc/Users.html +0 -93
- data/doc/Users/Controllers.html +0 -93
- data/doc/Users/Controllers/AccessRules.html +0 -904
- data/doc/Users/Controllers/UserGroups.html +0 -879
- data/doc/Users/Controllers/Users.html +0 -1124
- data/doc/Users/Liquid.html +0 -93
- data/doc/Users/Liquid/User.html +0 -480
- data/doc/Users/Liquid/Users.html +0 -495
- data/doc/Users/Models.html +0 -97
- data/doc/Users/Models/AccessRule.html +0 -257
- data/doc/Users/Models/User.html +0 -649
- data/doc/Users/Models/UserGroup.html +0 -267
- data/doc/Zen.html +0 -391
- data/doc/Zen/Bin.html +0 -113
- data/doc/Zen/Bin/Base.html +0 -727
- data/doc/Zen/Controllers.html +0 -115
- data/doc/Zen/Controllers/AdminController.html +0 -298
- data/doc/Zen/Controllers/BaseController.html +0 -272
- data/doc/Zen/Controllers/FrontendController.html +0 -164
- data/doc/Zen/Controllers/MainController.html +0 -421
- data/doc/Zen/Database.html +0 -498
- data/doc/Zen/Language.html +0 -660
- data/doc/Zen/Liquid.html +0 -117
- data/doc/Zen/Liquid/ControllerBehavior.html +0 -448
- data/doc/Zen/Liquid/General.html +0 -444
- data/doc/Zen/Liquid/Redirect.html +0 -435
- data/doc/Zen/Liquid/Strip.html +0 -447
- data/doc/Zen/Logger.html +0 -393
- data/doc/Zen/Package.html +0 -909
- data/doc/_index.html +0 -724
- data/doc/class_list.html +0 -36
- data/doc/css/common.css +0 -1
- data/doc/css/full_list.css +0 -53
- data/doc/css/style.css +0 -310
- data/doc/file.README.html +0 -86
- data/doc/file_list.html +0 -38
- data/doc/frames.html +0 -13
- data/doc/index.html +0 -86
- data/doc/js/app.js +0 -203
- data/doc/js/full_list.js +0 -149
- data/doc/js/jquery.js +0 -154
- data/doc/method_list.html +0 -1139
- data/doc/top-level-namespace.html +0 -88
- data/lib/zen/language/en/zen_general.rb +0 -21
- data/lib/zen/language/en/zen_models.rb +0 -39
- data/lib/zen/packages/categories/LICENSE +0 -19
- data/lib/zen/packages/categories/lib/categories/controller/categories.rb +0 -202
- data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +0 -173
- data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +0 -38
- data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +0 -37
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +0 -7
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +0 -36
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +0 -70
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +0 -7
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +0 -7
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +0 -18
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +0 -72
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +0 -7
- data/lib/zen/packages/comments/LICENSE +0 -19
- data/lib/zen/packages/comments/README.textile +0 -0
- data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +0 -52
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +0 -7
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +0 -31
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +0 -74
- data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +0 -11
- data/lib/zen/packages/custom_fields/LICENSE +0 -19
- data/lib/zen/packages/custom_fields/README.textile +0 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +0 -179
- data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +0 -194
- data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +0 -45
- data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +0 -64
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +0 -7
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +0 -18
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +0 -88
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +0 -7
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +0 -7
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +0 -50
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +0 -75
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +0 -7
- data/lib/zen/packages/sections/LICENSE +0 -19
- data/lib/zen/packages/sections/README.textile +0 -43
- data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +0 -58
- data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +0 -63
- data/lib/zen/packages/sections/lib/sections/model/section.rb +0 -43
- data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +0 -43
- data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +0 -7
- data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +0 -54
- data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +0 -77
- data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +0 -7
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +0 -7
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +0 -147
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +0 -74
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +0 -7
- data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +0 -18
- data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +0 -11
- data/lib/zen/packages/settings/README.textile +0 -0
- data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +0 -56
- data/lib/zen/packages/settings/lib/settings/model/setting.rb +0 -38
- data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +0 -79
- data/lib/zen/packages/users/LICENSE +0 -19
- data/lib/zen/packages/users/README.textile +0 -0
- data/lib/zen/packages/users/lib/users/controller/access_rules.rb +0 -186
- data/lib/zen/packages/users/lib/users/controller/user_groups.rb +0 -171
- data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +0 -49
- data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +0 -42
- data/lib/zen/packages/users/lib/users/language/en/users.rb +0 -63
- data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +0 -43
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +0 -68
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +0 -85
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +0 -19
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +0 -69
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +0 -25
- data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +0 -73
- data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +0 -22
- data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +0 -7
- data/lib/zen/tasks.rb +0 -6
- data/proto/app/Rakefile +0 -2
- data/proto/module/LICENSE +0 -0
- data/proto/module/README.textile +0 -0
- data/proto/module/lib/module.rb +0 -15
- data/spec/javascript/css/base.css +0 -177
- data/spec/javascript/css/style.css +0 -204
- data/spec/javascript/css/typography.css +0 -70
- data/spec/javascript/editor/index.html +0 -65
- data/spec/javascript/images/close.png +0 -0
- data/spec/javascript/images/info.png +0 -0
- data/spec/javascript/js/editor.js +0 -16
- data/spec/javascript/js/modal.js +0 -12
- data/spec/javascript/js/namespace.js +0 -2
- data/spec/javascript/js/notification.js +0 -43
- data/spec/javascript/js/tabs.js +0 -8
- data/spec/javascript/modal/index.html +0 -45
- data/spec/javascript/notification/index.html +0 -48
- data/spec/javascript/tabs/index.html +0 -73
- data/spec/javascript/tabs/tab_1.html +0 -1
- data/spec/javascript/tabs/tab_2.html +0 -1
- data/spec/zen/base/language.rb +0 -31
- data/spec/zen/base/logger.rb +0 -34
- data/spec/zen/base/package.rb +0 -47
- data/spec/zen/config/database.rb +0 -8
- data/spec/zen/helper/asset.rb +0 -26
- data/spec/zen/helper/breadcrumb.rb +0 -24
- data/spec/zen/language/en/general.rb +0 -4
- data/spec/zen/language/nl/general.rb +0 -4
- data/spec/zen/liquid/general.rb +0 -42
- data/spec/zen/logs/.gitkeep +0 -0
- data/spec/zen/spec.rb +0 -9
- data/spec/zen/spec_database.db +0 -0
- data/tasks/bacon.rake +0 -99
- data/tasks/build.rake +0 -72
- data/tasks/clean.rake +0 -18
- data/tasks/db.rake +0 -81
- data/tasks/doc.rake +0 -5
- data/tasks/extension.rake +0 -65
- data/tasks/proto.rake +0 -37
- data/tasks/theme.rake +0 -63
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
#:nodoc:
|
|
1
2
|
module Sections
|
|
3
|
+
#:nodoc:
|
|
2
4
|
module Controllers
|
|
3
5
|
##
|
|
4
6
|
# Sections can be seen as mini applications inside your website.
|
|
@@ -13,15 +15,14 @@ module Sections
|
|
|
13
15
|
# @since 0.1
|
|
14
16
|
#
|
|
15
17
|
class Sections < Zen::Controllers::AdminController
|
|
16
|
-
map '/admin'
|
|
17
|
-
|
|
18
|
-
trait :extension_identifier => 'com.zen.sections'
|
|
19
|
-
|
|
20
18
|
include ::Sections::Models
|
|
19
|
+
|
|
20
|
+
map '/admin'
|
|
21
|
+
trait :extension_identifier => 'com.zen.sections'
|
|
21
22
|
|
|
22
23
|
before_all do
|
|
23
|
-
csrf_protection
|
|
24
|
-
respond(
|
|
24
|
+
csrf_protection(:save, :delete) do
|
|
25
|
+
respond(lang('zen_general.errors.csrf'), 403)
|
|
25
26
|
end
|
|
26
27
|
end
|
|
27
28
|
|
|
@@ -29,39 +30,45 @@ module Sections
|
|
|
29
30
|
# Constructor method, called upon initialization. It's used to set the
|
|
30
31
|
# URL to which forms send their data and load the language pack.
|
|
31
32
|
#
|
|
33
|
+
# This method loads the following language files:
|
|
34
|
+
#
|
|
35
|
+
# * sections
|
|
36
|
+
#
|
|
32
37
|
# @author Yorick Peterse
|
|
33
38
|
# @since 0.1
|
|
34
39
|
#
|
|
35
40
|
def initialize
|
|
36
41
|
super
|
|
37
42
|
|
|
38
|
-
@form_save_url =
|
|
39
|
-
@form_delete_url =
|
|
40
|
-
|
|
43
|
+
@form_save_url = Sections.r(:save)
|
|
44
|
+
@form_delete_url = Sections.r(:delete)
|
|
45
|
+
|
|
46
|
+
Zen::Language.load('sections')
|
|
41
47
|
|
|
42
48
|
# Set the page title
|
|
43
49
|
if !action.method.nil?
|
|
44
|
-
method
|
|
45
|
-
|
|
46
|
-
if @sections_lang.titles.key? method
|
|
47
|
-
@page_title = @sections_lang.titles[method]
|
|
48
|
-
end
|
|
50
|
+
method = action.method.to_sym
|
|
51
|
+
@page_title = lang("sections.titles.#{method}") rescue nil
|
|
49
52
|
end
|
|
50
53
|
end
|
|
51
54
|
|
|
52
55
|
##
|
|
53
56
|
# Show an overview of all existing sections. Using this overview a user
|
|
54
57
|
# can manage an existing section, delete it or create a new one.
|
|
58
|
+
#
|
|
59
|
+
# This method requires the following permissions:
|
|
60
|
+
#
|
|
61
|
+
# * read
|
|
55
62
|
#
|
|
56
63
|
# @author Yorick Peterse
|
|
57
64
|
# @since 0.1
|
|
58
65
|
#
|
|
59
66
|
def index
|
|
60
67
|
if !user_authorized?([:read])
|
|
61
|
-
respond(
|
|
68
|
+
respond(lang('zen_general.errors.not_authorized'), 403)
|
|
62
69
|
end
|
|
63
70
|
|
|
64
|
-
set_breadcrumbs
|
|
71
|
+
set_breadcrumbs(lang('sections.titles.index'))
|
|
65
72
|
|
|
66
73
|
@sections = Section.all
|
|
67
74
|
end
|
|
@@ -69,34 +76,55 @@ module Sections
|
|
|
69
76
|
##
|
|
70
77
|
# Show a form that lets the user edit an existing section.
|
|
71
78
|
#
|
|
79
|
+
# This method requires the following permissions:
|
|
80
|
+
#
|
|
81
|
+
# * read
|
|
82
|
+
# * update
|
|
83
|
+
#
|
|
72
84
|
# @author Yorick Peterse
|
|
73
85
|
# @param [Integer] id The ID of the section to retrieve so that we can edit it.
|
|
74
86
|
# @since 0.1
|
|
75
87
|
#
|
|
76
88
|
def edit id
|
|
77
89
|
if !user_authorized?([:read, :update])
|
|
78
|
-
respond(
|
|
90
|
+
respond(lang('zen_general.errors.not_authorized'), 403)
|
|
79
91
|
end
|
|
80
92
|
|
|
81
|
-
set_breadcrumbs
|
|
93
|
+
set_breadcrumbs(
|
|
94
|
+
anchor_to(lang('sections.titles.index'), Sections.r(:index)),
|
|
95
|
+
@page_title
|
|
96
|
+
)
|
|
82
97
|
|
|
83
98
|
@custom_field_group_pk_hash = CustomFields::Models::CustomFieldGroup.pk_hash(:name)
|
|
84
99
|
@category_group_pk_hash = Categories::Models::CategoryGroup.pk_hash(:name)
|
|
85
|
-
|
|
100
|
+
|
|
101
|
+
if flash[:form_data]
|
|
102
|
+
@section = flash[:form_data]
|
|
103
|
+
else
|
|
104
|
+
@section = Section[id.to_i]
|
|
105
|
+
end
|
|
86
106
|
end
|
|
87
107
|
|
|
88
108
|
##
|
|
89
109
|
# Show a form that lets the user create a new section.
|
|
90
110
|
#
|
|
111
|
+
# This method requires the following permissions:
|
|
112
|
+
#
|
|
113
|
+
# * create
|
|
114
|
+
# * read
|
|
115
|
+
#
|
|
91
116
|
# @author Yorick Peterse
|
|
92
117
|
# @since 0.1
|
|
93
118
|
#
|
|
94
119
|
def new
|
|
95
120
|
if !user_authorized?([:create, :read])
|
|
96
|
-
respond(
|
|
121
|
+
respond(lang('zen_general.errors.not_authorized'), 403)
|
|
97
122
|
end
|
|
98
123
|
|
|
99
|
-
set_breadcrumbs
|
|
124
|
+
set_breadcrumbs(
|
|
125
|
+
anchor_to(lang('sections.titles.index'), Sections.r(:index)),
|
|
126
|
+
@page_title
|
|
127
|
+
)
|
|
100
128
|
|
|
101
129
|
@custom_field_group_pk_hash = CustomFields::Models::CustomFieldGroup.pk_hash(:name)
|
|
102
130
|
@category_group_pk_hash = Categories::Models::CategoryGroup.pk_hash(:name)
|
|
@@ -108,43 +136,47 @@ module Sections
|
|
|
108
136
|
# the proper URL. Based on the value of a hidden field named "id" we'll determine
|
|
109
137
|
# if the data will be used to create a new section or to update an existing one.
|
|
110
138
|
#
|
|
139
|
+
# This method requires the following permissions:
|
|
140
|
+
#
|
|
141
|
+
# * create
|
|
142
|
+
# * update
|
|
143
|
+
#
|
|
111
144
|
# @author Yorick Peterse
|
|
112
145
|
# @since 0.1
|
|
113
146
|
#
|
|
114
147
|
def save
|
|
115
148
|
if !user_authorized?([:create, :update])
|
|
116
|
-
respond(
|
|
149
|
+
respond(lang('zen_general.errors.not_authorized'), 403)
|
|
117
150
|
end
|
|
118
151
|
|
|
119
152
|
post = request.params.dup
|
|
120
|
-
|
|
121
|
-
post.each do |key, value|
|
|
122
|
-
post.delete(key) if value.empty?
|
|
123
|
-
end
|
|
124
153
|
|
|
125
|
-
if post[
|
|
126
|
-
@section = Section[post[
|
|
154
|
+
if post['id'] and !post['id'].empty?
|
|
155
|
+
@section = Section[post['id']]
|
|
127
156
|
save_action = :save
|
|
128
157
|
else
|
|
129
158
|
@section = Section.new
|
|
130
159
|
save_action = :new
|
|
131
160
|
end
|
|
132
161
|
|
|
133
|
-
flash_success =
|
|
134
|
-
flash_error =
|
|
162
|
+
flash_success = lang("sections.success.#{save_action}")
|
|
163
|
+
flash_error = lang("sections.errors.#{save_action}")
|
|
135
164
|
|
|
136
165
|
# The primary keys have to be integers otherwise Sequel will soil it's pants
|
|
137
|
-
if !post[
|
|
138
|
-
post[
|
|
166
|
+
if !post['custom_field_group_pks'].nil?
|
|
167
|
+
post['custom_field_group_pks'].map! { |value| value.to_i }
|
|
139
168
|
else
|
|
140
|
-
post[
|
|
169
|
+
post['custom_field_group_pks'] = []
|
|
141
170
|
end
|
|
142
171
|
|
|
143
|
-
if !post[
|
|
144
|
-
post[
|
|
172
|
+
if !post['category_group_pks'].nil?
|
|
173
|
+
post['category_group_pks'].map! { |value| value.to_i }
|
|
145
174
|
else
|
|
146
|
-
post[
|
|
175
|
+
post['category_group_pks'] = []
|
|
147
176
|
end
|
|
177
|
+
|
|
178
|
+
# Auto generate the slug if it's empty
|
|
179
|
+
post.delete('slug') if post['slug'].empty?
|
|
148
180
|
|
|
149
181
|
begin
|
|
150
182
|
@section.update(post)
|
|
@@ -154,15 +186,16 @@ module Sections
|
|
|
154
186
|
@section.category_group_pks = post['category_group_pks']
|
|
155
187
|
end
|
|
156
188
|
|
|
157
|
-
notification(:success,
|
|
189
|
+
notification(:success, lang('sections.titles.index'), flash_success)
|
|
158
190
|
rescue
|
|
159
|
-
notification(:error,
|
|
191
|
+
notification(:error, lang('sections.titles.index'), flash_error)
|
|
160
192
|
|
|
193
|
+
flash[:form_data] = @section
|
|
161
194
|
flash[:form_errors] = @section.errors
|
|
162
195
|
end
|
|
163
196
|
|
|
164
197
|
if @section.id
|
|
165
|
-
redirect
|
|
198
|
+
redirect(Sections.r(:edit, @section.id))
|
|
166
199
|
else
|
|
167
200
|
redirect_referrer
|
|
168
201
|
end
|
|
@@ -174,27 +207,42 @@ module Sections
|
|
|
174
207
|
# a field named "section_ids[]". This field should contain the primary values of
|
|
175
208
|
# each section that has to be deleted.
|
|
176
209
|
#
|
|
210
|
+
# This method requires the following permissions:
|
|
211
|
+
#
|
|
212
|
+
# * delete
|
|
213
|
+
#
|
|
177
214
|
# @author Yorick Peterse
|
|
178
215
|
# @since 0.1
|
|
179
216
|
#
|
|
180
217
|
def delete
|
|
181
218
|
if !user_authorized?([:delete])
|
|
182
|
-
respond(
|
|
219
|
+
respond(lang('zen_general.errors.not_authorized'), 403)
|
|
183
220
|
end
|
|
184
221
|
|
|
185
|
-
if !request.params[
|
|
186
|
-
notification(
|
|
222
|
+
if !request.params['section_ids'] or request.params['section_ids'].empty?
|
|
223
|
+
notification(
|
|
224
|
+
:error,
|
|
225
|
+
lang('sections.titles.index'),
|
|
226
|
+
lang('sections.errors.no_delete')
|
|
227
|
+
)
|
|
228
|
+
|
|
187
229
|
redirect_referrer
|
|
188
230
|
end
|
|
189
231
|
|
|
190
|
-
request.params[
|
|
191
|
-
@section = Section[id]
|
|
192
|
-
|
|
232
|
+
request.params['section_ids'].each do |id|
|
|
193
233
|
begin
|
|
194
|
-
|
|
195
|
-
notification(
|
|
234
|
+
Section[id.to_i].destroy
|
|
235
|
+
notification(
|
|
236
|
+
:success,
|
|
237
|
+
lang('sections.titles.index'),
|
|
238
|
+
lang('sections.success.delete')
|
|
239
|
+
)
|
|
196
240
|
rescue
|
|
197
|
-
notification(
|
|
241
|
+
notification(
|
|
242
|
+
:error,
|
|
243
|
+
lang('sections.titles.index'),
|
|
244
|
+
lang('sections.errors.delete') % id
|
|
245
|
+
)
|
|
198
246
|
end
|
|
199
247
|
end
|
|
200
248
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
titles:
|
|
3
|
+
index : 'Entries'
|
|
4
|
+
edit : 'EditEntry'
|
|
5
|
+
new : 'AddEntry'
|
|
6
|
+
|
|
7
|
+
labels:
|
|
8
|
+
id : '#'
|
|
9
|
+
title : 'Title'
|
|
10
|
+
slug : 'Slug'
|
|
11
|
+
status : 'Status'
|
|
12
|
+
created_at : 'Created at'
|
|
13
|
+
updated_at : 'Updated at'
|
|
14
|
+
author : 'Author'
|
|
15
|
+
|
|
16
|
+
special:
|
|
17
|
+
status_hash:
|
|
18
|
+
draft : 'Draft'
|
|
19
|
+
published : 'Published'
|
|
20
|
+
|
|
21
|
+
tabs:
|
|
22
|
+
basic : 'Basic'
|
|
23
|
+
categories : 'Categories'
|
|
24
|
+
|
|
25
|
+
messages:
|
|
26
|
+
no_entries : 'No section entries have been created.'
|
|
27
|
+
no_categories : 'No categories have been assigned to the current section.'
|
|
28
|
+
|
|
29
|
+
errors:
|
|
30
|
+
new : 'Failed to create a new section entry.'
|
|
31
|
+
save : 'Failed to save the section entry.'
|
|
32
|
+
delete : 'Failed to delete the section entry with ID#%s'
|
|
33
|
+
no_delete : "You haven't specified any section entries to delete."
|
|
34
|
+
|
|
35
|
+
success:
|
|
36
|
+
new : 'The new section entry has been created.'
|
|
37
|
+
save : 'The section entry has been modified.'
|
|
38
|
+
delete : 'All selected entries have been deleted.'
|
|
39
|
+
|
|
40
|
+
buttons:
|
|
41
|
+
new : 'Add section entry'
|
|
42
|
+
delete : 'Delete selected entries'
|
|
43
|
+
save : 'Save entry'
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
titles:
|
|
3
|
+
index : 'Sections'
|
|
4
|
+
edit : 'Edit Section'
|
|
5
|
+
new : 'Add Secton'
|
|
6
|
+
|
|
7
|
+
labels:
|
|
8
|
+
id : '#'
|
|
9
|
+
name : 'Name'
|
|
10
|
+
slug : 'Slug'
|
|
11
|
+
description : 'Description'
|
|
12
|
+
comment_allow : 'Allow comments'
|
|
13
|
+
comment_require_account : 'Comments require an account'
|
|
14
|
+
comment_moderate : 'Moderate comments'
|
|
15
|
+
comment_format : 'Comment format'
|
|
16
|
+
custom_field_groups : 'Custom field groups'
|
|
17
|
+
category_groups : 'Category groups'
|
|
18
|
+
manage_entries : 'Manage entries'
|
|
19
|
+
|
|
20
|
+
special:
|
|
21
|
+
boolean_hash:
|
|
22
|
+
'true' : 'Yes'
|
|
23
|
+
'false' : 'No'
|
|
24
|
+
|
|
25
|
+
tabs:
|
|
26
|
+
general : 'General'
|
|
27
|
+
comment_settings : 'Comment Settings'
|
|
28
|
+
group_assignments : 'Group Assignments'
|
|
29
|
+
|
|
30
|
+
messages:
|
|
31
|
+
no_sections: "No sections have been created yet."
|
|
32
|
+
|
|
33
|
+
errors:
|
|
34
|
+
new : 'Failed to create a new section.'
|
|
35
|
+
save : 'Failed to modify the section.'
|
|
36
|
+
delete : 'Failed to delete the section with ID #%s.'
|
|
37
|
+
no_delete : 'You need to specify at least one section to delete.'
|
|
38
|
+
|
|
39
|
+
success:
|
|
40
|
+
new : 'The new section has been created.'
|
|
41
|
+
save : 'The section has been modified.'
|
|
42
|
+
delete : 'The selected sections have been deleted.'
|
|
43
|
+
|
|
44
|
+
buttons:
|
|
45
|
+
new : 'Add section'
|
|
46
|
+
delete : 'Delete selected sections'
|
|
47
|
+
save : 'Save section'
|
|
48
|
+
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
#:nodoc:
|
|
1
2
|
module Sections
|
|
3
|
+
#:nodoc:
|
|
2
4
|
module Liquid
|
|
3
5
|
##
|
|
4
6
|
# The SectionEntries tag can be used to retrieve all section entries
|
|
5
7
|
# for the given section. A basic example of this looks like the following:
|
|
6
8
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
9
|
+
# {% section_entries section="blog" %}
|
|
10
|
+
# Do something in here
|
|
11
|
+
# {% endsection_entries %}
|
|
10
12
|
#
|
|
11
13
|
# When using this tag you can specify the following optionally arguments:
|
|
12
14
|
#
|
|
@@ -16,20 +18,21 @@ module Sections
|
|
|
16
18
|
# * section_entry: the slug of the section entry to select
|
|
17
19
|
# * order: the sort order type
|
|
18
20
|
# * order_by: the name of the column to sort on
|
|
21
|
+
# * category: retrieves all entries that are using the specified category
|
|
19
22
|
#
|
|
20
23
|
# These arguments can be specified as following:
|
|
21
24
|
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
+
# {% section_entries section="blog" limit="10" offset="20" %}
|
|
26
|
+
# Do something in here
|
|
27
|
+
# {% endsection_entries %}
|
|
25
28
|
#
|
|
26
29
|
# Inside this block you can output the values of your custom fields by
|
|
27
30
|
# calling the variable tag containing the name of the custom field. For example,
|
|
28
31
|
# if you have a field called "body" you can output it for each entry as following:
|
|
29
32
|
#
|
|
30
|
-
#
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
+
# {% section_entries section="blog" limit="10" offset="20" %}
|
|
34
|
+
# {{body}}
|
|
35
|
+
# {% endsection_entries %}
|
|
33
36
|
#
|
|
34
37
|
# The following variables are available by default:
|
|
35
38
|
#
|
|
@@ -42,14 +45,13 @@ module Sections
|
|
|
42
45
|
# * section_id: the ID of the section to which this entry belongs
|
|
43
46
|
#
|
|
44
47
|
# @example
|
|
45
|
-
#
|
|
46
48
|
# {% section_entries section="blog" limit="10" offset="20" %}
|
|
47
49
|
# <article>
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
50
|
+
# <header>
|
|
51
|
+
# <h1>{{title}}</h1>
|
|
52
|
+
# </header>
|
|
51
53
|
#
|
|
52
|
-
#
|
|
54
|
+
# {{body}}
|
|
53
55
|
# </article>
|
|
54
56
|
# {% endsection_entries %}
|
|
55
57
|
#
|
|
@@ -70,24 +72,25 @@ module Sections
|
|
|
70
72
|
# @param [String] arguments All additional arguments passed as a string.
|
|
71
73
|
# @param [String] html The HTML inside the block.
|
|
72
74
|
#
|
|
73
|
-
def initialize
|
|
75
|
+
def initialize(tag_name ='section_entries', arguments = '', html = '')
|
|
74
76
|
super
|
|
75
|
-
|
|
77
|
+
|
|
76
78
|
@arguments = {
|
|
77
|
-
'limit'
|
|
78
|
-
'offset'
|
|
79
|
-
'section'
|
|
80
|
-
'order'
|
|
81
|
-
'order_by'=> 'id'
|
|
79
|
+
'limit' => 10,
|
|
80
|
+
'offset' => 0,
|
|
81
|
+
'section' => '',
|
|
82
|
+
'order' => 'desc',
|
|
83
|
+
'order_by' => 'id',
|
|
84
|
+
'category' => ''
|
|
82
85
|
}.merge(parse_key_values(arguments))
|
|
83
86
|
|
|
84
87
|
@args_parsed = false
|
|
85
88
|
end
|
|
86
89
|
|
|
87
90
|
##
|
|
88
|
-
# Processes
|
|
89
|
-
# When outputting data inside the tag block you can always use the
|
|
90
|
-
# variables:
|
|
91
|
+
# Processes the arguments set in the constructor, retrieves all data and renders
|
|
92
|
+
# the tag block. When outputting data inside the tag block you can always use the
|
|
93
|
+
# following variables regardless on whether there are any section entries:
|
|
91
94
|
#
|
|
92
95
|
# * total_rows: the amount of rows retrieved
|
|
93
96
|
# * index: the current index
|
|
@@ -105,38 +108,48 @@ module Sections
|
|
|
105
108
|
# @author Yorick Peterse
|
|
106
109
|
# @since 0.1
|
|
107
110
|
#
|
|
108
|
-
def render
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
@arguments.each do |k, v|
|
|
112
|
-
v = v.to_s
|
|
113
|
-
|
|
114
|
-
if context.has_key?(v)
|
|
115
|
-
@arguments[k] = h(context[v])
|
|
116
|
-
end
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
|
|
111
|
+
def render(context)
|
|
112
|
+
@arguments = merge_context(@arguments, context) if @args_parsed == false
|
|
113
|
+
|
|
120
114
|
@args_parsed = true
|
|
121
115
|
result = []
|
|
122
116
|
entries = []
|
|
123
117
|
filter_hash = {:status => 'published'}
|
|
124
118
|
|
|
119
|
+
# ------
|
|
120
|
+
# Filter by a section entry's slug
|
|
125
121
|
if @arguments.key?('section_entry')
|
|
126
122
|
if @arguments['section_entry'].empty?
|
|
127
|
-
raise
|
|
123
|
+
raise(ArgumentError, "You need to specify a section entry to retrieve")
|
|
128
124
|
end
|
|
129
125
|
|
|
130
126
|
filter_hash[:slug] = @arguments['section_entry']
|
|
127
|
+
|
|
128
|
+
# ------
|
|
129
|
+
# Filter by a category's slug
|
|
130
|
+
elsif @arguments.key?('category') and !@arguments['category'].empty?
|
|
131
|
+
category = ::Categories::Models::Category[:slug => @arguments['category']]
|
|
132
|
+
|
|
133
|
+
# Bail out of the category doesn't exist
|
|
134
|
+
return result if category.nil?
|
|
135
|
+
|
|
136
|
+
# Retrieve the category group
|
|
137
|
+
group = category.category_group
|
|
138
|
+
|
|
139
|
+
# Now it's time to retrieve all section IDs
|
|
140
|
+
filter_hash[:section_id] = group.sections.map { |s| s.id }
|
|
131
141
|
|
|
142
|
+
# ------
|
|
143
|
+
# Filter by a section's slug
|
|
132
144
|
else
|
|
133
145
|
if @arguments['section'].empty?
|
|
134
|
-
|
|
146
|
+
@arguments['section'] = ::Settings::Model::Setting.get_settings[:default_section]
|
|
135
147
|
end
|
|
136
148
|
|
|
137
149
|
section = ::Sections::Models::Section[:slug => @arguments['section']]
|
|
138
150
|
|
|
139
151
|
return result if section.nil?
|
|
152
|
+
|
|
140
153
|
filter_hash[:section_id] = section.id
|
|
141
154
|
end
|
|
142
155
|
|
|
@@ -149,9 +162,7 @@ module Sections
|
|
|
149
162
|
context['total_rows'] = entries.count
|
|
150
163
|
|
|
151
164
|
entries.each_with_index do |entry, index|
|
|
152
|
-
entry.values.each
|
|
153
|
-
context[k.to_s] = v
|
|
154
|
-
end
|
|
165
|
+
entry.values.each { |k, v| context[k.to_s] = v }
|
|
155
166
|
|
|
156
167
|
context['index'] = index
|
|
157
168
|
context['categories'] = []
|
|
@@ -198,10 +209,11 @@ module Sections
|
|
|
198
209
|
context[name.to_s] = value
|
|
199
210
|
end
|
|
200
211
|
|
|
201
|
-
result
|
|
212
|
+
result.push(render_all(@nodelist, context))
|
|
202
213
|
end
|
|
203
214
|
|
|
204
|
-
result
|
|
215
|
+
result.push(render_all(@nodelist, context)) if result.empty?
|
|
216
|
+
|
|
205
217
|
return result
|
|
206
218
|
end
|
|
207
219
|
end
|