zen 0.1a
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/LICENSE +19 -0
- data/MANIFEST +337 -0
- data/README.textile +42 -0
- data/Rakefile +6 -0
- data/bin/zen +9 -0
- data/doc/Categories.html +93 -0
- data/doc/Categories/Controllers.html +93 -0
- data/doc/Categories/Controllers/Categories.html +995 -0
- data/doc/Categories/Controllers/CategoryGroups.html +878 -0
- data/doc/Categories/Models.html +97 -0
- data/doc/Categories/Models/Category.html +269 -0
- data/doc/Categories/Models/CategoryGroup.html +231 -0
- data/doc/Comments.html +93 -0
- data/doc/Comments/Controllers.html +93 -0
- data/doc/Comments/Controllers/Comments.html +797 -0
- data/doc/Comments/Controllers/CommentsForm.html +487 -0
- data/doc/Comments/Liquid.html +93 -0
- data/doc/Comments/Liquid/CommentForm.html +522 -0
- data/doc/Comments/Liquid/Comments.html +543 -0
- data/doc/Comments/Models.html +95 -0
- data/doc/Comments/Models/Comment.html +260 -0
- data/doc/CustomFields.html +93 -0
- data/doc/CustomFields/Controllers.html +93 -0
- data/doc/CustomFields/Controllers/CustomFieldGroups.html +902 -0
- data/doc/CustomFields/Controllers/CustomFields.html +974 -0
- data/doc/CustomFields/Models.html +97 -0
- data/doc/CustomFields/Models/CustomField.html +272 -0
- data/doc/CustomFields/Models/CustomFieldGroup.html +259 -0
- data/doc/CustomFields/Models/CustomFieldValue.html +154 -0
- data/doc/Ramaze.html +93 -0
- data/doc/Ramaze/Helper.html +93 -0
- data/doc/Ramaze/Helper/ACL.html +531 -0
- data/doc/Ramaze/Helper/Asset.html +617 -0
- data/doc/Ramaze/Helper/Breadcrumb.html +411 -0
- data/doc/Ramaze/Helper/Common.html +738 -0
- data/doc/Sections.html +93 -0
- data/doc/Sections/Controllers.html +93 -0
- data/doc/Sections/Controllers/SectionEntries.html +1100 -0
- data/doc/Sections/Controllers/Sections.html +953 -0
- data/doc/Sections/Liquid.html +93 -0
- data/doc/Sections/Liquid/SectionEntries.html +674 -0
- data/doc/Sections/Liquid/Sections.html +494 -0
- data/doc/Sections/Models.html +97 -0
- data/doc/Sections/Models/Section.html +272 -0
- data/doc/Sections/Models/SectionEntry.html +264 -0
- data/doc/Sequel.html +91 -0
- data/doc/Sequel/Model.html +243 -0
- data/doc/Settings.html +93 -0
- data/doc/Settings/Controllers.html +91 -0
- data/doc/Settings/Controllers/Settings.html +565 -0
- data/doc/Settings/Liquid.html +91 -0
- data/doc/Settings/Liquid/Setting.html +426 -0
- data/doc/Settings/Models.html +95 -0
- data/doc/Settings/Models/Setting.html +293 -0
- data/doc/Users.html +93 -0
- data/doc/Users/Controllers.html +93 -0
- data/doc/Users/Controllers/AccessRules.html +904 -0
- data/doc/Users/Controllers/UserGroups.html +879 -0
- data/doc/Users/Controllers/Users.html +1124 -0
- data/doc/Users/Liquid.html +93 -0
- data/doc/Users/Liquid/User.html +480 -0
- data/doc/Users/Liquid/Users.html +495 -0
- data/doc/Users/Models.html +97 -0
- data/doc/Users/Models/AccessRule.html +257 -0
- data/doc/Users/Models/User.html +649 -0
- data/doc/Users/Models/UserGroup.html +267 -0
- data/doc/Zen.html +391 -0
- data/doc/Zen/Bin.html +113 -0
- data/doc/Zen/Bin/Base.html +727 -0
- data/doc/Zen/Controllers.html +115 -0
- data/doc/Zen/Controllers/AdminController.html +298 -0
- data/doc/Zen/Controllers/BaseController.html +272 -0
- data/doc/Zen/Controllers/FrontendController.html +164 -0
- data/doc/Zen/Controllers/MainController.html +421 -0
- data/doc/Zen/Database.html +498 -0
- data/doc/Zen/Language.html +660 -0
- data/doc/Zen/Liquid.html +117 -0
- data/doc/Zen/Liquid/ControllerBehavior.html +448 -0
- data/doc/Zen/Liquid/General.html +444 -0
- data/doc/Zen/Liquid/Redirect.html +435 -0
- data/doc/Zen/Liquid/Strip.html +447 -0
- data/doc/Zen/Logger.html +393 -0
- data/doc/Zen/Package.html +909 -0
- data/doc/_index.html +724 -0
- data/doc/class_list.html +36 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +310 -0
- data/doc/file.README.html +86 -0
- data/doc/file_list.html +38 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +86 -0
- data/doc/js/app.js +203 -0
- data/doc/js/full_list.js +149 -0
- data/doc/js/jquery.js +154 -0
- data/doc/method_list.html +1139 -0
- data/doc/top-level-namespace.html +88 -0
- data/lib/zen.rb +77 -0
- data/lib/zen/base/database.rb +105 -0
- data/lib/zen/base/language.rb +132 -0
- data/lib/zen/base/logger.rb +54 -0
- data/lib/zen/base/package.rb +233 -0
- data/lib/zen/base/version.rb +11 -0
- data/lib/zen/bin/zen_binary.rb +173 -0
- data/lib/zen/controller/admin_controller.rb +60 -0
- data/lib/zen/controller/base_controller.rb +39 -0
- data/lib/zen/controller/frontend_controller.rb +16 -0
- data/lib/zen/controller/main_controller.rb +93 -0
- data/lib/zen/helper/acl.rb +124 -0
- data/lib/zen/helper/asset.rb +104 -0
- data/lib/zen/helper/breadcrumb.rb +71 -0
- data/lib/zen/helper/common.rb +157 -0
- data/lib/zen/language/en/zen_general.rb +21 -0
- data/lib/zen/language/en/zen_models.rb +39 -0
- data/lib/zen/layout/admin.xhtml +72 -0
- data/lib/zen/layout/login.xhtml +44 -0
- data/lib/zen/liquid/controller_behavior.rb +55 -0
- data/lib/zen/liquid/general.rb +69 -0
- data/lib/zen/liquid/redirect.rb +47 -0
- data/lib/zen/liquid/strip.rb +58 -0
- data/lib/zen/model/methods.rb +26 -0
- data/lib/zen/model/settings.rb +27 -0
- data/lib/zen/packages/categories/LICENSE +19 -0
- data/lib/zen/packages/categories/README.textile +0 -0
- data/lib/zen/packages/categories/lib/categories.rb +24 -0
- data/lib/zen/packages/categories/lib/categories/controller/categories.rb +202 -0
- data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +173 -0
- data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +38 -0
- data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +37 -0
- data/lib/zen/packages/categories/lib/categories/model/category.rb +42 -0
- data/lib/zen/packages/categories/lib/categories/model/category_group.rb +29 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +36 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +70 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +7 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +18 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +72 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +7 -0
- data/lib/zen/packages/categories/migrations/.gitkeep +0 -0
- data/lib/zen/packages/categories/migrations/1295282303_create_schema.rb +40 -0
- data/lib/zen/packages/comments/LICENSE +19 -0
- data/lib/zen/packages/comments/README.textile +0 -0
- data/lib/zen/packages/comments/lib/comments.rb +26 -0
- data/lib/zen/packages/comments/lib/comments/controller/comments.rb +157 -0
- data/lib/zen/packages/comments/lib/comments/controller/comments_form.rb +135 -0
- data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +52 -0
- data/lib/zen/packages/comments/lib/comments/liquid/comment_form.rb +97 -0
- data/lib/zen/packages/comments/lib/comments/liquid/comments.rb +115 -0
- data/lib/zen/packages/comments/lib/comments/model/comment.rb +34 -0
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +31 -0
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +74 -0
- data/lib/zen/packages/comments/migrations/.gitkeep +0 -0
- data/lib/zen/packages/comments/migrations/1295282202_create_schema.rb +24 -0
- data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +11 -0
- data/lib/zen/packages/custom_fields/LICENSE +19 -0
- data/lib/zen/packages/custom_fields/README.textile +0 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields.rb +24 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +179 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +194 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +45 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +64 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field.rb +41 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_group.rb +32 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_value.rb +20 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +7 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +18 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +88 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +7 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +7 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +50 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +75 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +7 -0
- data/lib/zen/packages/custom_fields/migrations/.gitkeep +0 -0
- data/lib/zen/packages/custom_fields/migrations/1295255665_create_schema.rb +53 -0
- data/lib/zen/packages/sections/LICENSE +19 -0
- data/lib/zen/packages/sections/README.textile +43 -0
- data/lib/zen/packages/sections/lib/sections.rb +33 -0
- data/lib/zen/packages/sections/lib/sections/controller/section_entries.rb +251 -0
- data/lib/zen/packages/sections/lib/sections/controller/sections.rb +205 -0
- data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +58 -0
- data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +63 -0
- data/lib/zen/packages/sections/lib/sections/liquid/section_entries.rb +209 -0
- data/lib/zen/packages/sections/lib/sections/liquid/sections.rb +76 -0
- data/lib/zen/packages/sections/lib/sections/model/section.rb +43 -0
- data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +43 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +7 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +54 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +77 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +7 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +7 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +147 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +74 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +7 -0
- data/lib/zen/packages/sections/migrations/.gitkeep +0 -0
- data/lib/zen/packages/sections/migrations/1295251836_create_schema.rb +35 -0
- data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +18 -0
- data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +11 -0
- data/lib/zen/packages/settings/LICENSE +0 -0
- data/lib/zen/packages/settings/README.textile +0 -0
- data/lib/zen/packages/settings/lib/settings.rb +22 -0
- data/lib/zen/packages/settings/lib/settings/controller/settings.rb +113 -0
- data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +56 -0
- data/lib/zen/packages/settings/lib/settings/liquid/setting.rb +56 -0
- data/lib/zen/packages/settings/lib/settings/model/setting.rb +38 -0
- data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +79 -0
- data/lib/zen/packages/settings/migrations/.gitkeep +0 -0
- data/lib/zen/packages/settings/migrations/1295597111_create_schema.rb +31 -0
- data/lib/zen/packages/users/LICENSE +19 -0
- data/lib/zen/packages/users/README.textile +0 -0
- data/lib/zen/packages/users/lib/users.rb +35 -0
- data/lib/zen/packages/users/lib/users/controller/access_rules.rb +186 -0
- data/lib/zen/packages/users/lib/users/controller/user_groups.rb +171 -0
- data/lib/zen/packages/users/lib/users/controller/users.rb +240 -0
- data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +49 -0
- data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +42 -0
- data/lib/zen/packages/users/lib/users/language/en/users.rb +63 -0
- data/lib/zen/packages/users/lib/users/liquid/user.rb +75 -0
- data/lib/zen/packages/users/lib/users/liquid/users.rb +80 -0
- data/lib/zen/packages/users/lib/users/model/access_rule.rb +29 -0
- data/lib/zen/packages/users/lib/users/model/user.rb +96 -0
- data/lib/zen/packages/users/lib/users/model/user_group.rb +38 -0
- data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +43 -0
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +68 -0
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +85 -0
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +19 -0
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +69 -0
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +25 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +73 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +22 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +7 -0
- data/lib/zen/packages/users/migrations/.gitkeep +0 -0
- data/lib/zen/packages/users/migrations/1295281013_create_schema.rb +54 -0
- data/lib/zen/public/admin/css/boilerplate.css +174 -0
- data/lib/zen/public/admin/css/general.css +485 -0
- data/lib/zen/public/admin/css/grid.css +119 -0
- data/lib/zen/public/admin/css/layout.css +111 -0
- data/lib/zen/public/admin/images/general/noise.jpg +0 -0
- data/lib/zen/public/admin/images/icons/accept.png +0 -0
- data/lib/zen/public/admin/images/icons/add.png +0 -0
- data/lib/zen/public/admin/images/icons/back.png +0 -0
- data/lib/zen/public/admin/images/icons/bold.png +0 -0
- data/lib/zen/public/admin/images/icons/close.png +0 -0
- data/lib/zen/public/admin/images/icons/delete.png +0 -0
- data/lib/zen/public/admin/images/icons/edit.png +0 -0
- data/lib/zen/public/admin/images/icons/error.png +0 -0
- data/lib/zen/public/admin/images/icons/help.png +0 -0
- data/lib/zen/public/admin/images/icons/info.png +0 -0
- data/lib/zen/public/admin/images/icons/italic.png +0 -0
- data/lib/zen/public/admin/images/icons/large/error.png +0 -0
- data/lib/zen/public/admin/images/icons/large/notice.png +0 -0
- data/lib/zen/public/admin/images/icons/large/success.png +0 -0
- data/lib/zen/public/admin/images/icons/link.png +0 -0
- data/lib/zen/public/admin/images/icons/logout.png +0 -0
- data/lib/zen/public/admin/images/icons/ol.png +0 -0
- data/lib/zen/public/admin/images/icons/pdf.png +0 -0
- data/lib/zen/public/admin/images/icons/ul.png +0 -0
- data/lib/zen/public/admin/images/icons/user.png +0 -0
- data/lib/zen/public/admin/images/icons/view.png +0 -0
- data/lib/zen/public/admin/js/mootools/core.js +436 -0
- data/lib/zen/public/admin/js/mootools/more.js +288 -0
- data/lib/zen/public/admin/js/zen/editor/base.js +265 -0
- data/lib/zen/public/admin/js/zen/editor/drivers/html.js +104 -0
- data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +102 -0
- data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +102 -0
- data/lib/zen/public/admin/js/zen/init.js +57 -0
- data/lib/zen/public/admin/js/zen/modal.js +159 -0
- data/lib/zen/public/admin/js/zen/notification.js +213 -0
- data/lib/zen/public/admin/js/zen/tabs.js +263 -0
- data/lib/zen/tasks.rb +6 -0
- data/pkg/.gitkeep +0 -0
- data/proto/app/Rakefile +2 -0
- data/proto/app/app.rb +20 -0
- data/proto/app/config.ru +18 -0
- data/proto/app/config/config.rb +17 -0
- data/proto/app/config/database.rb +18 -0
- data/proto/app/config/middlewares.rb +23 -0
- data/proto/app/config/requires.rb +8 -0
- data/proto/app/logs/.gitkeep +0 -0
- data/proto/app/public/.gitkeep +0 -0
- data/proto/app/start.rb +22 -0
- data/proto/app/vendor/.gitkeep +0 -0
- data/proto/app/vendor/themes/.gitkeep +0 -0
- data/proto/migration.rb +11 -0
- data/proto/module/LICENSE +0 -0
- data/proto/module/README.textile +0 -0
- data/proto/module/lib/module.rb +15 -0
- data/proto/module/lib/module/controller/controllers.rb +86 -0
- data/proto/module/lib/module/language/en/languages.rb +3 -0
- data/proto/module/lib/module/model/model.rb +12 -0
- data/proto/module/lib/module/view/admin/edit.xhtml +0 -0
- data/proto/module/lib/module/view/admin/form.xhtml +0 -0
- data/proto/module/lib/module/view/admin/index.xhtml +0 -0
- data/proto/module/lib/module/view/admin/new.xhtml +0 -0
- data/proto/module/migrations/.gitkeep +0 -0
- data/spec/javascript/css/base.css +177 -0
- data/spec/javascript/css/style.css +204 -0
- data/spec/javascript/css/typography.css +70 -0
- data/spec/javascript/editor/index.html +65 -0
- data/spec/javascript/images/close.png +0 -0
- data/spec/javascript/images/info.png +0 -0
- data/spec/javascript/js/editor.js +16 -0
- data/spec/javascript/js/modal.js +12 -0
- data/spec/javascript/js/namespace.js +2 -0
- data/spec/javascript/js/notification.js +43 -0
- data/spec/javascript/js/tabs.js +8 -0
- data/spec/javascript/modal/index.html +45 -0
- data/spec/javascript/notification/index.html +48 -0
- data/spec/javascript/tabs/index.html +73 -0
- data/spec/javascript/tabs/tab_1.html +1 -0
- data/spec/javascript/tabs/tab_2.html +1 -0
- data/spec/zen/base/language.rb +31 -0
- data/spec/zen/base/logger.rb +34 -0
- data/spec/zen/base/package.rb +47 -0
- data/spec/zen/config/database.rb +8 -0
- data/spec/zen/helper/asset.rb +26 -0
- data/spec/zen/helper/breadcrumb.rb +24 -0
- data/spec/zen/language/en/general.rb +4 -0
- data/spec/zen/language/nl/general.rb +4 -0
- data/spec/zen/liquid/general.rb +42 -0
- data/spec/zen/logs/.gitkeep +0 -0
- data/spec/zen/spec.rb +9 -0
- data/spec/zen/spec_database.db +0 -0
- data/tasks/bacon.rake +99 -0
- data/tasks/build.rake +72 -0
- data/tasks/clean.rake +18 -0
- data/tasks/db.rake +81 -0
- data/tasks/doc.rake +5 -0
- data/tasks/extension.rake +65 -0
- data/tasks/proto.rake +37 -0
- data/tasks/theme.rake +63 -0
- metadata +512 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
module Ramaze
|
|
2
|
+
module Helper
|
|
3
|
+
##
|
|
4
|
+
# Helper that contains several common methods for which creating their
|
|
5
|
+
# own helper would be a bit of an overkill.
|
|
6
|
+
#
|
|
7
|
+
# @author Yorick Peterse
|
|
8
|
+
# @since 0.1
|
|
9
|
+
#
|
|
10
|
+
module Common
|
|
11
|
+
##
|
|
12
|
+
# Generate the required data for showing a Javascript based notification.
|
|
13
|
+
# Basically all this method does is storing a hash in the flash data and
|
|
14
|
+
# making the required code to do so slightly shorter.
|
|
15
|
+
#
|
|
16
|
+
# @author Yorick Peterse
|
|
17
|
+
# @param [Symbol] type The type of notification to generate (error, notice, etc).
|
|
18
|
+
# @param [String] title The title of the notification.
|
|
19
|
+
# @param [String] message The message to display in the notification.
|
|
20
|
+
# @param [String] image An optional path to a custom image to use. If no image is specified
|
|
21
|
+
# the type of notification will be used for the image. For example, an error message would
|
|
22
|
+
# result in an image named "error.png" (.png is used for all default icons).
|
|
23
|
+
# @param [Boolean] sticky Boolean that indicates that the notification shouldn't
|
|
24
|
+
# be automatically removed after a certain period of time.
|
|
25
|
+
# @since 0.1
|
|
26
|
+
#
|
|
27
|
+
def notification type, title, message, image = nil, sticky = false
|
|
28
|
+
if image.nil?
|
|
29
|
+
image = "/admin/images/icons/large/#{type.to_s}.png"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sticky = true if type === :error
|
|
33
|
+
|
|
34
|
+
flash[:notification] = {
|
|
35
|
+
:title => title,
|
|
36
|
+
:content => message,
|
|
37
|
+
:image => image,
|
|
38
|
+
:sticky => sticky
|
|
39
|
+
}
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
##
|
|
43
|
+
# Generate an anchor tag inspired by the way Rails does this.
|
|
44
|
+
# The first parameter is the text to display, the second parameter is the URL.
|
|
45
|
+
#
|
|
46
|
+
# The anchor_to tag supports both query string parameters just like the link helper
|
|
47
|
+
# that ships with Ramaze but it also supports the possibility of adding HTML
|
|
48
|
+
# attributes such as an ID or class.
|
|
49
|
+
#
|
|
50
|
+
# URLs can be formatted in two ways. The first one, which is the most common one,
|
|
51
|
+
# is using a path to a controller/method. Simply specify a string such as
|
|
52
|
+
# "controller/method". If you want to create an anchor that points to an external
|
|
53
|
+
# website, say Google, simply start the string with "http://" and you're good to go.
|
|
54
|
+
#
|
|
55
|
+
# @example
|
|
56
|
+
# # Rather verbose isn't it?
|
|
57
|
+
# anchor_to 'Google Search', {:href => 'http://google.com', :q => 'Search term' }, :class => 'anchor_class', :title => 'Google Search Results :D'
|
|
58
|
+
#
|
|
59
|
+
# # This is also perfectly fine
|
|
60
|
+
# anchor_to 'Dashboard', 'dashboard'
|
|
61
|
+
#
|
|
62
|
+
# @author Yorick Peterse
|
|
63
|
+
# @since 0.1
|
|
64
|
+
# @param [String] text The text to display in the anchor tag.
|
|
65
|
+
# @param [Hash/String] url Either a hash or a string that defines the URL.
|
|
66
|
+
# When using a hash the :href key will be used for the link location.
|
|
67
|
+
# Other keys will be used to create query string items. If the URL starts with
|
|
68
|
+
# http:// it will be an external URL.
|
|
69
|
+
# @param [Array] attributes Optional HTML attributes to add to the anchor tag.
|
|
70
|
+
# @return [String]
|
|
71
|
+
#
|
|
72
|
+
def anchor_to text, url, *attributes
|
|
73
|
+
|
|
74
|
+
# Sanitize the text and URL
|
|
75
|
+
text = Rack::Utils.escape_html text
|
|
76
|
+
|
|
77
|
+
# Get the URL from the second parameter (either a string or a hash).
|
|
78
|
+
if url.class.to_s === 'Hash'
|
|
79
|
+
# Get the URL from the hash and delete it
|
|
80
|
+
anchor_url = url[:href].strip
|
|
81
|
+
url.delete(anchor_url)
|
|
82
|
+
|
|
83
|
+
# Generate the query string based on the left over values in the URL hash
|
|
84
|
+
query_string = Rack::Utils.build_query url
|
|
85
|
+
|
|
86
|
+
# Create the full URL
|
|
87
|
+
anchor_url = anchor_url + query_string
|
|
88
|
+
else
|
|
89
|
+
anchor_url = url
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Got attributes?
|
|
93
|
+
if !attributes or attributes.empty?
|
|
94
|
+
attributes = Hash.new
|
|
95
|
+
else
|
|
96
|
+
attributes = attributes[0]
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Check to see if we're dealing with an internal or external URL
|
|
100
|
+
if !anchor_url.include? '://' or !anchor_url.include? 'www.'
|
|
101
|
+
anchor_url = request.domain("/#{anchor_url}")
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Add the href attribute so it gets processed
|
|
105
|
+
attributes['href'] = anchor_url
|
|
106
|
+
|
|
107
|
+
# Add all the extra arguments
|
|
108
|
+
html_attributes = String.new
|
|
109
|
+
|
|
110
|
+
attributes.each do |attribute, value|
|
|
111
|
+
attribute = Rack::Utils.escape_html attribute
|
|
112
|
+
html_attributes += "#{attribute}=\"#{value}\" "
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Remove the trailing space
|
|
116
|
+
html_attributes = html_attributes.strip
|
|
117
|
+
|
|
118
|
+
# Return the tag
|
|
119
|
+
return "<a #{html_attributes}>#{text}</a>"
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
##
|
|
123
|
+
# The cycle method cycles through a specified list of words. This helper can be
|
|
124
|
+
# used to generate "zebra" tables, meaning that every odd row has a different color.
|
|
125
|
+
#
|
|
126
|
+
# The amount of words you want to cycle through is completely customizable,
|
|
127
|
+
# however you should atleast have two words otherwise this method will be
|
|
128
|
+
# completely useless.
|
|
129
|
+
#
|
|
130
|
+
# @author Yorick Peterse
|
|
131
|
+
# @since 0.1
|
|
132
|
+
# @param [Array] args All words to cycle through.
|
|
133
|
+
# @return [String]
|
|
134
|
+
#
|
|
135
|
+
def cycle *args
|
|
136
|
+
if @@cycle_counter.nil?
|
|
137
|
+
@@cycle_counter = 0
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
# Check the current counter and reset it if it matches the total amount of arguments
|
|
141
|
+
if @@cycle_counter >= args.count
|
|
142
|
+
# Reset the counter
|
|
143
|
+
@@cycle_counter = 0
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# Get the element based on the current index
|
|
147
|
+
cycle_element = args[@@cycle_counter]
|
|
148
|
+
|
|
149
|
+
# Increment the counter
|
|
150
|
+
@@cycle_counter += 1
|
|
151
|
+
|
|
152
|
+
# Return the cycle element
|
|
153
|
+
return cycle_element
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Zen::Language.translation 'zen_general' do |item|
|
|
2
|
+
|
|
3
|
+
item.labels = {
|
|
4
|
+
:zen_version => "Powered by Zen version #{Zen::Version}",
|
|
5
|
+
:zen_website => "Website",
|
|
6
|
+
:zen_docs => "Documentation",
|
|
7
|
+
:zen_github => "GitHub Account",
|
|
8
|
+
:view_website => "View Website",
|
|
9
|
+
:logout => "Logout",
|
|
10
|
+
:profile => "Profile"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
item.errors = {
|
|
14
|
+
:csrf => "The specified request can't be executed without a valid CSRF token.",
|
|
15
|
+
:not_authorized => "You are not authorized to access the current page.",
|
|
16
|
+
:website_offline => "This website is currently offline.",
|
|
17
|
+
:no_templates => "No templates were found for the given action.",
|
|
18
|
+
:no_theme => "Before using Zen you'll need to specify a theme to use."
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Language pack that provides a translated set of messages used when validating models.
|
|
3
|
+
#
|
|
4
|
+
# @author Yorick Peterse
|
|
5
|
+
# @since 0.1
|
|
6
|
+
#
|
|
7
|
+
Zen::Language.translation 'zen_models' do |lang|
|
|
8
|
+
lang.exact_length = lambda do |length|
|
|
9
|
+
"This field is not exactly #{length} characters long."
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
lang.format = "This field's format is invalid."
|
|
13
|
+
lang.includes = lambda do |arg|
|
|
14
|
+
"This field's value is not in the range or set of #{arg.inspect}"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
lang.integer = "This field's value is not a number."
|
|
18
|
+
lang.length_range = "This field's value is either too long or too short."
|
|
19
|
+
|
|
20
|
+
lang.max_length = lambda do |length|
|
|
21
|
+
"This field's value may not be longer than #{length} characters."
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
lang.min_length = lambda do |length|
|
|
25
|
+
"This field's value may not be shorter than #{length} characters."
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
lang.not_string = lambda do |type|
|
|
29
|
+
"This field's value is not a valid #{type}."
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
lang.numeric = "This field's value is not numeric."
|
|
33
|
+
lang.type = lambda do |type|
|
|
34
|
+
"This field's value is not a #{type}"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
lang.presence = "This field's value is required."
|
|
38
|
+
lang.unique = "This field's value is already taken."
|
|
39
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="#{session[:settings][:language]}">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
|
|
6
|
+
<!-- Load all stylesheets -->
|
|
7
|
+
#{build_css}
|
|
8
|
+
|
|
9
|
+
<title>#{@page_title}</title>
|
|
10
|
+
</head>
|
|
11
|
+
|
|
12
|
+
<body id="admin">
|
|
13
|
+
<!--
|
|
14
|
+
Top part of the admin panel that contains the navigation menu along with a small
|
|
15
|
+
gravatar of the user.
|
|
16
|
+
-->
|
|
17
|
+
<div id="top">
|
|
18
|
+
<header class="container">
|
|
19
|
+
<!--
|
|
20
|
+
Main navigation of the backend. Navigation items may be excluded if the user
|
|
21
|
+
doesn't have the required permissions for the extension that created it.
|
|
22
|
+
-->
|
|
23
|
+
<nav id="main_nav" class="grid_12">
|
|
24
|
+
#{Zen::Package.build_menu("left")}
|
|
25
|
+
|
|
26
|
+
<ul class="right clearfix">
|
|
27
|
+
<li>
|
|
28
|
+
<a href="/admin/users/logout">#{@zen_general_lang.labels[:logout]}</a>
|
|
29
|
+
</li>
|
|
30
|
+
<li>
|
|
31
|
+
<a href="/admin/users/edit/#{session[:user].id}">#{@zen_general_lang.labels[:profile]}</a>
|
|
32
|
+
</li>
|
|
33
|
+
<li>
|
|
34
|
+
<a href="/">#{@zen_general_lang.labels[:view_website]}</a>
|
|
35
|
+
</li>
|
|
36
|
+
</ul>
|
|
37
|
+
</nav>
|
|
38
|
+
</header>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<!--
|
|
42
|
+
Main area of the admin panel. The content stretches across the entire screen and there
|
|
43
|
+
are no silly sidebars.
|
|
44
|
+
-->
|
|
45
|
+
<div id="container" class="container">
|
|
46
|
+
<div id="content" class="grid_12">
|
|
47
|
+
#{@content}
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<footer id="main_footer" class="container">
|
|
52
|
+
<div class="grid_12">
|
|
53
|
+
<p>#{@zen_general_lang.labels[:zen_version]}</p>
|
|
54
|
+
<p>
|
|
55
|
+
<a href="http://zen-cms.com/">#{@zen_general_lang.labels[:zen_website]}</a> |
|
|
56
|
+
<a href="http://zen-cms.com/documentation">#{@zen_general_lang.labels[:zen_docs]}</a> |
|
|
57
|
+
<a href="https://github.com/zen-cms/">#{@zen_general_lang.labels[:zen_github]}</a>
|
|
58
|
+
</p>
|
|
59
|
+
</div>
|
|
60
|
+
</footer>
|
|
61
|
+
|
|
62
|
+
<script src="/admin/js/mootools/core.js"></script>
|
|
63
|
+
<script src="/admin/js/mootools/more.js"></script>
|
|
64
|
+
|
|
65
|
+
<script>
|
|
66
|
+
Zen = {};
|
|
67
|
+
Zen.Flash = #{flash.combined.to_json};
|
|
68
|
+
</script>
|
|
69
|
+
|
|
70
|
+
#{build_js}
|
|
71
|
+
</body>
|
|
72
|
+
</html>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="#{session[:settings][:language]}">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
|
|
6
|
+
<!-- Load all stylesheets -->
|
|
7
|
+
#{build_css}
|
|
8
|
+
|
|
9
|
+
<title>#{@page_title}</title>
|
|
10
|
+
</head>
|
|
11
|
+
|
|
12
|
+
<body id="login">
|
|
13
|
+
<!--
|
|
14
|
+
Main area of the admin panel. The content stretches across the entire screen and there
|
|
15
|
+
are no silly sidebars.
|
|
16
|
+
-->
|
|
17
|
+
<div id="container" class="container">
|
|
18
|
+
<div id="content" class="grid_12">
|
|
19
|
+
#{@content}
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<footer id="main_footer" class="container">
|
|
24
|
+
<div class="grid_12">
|
|
25
|
+
<p>#{@zen_general_lang.labels[:zen_version]}</p>
|
|
26
|
+
<p>
|
|
27
|
+
<a href="http://zen-cms.com/">#{@zen_general_lang.labels[:zen_website]}</a> |
|
|
28
|
+
<a href="http://zen-cms.com/documentation">#{@zen_general_lang.labels[:zen_docs]}</a> |
|
|
29
|
+
<a href="https://github.com/zen-cms/">#{@zen_general_lang.labels[:zen_github]}</a>
|
|
30
|
+
</p>
|
|
31
|
+
</div>
|
|
32
|
+
</footer>
|
|
33
|
+
|
|
34
|
+
<script src="/admin/js/mootools/core.js"></script>
|
|
35
|
+
<script src="/admin/js/mootools/more.js"></script>
|
|
36
|
+
|
|
37
|
+
<script>
|
|
38
|
+
Zen = {};
|
|
39
|
+
Zen.Flash = #{flash.combined.to_json};
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
#{build_js}
|
|
43
|
+
</body>
|
|
44
|
+
</html>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module Zen
|
|
2
|
+
module Liquid
|
|
3
|
+
##
|
|
4
|
+
# Module that can be used to allow Liquid tags to use data that would otherwise
|
|
5
|
+
# only be available to controllers. Including this module gives your tags access to
|
|
6
|
+
# the following methods:
|
|
7
|
+
#
|
|
8
|
+
# * request
|
|
9
|
+
# * response
|
|
10
|
+
# * session
|
|
11
|
+
#
|
|
12
|
+
# @author Yorick Peterse
|
|
13
|
+
# @since 0.1
|
|
14
|
+
#
|
|
15
|
+
module ControllerBehavior
|
|
16
|
+
include ::Ramaze::Trinity
|
|
17
|
+
|
|
18
|
+
##
|
|
19
|
+
# Returns the session data of the current node. This is a workaround for the
|
|
20
|
+
# session() method not being available outside controllers.
|
|
21
|
+
#
|
|
22
|
+
# @author Yorick Peterse
|
|
23
|
+
# @since 0.1
|
|
24
|
+
# @return [Object]
|
|
25
|
+
#
|
|
26
|
+
def session
|
|
27
|
+
return action.node.session
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
##
|
|
31
|
+
# Returns the request data of the current node. This is a workaround for the
|
|
32
|
+
# request() method not being available outside controllers.
|
|
33
|
+
#
|
|
34
|
+
# @author Yorick Peterse
|
|
35
|
+
# @since 0.1
|
|
36
|
+
# @return [Object]
|
|
37
|
+
#
|
|
38
|
+
def request
|
|
39
|
+
return action.node.request
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
##
|
|
43
|
+
# Returns the response data of the current node. This is a workaround for the
|
|
44
|
+
# response() method not being available outside controllers.
|
|
45
|
+
#
|
|
46
|
+
# @author Yorick Peterse
|
|
47
|
+
# @since 0.1
|
|
48
|
+
# @return [Object]
|
|
49
|
+
#
|
|
50
|
+
def response
|
|
51
|
+
return action.node.response
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
require 'enumerator'
|
|
2
|
+
|
|
3
|
+
module Zen
|
|
4
|
+
module Liquid
|
|
5
|
+
##
|
|
6
|
+
# Module that provides several methods that can be used to ease the process of
|
|
7
|
+
# creating Liquid tags.
|
|
8
|
+
#
|
|
9
|
+
# @author Yorick Peterse
|
|
10
|
+
# @since 0.1
|
|
11
|
+
#
|
|
12
|
+
module General
|
|
13
|
+
include ::Ramaze::Helper::CGI
|
|
14
|
+
|
|
15
|
+
##
|
|
16
|
+
# Parses all additional data specified in the tag open block
|
|
17
|
+
# and turns it into a key/value hash. This makes it easier to
|
|
18
|
+
# use tags with key/value variables such as the following:
|
|
19
|
+
#
|
|
20
|
+
# bc. {% my_tag name="yorick" %}
|
|
21
|
+
#
|
|
22
|
+
# @author Yorick Peterse
|
|
23
|
+
# @since 0.1
|
|
24
|
+
# @param [String] string the raw string specified after the tag name.
|
|
25
|
+
# @return [Hash]
|
|
26
|
+
#
|
|
27
|
+
def parse_key_values string
|
|
28
|
+
key_values = {}
|
|
29
|
+
|
|
30
|
+
# Thanks to Michael Trommer (https://github.com/entropie) for coming up with
|
|
31
|
+
# this way of parsing the key/value string.
|
|
32
|
+
string.split(/["']([^"]*)["']|\s/).reject{ |s| s.empty? }.each_slice(2) do |key, val|
|
|
33
|
+
key_values[ key[0..-2].to_s ] = val
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Returns the data in the format of {'key' => 'value'}
|
|
37
|
+
return key_values
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
##
|
|
41
|
+
# Converts the given input data to HTML using the specified markup engine.
|
|
42
|
+
#
|
|
43
|
+
# @example
|
|
44
|
+
#
|
|
45
|
+
# markup_to_html("h2. Hello world!", :textile)
|
|
46
|
+
#
|
|
47
|
+
# @author Yorick Peterse
|
|
48
|
+
# @since 0.1
|
|
49
|
+
# @param [String] markup The raw markup that has to be converted to HTML.
|
|
50
|
+
# @param [Symbol] engine The markup engine to use such as Textile.
|
|
51
|
+
# @return [String]
|
|
52
|
+
#
|
|
53
|
+
def markup_to_html markup, engine
|
|
54
|
+
engine = engine.to_sym
|
|
55
|
+
|
|
56
|
+
case engine
|
|
57
|
+
when :textile
|
|
58
|
+
markup = RedCloth.new(markup).to_html
|
|
59
|
+
when :markdown
|
|
60
|
+
markup = RDiscount.new(markup).to_html
|
|
61
|
+
when :plain
|
|
62
|
+
markup = h(markup)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
return markup
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|