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.
Files changed (414) hide show
  1. data/CHANGELOG.md +17 -0
  2. data/MANIFEST +161 -264
  3. data/README.md +114 -0
  4. data/ROADMAP.md +31 -0
  5. data/Thorfile +8 -0
  6. data/lib/zen.rb +13 -10
  7. data/lib/zen/base/database.rb +34 -28
  8. data/lib/zen/base/language.rb +174 -92
  9. data/lib/zen/base/logger.rb +8 -6
  10. data/lib/zen/base/package.rb +36 -29
  11. data/lib/zen/base/version.rb +2 -1
  12. data/lib/zen/bin/zen_binary.rb +7 -71
  13. data/lib/zen/controller/admin_controller.rb +31 -11
  14. data/lib/zen/controller/base_controller.rb +13 -13
  15. data/lib/zen/controller/frontend_controller.rb +2 -0
  16. data/lib/zen/controller/main_controller.rb +9 -8
  17. data/lib/zen/helper/acl.rb +4 -1
  18. data/lib/zen/helper/asset.rb +5 -3
  19. data/lib/zen/helper/breadcrumb.rb +10 -8
  20. data/lib/zen/helper/common.rb +28 -13
  21. data/lib/zen/language/en/zen_general.yml +31 -0
  22. data/lib/zen/language/en/zen_models.yml +13 -0
  23. data/lib/zen/layout/admin.xhtml +76 -68
  24. data/lib/zen/layout/login.xhtml +48 -42
  25. data/lib/zen/liquid/controller_behavior.rb +2 -0
  26. data/lib/zen/liquid/general.rb +60 -9
  27. data/lib/zen/liquid/redirect.rb +29 -6
  28. data/lib/zen/liquid/strip.rb +3 -1
  29. data/lib/zen/model/methods.rb +7 -5
  30. data/lib/zen/model/settings.rb +69 -18
  31. data/lib/zen/package/all.rb +7 -0
  32. data/lib/zen/{packages → package}/categories/lib/categories.rb +3 -3
  33. data/lib/zen/package/categories/lib/categories/controller/categories.rb +250 -0
  34. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +216 -0
  35. data/lib/zen/package/categories/lib/categories/language/en/categories.yml +35 -0
  36. data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +32 -0
  37. data/lib/zen/package/categories/lib/categories/liquid/categories.rb +16 -0
  38. data/lib/zen/{packages → package}/categories/lib/categories/model/category.rb +9 -9
  39. data/lib/zen/{packages → package}/categories/lib/categories/model/category_group.rb +6 -4
  40. data/lib/zen/package/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
  41. data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +59 -0
  42. data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +78 -0
  43. data/lib/zen/package/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
  44. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/edit.xhtml +7 -0
  45. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +31 -0
  46. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +85 -0
  47. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/new.xhtml +7 -0
  48. data/lib/zen/{packages → package}/categories/migrations/.gitkeep +0 -0
  49. data/lib/zen/{packages → package}/categories/migrations/1295282303_create_schema.rb +3 -2
  50. data/lib/zen/{packages → package}/comments/lib/comments.rb +1 -1
  51. data/lib/zen/{packages → package}/comments/lib/comments/controller/comments.rb +81 -41
  52. data/lib/zen/{packages → package}/comments/lib/comments/controller/comments_form.rb +15 -13
  53. data/lib/zen/package/comments/lib/comments/language/en/comments.yml +42 -0
  54. data/lib/zen/{packages → package}/comments/lib/comments/liquid/comment_form.rb +43 -13
  55. data/lib/zen/{packages → package}/comments/lib/comments/liquid/comments.rb +10 -12
  56. data/lib/zen/{packages → package}/comments/lib/comments/model/comment.rb +24 -0
  57. data/lib/zen/package/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
  58. data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +57 -0
  59. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +79 -0
  60. data/lib/zen/{packages → package}/comments/migrations/.gitkeep +0 -0
  61. data/lib/zen/{packages → package}/comments/migrations/1295282202_create_schema.rb +6 -4
  62. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields.rb +2 -2
  63. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +224 -0
  64. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +259 -0
  65. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +32 -0
  66. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +52 -0
  67. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field.rb +12 -7
  68. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_group.rb +14 -4
  69. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_value.rb +4 -2
  70. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/edit.xhtml +7 -0
  71. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +30 -0
  72. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +100 -0
  73. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/new.xhtml +7 -0
  74. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/edit.xhtml +7 -0
  75. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +107 -0
  76. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +84 -0
  77. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/new.xhtml +7 -0
  78. data/lib/zen/{packages → package}/custom_fields/migrations/.gitkeep +0 -0
  79. data/lib/zen/{packages → package}/custom_fields/migrations/1295255665_create_schema.rb +8 -7
  80. data/lib/zen/package/menus/lib/menus.rb +59 -0
  81. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +244 -0
  82. data/lib/zen/package/menus/lib/menus/controller/menus.rb +231 -0
  83. data/lib/zen/package/menus/lib/menus/helper/menu_item.rb +93 -0
  84. data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +41 -0
  85. data/lib/zen/package/menus/lib/menus/language/en/menus.yml +39 -0
  86. data/lib/zen/package/menus/lib/menus/liquid/menus.rb +152 -0
  87. data/lib/zen/package/menus/lib/menus/model/menu.rb +38 -0
  88. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +33 -0
  89. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/edit.xhtml +7 -0
  90. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +64 -0
  91. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +84 -0
  92. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/new.xhtml +7 -0
  93. data/lib/zen/package/menus/lib/menus/view/admin/menus/edit.xhtml +7 -0
  94. data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +42 -0
  95. data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +95 -0
  96. data/lib/zen/package/menus/lib/menus/view/admin/menus/new.xhtml +7 -0
  97. data/lib/zen/{packages/sections → package/menus}/migrations/.gitkeep +0 -0
  98. data/lib/zen/package/menus/migrations/1297184342_create_schema.rb +33 -0
  99. data/lib/zen/{packages → package}/sections/lib/sections.rb +0 -0
  100. data/lib/zen/{packages → package}/sections/lib/sections/controller/section_entries.rb +132 -68
  101. data/lib/zen/{packages → package}/sections/lib/sections/controller/sections.rb +96 -48
  102. data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +43 -0
  103. data/lib/zen/package/sections/lib/sections/language/en/sections.yml +48 -0
  104. data/lib/zen/{packages → package}/sections/lib/sections/liquid/section_entries.rb +55 -43
  105. data/lib/zen/{packages → package}/sections/lib/sections/liquid/sections.rb +9 -8
  106. data/lib/zen/package/sections/lib/sections/model/section.rb +62 -0
  107. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +53 -0
  108. data/lib/zen/package/sections/lib/sections/view/admin/edit.xhtml +7 -0
  109. data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +107 -0
  110. data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +93 -0
  111. data/lib/zen/package/sections/lib/sections/view/admin/new.xhtml +7 -0
  112. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/edit.xhtml +7 -0
  113. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +233 -0
  114. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +82 -0
  115. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/new.xhtml +7 -0
  116. data/lib/zen/{packages/settings → package/sections}/migrations/.gitkeep +0 -0
  117. data/lib/zen/{packages → package}/sections/migrations/1295251836_create_schema.rb +6 -6
  118. data/lib/zen/{packages → package}/settings/lib/settings.rb +0 -0
  119. data/lib/zen/{packages → package}/settings/lib/settings/controller/settings.rb +33 -24
  120. data/lib/zen/package/settings/lib/settings/language/en/settings.yml +26 -0
  121. data/lib/zen/{packages → package}/settings/lib/settings/liquid/setting.rb +5 -3
  122. data/lib/zen/package/settings/lib/settings/model/setting.rb +113 -0
  123. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +111 -0
  124. data/lib/zen/{packages/users → package/settings}/migrations/.gitkeep +0 -0
  125. data/lib/zen/{packages → package}/settings/migrations/1295597111_create_schema.rb +2 -2
  126. data/lib/zen/package/settings/migrations/1299538742_add_language_key.rb +62 -0
  127. data/lib/zen/{packages → package}/users/lib/users.rb +6 -2
  128. data/lib/zen/package/users/lib/users/controller/access_rules.rb +238 -0
  129. data/lib/zen/package/users/lib/users/controller/user_groups.rb +217 -0
  130. data/lib/zen/{packages → package}/users/lib/users/controller/users.rb +115 -57
  131. data/lib/zen/package/users/lib/users/language/en/access_rules.yml +35 -0
  132. data/lib/zen/package/users/lib/users/language/en/user_groups.yml +31 -0
  133. data/lib/zen/package/users/lib/users/language/en/users.yml +50 -0
  134. data/lib/zen/{packages → package}/users/lib/users/liquid/user.rb +8 -6
  135. data/lib/zen/{packages → package}/users/lib/users/liquid/users.rb +5 -3
  136. data/lib/zen/{packages → package}/users/lib/users/model/access_rule.rb +11 -3
  137. data/lib/zen/{packages → package}/users/lib/users/model/user.rb +5 -1
  138. data/lib/zen/{packages → package}/users/lib/users/model/user_group.rb +6 -3
  139. data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +42 -0
  140. data/lib/zen/package/users/lib/users/view/admin/access-rules/edit.xhtml +7 -0
  141. data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +108 -0
  142. data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +93 -0
  143. data/lib/zen/package/users/lib/users/view/admin/access-rules/new.xhtml +7 -0
  144. data/lib/zen/package/users/lib/users/view/admin/user-groups/edit.xhtml +7 -0
  145. data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +37 -0
  146. data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +76 -0
  147. data/lib/zen/package/users/lib/users/view/admin/user-groups/new.xhtml +7 -0
  148. data/lib/zen/package/users/lib/users/view/admin/users/edit.xhtml +7 -0
  149. data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +53 -0
  150. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +81 -0
  151. data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +27 -0
  152. data/lib/zen/package/users/lib/users/view/admin/users/new.xhtml +7 -0
  153. data/{pkg → lib/zen/package/users/migrations}/.gitkeep +0 -0
  154. data/lib/zen/{packages → package}/users/migrations/1295281013_create_schema.rb +2 -2
  155. data/lib/zen/public/admin/css/boilerplate.css +62 -60
  156. data/lib/zen/public/admin/css/buttons.css +46 -0
  157. data/lib/zen/public/admin/css/datepicker.css +163 -0
  158. data/lib/zen/public/admin/css/editor.css +91 -0
  159. data/lib/zen/public/admin/css/forms.css +68 -0
  160. data/lib/zen/public/admin/css/general.css +34 -419
  161. data/lib/zen/public/admin/css/grid.css +26 -26
  162. data/lib/zen/public/admin/css/layout.css +73 -62
  163. data/lib/zen/public/admin/css/modals.css +63 -0
  164. data/lib/zen/public/admin/css/notifications.css +84 -0
  165. data/lib/zen/public/admin/css/tables.css +71 -0
  166. data/lib/zen/public/admin/css/tabs.css +53 -0
  167. data/lib/zen/public/admin/js/mootools/more.js +139 -51
  168. data/lib/zen/public/admin/js/vendor/datepicker/Picker.Attach.js +137 -0
  169. data/lib/zen/public/admin/js/vendor/datepicker/Picker.Date.js +576 -0
  170. data/lib/zen/public/admin/js/vendor/datepicker/Picker.js +291 -0
  171. data/lib/zen/public/admin/js/vendor/datepicker/README.md +325 -0
  172. data/lib/zen/public/admin/js/vendor/datepicker/locale.js +16 -0
  173. data/lib/zen/public/admin/js/zen/editor/base.js +173 -183
  174. data/lib/zen/public/admin/js/zen/editor/drivers/html.js +74 -89
  175. data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +72 -87
  176. data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +72 -87
  177. data/lib/zen/public/admin/js/zen/init.js +65 -51
  178. data/lib/zen/public/admin/js/zen/modal.js +108 -121
  179. data/lib/zen/public/admin/js/zen/notification.js +163 -165
  180. data/lib/zen/public/admin/js/zen/tabs.js +203 -210
  181. data/lib/zen/task/build.rb +123 -0
  182. data/lib/zen/task/clean.rb +46 -0
  183. data/lib/zen/task/db.rb +120 -0
  184. data/lib/zen/task/package.rb +82 -0
  185. data/lib/zen/task/proto.rb +116 -0
  186. data/{LICENSE → license.txt} +2 -2
  187. data/proto/app/Thorfile +4 -0
  188. data/proto/app/config/middlewares.rb +3 -3
  189. data/proto/app/config/requires.rb +1 -6
  190. data/proto/app/start.rb +5 -10
  191. data/{lib/zen/packages/settings → proto/package}/LICENSE +0 -0
  192. data/{lib/zen/packages/categories → proto/package}/README.textile +0 -0
  193. data/proto/package/lib/package.rb +41 -0
  194. data/proto/{module/lib/module → package/lib/package}/controller/controllers.rb +3 -2
  195. data/proto/{module/lib/module → package/lib/package}/language/en/languages.rb +0 -0
  196. data/proto/{module/lib/module → package/lib/package}/model/model.rb +0 -0
  197. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/edit.xhtml +0 -0
  198. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/form.xhtml +0 -0
  199. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/index.xhtml +0 -0
  200. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/new.xhtml +0 -0
  201. data/proto/{module → package}/migrations/.gitkeep +0 -0
  202. metadata +199 -280
  203. data/README.textile +0 -42
  204. data/Rakefile +0 -6
  205. data/doc/Categories.html +0 -93
  206. data/doc/Categories/Controllers.html +0 -93
  207. data/doc/Categories/Controllers/Categories.html +0 -995
  208. data/doc/Categories/Controllers/CategoryGroups.html +0 -878
  209. data/doc/Categories/Models.html +0 -97
  210. data/doc/Categories/Models/Category.html +0 -269
  211. data/doc/Categories/Models/CategoryGroup.html +0 -231
  212. data/doc/Comments.html +0 -93
  213. data/doc/Comments/Controllers.html +0 -93
  214. data/doc/Comments/Controllers/Comments.html +0 -797
  215. data/doc/Comments/Controllers/CommentsForm.html +0 -487
  216. data/doc/Comments/Liquid.html +0 -93
  217. data/doc/Comments/Liquid/CommentForm.html +0 -522
  218. data/doc/Comments/Liquid/Comments.html +0 -543
  219. data/doc/Comments/Models.html +0 -95
  220. data/doc/Comments/Models/Comment.html +0 -260
  221. data/doc/CustomFields.html +0 -93
  222. data/doc/CustomFields/Controllers.html +0 -93
  223. data/doc/CustomFields/Controllers/CustomFieldGroups.html +0 -902
  224. data/doc/CustomFields/Controllers/CustomFields.html +0 -974
  225. data/doc/CustomFields/Models.html +0 -97
  226. data/doc/CustomFields/Models/CustomField.html +0 -272
  227. data/doc/CustomFields/Models/CustomFieldGroup.html +0 -259
  228. data/doc/CustomFields/Models/CustomFieldValue.html +0 -154
  229. data/doc/Ramaze.html +0 -93
  230. data/doc/Ramaze/Helper.html +0 -93
  231. data/doc/Ramaze/Helper/ACL.html +0 -531
  232. data/doc/Ramaze/Helper/Asset.html +0 -617
  233. data/doc/Ramaze/Helper/Breadcrumb.html +0 -411
  234. data/doc/Ramaze/Helper/Common.html +0 -738
  235. data/doc/Sections.html +0 -93
  236. data/doc/Sections/Controllers.html +0 -93
  237. data/doc/Sections/Controllers/SectionEntries.html +0 -1100
  238. data/doc/Sections/Controllers/Sections.html +0 -953
  239. data/doc/Sections/Liquid.html +0 -93
  240. data/doc/Sections/Liquid/SectionEntries.html +0 -674
  241. data/doc/Sections/Liquid/Sections.html +0 -494
  242. data/doc/Sections/Models.html +0 -97
  243. data/doc/Sections/Models/Section.html +0 -272
  244. data/doc/Sections/Models/SectionEntry.html +0 -264
  245. data/doc/Sequel.html +0 -91
  246. data/doc/Sequel/Model.html +0 -243
  247. data/doc/Settings.html +0 -93
  248. data/doc/Settings/Controllers.html +0 -91
  249. data/doc/Settings/Controllers/Settings.html +0 -565
  250. data/doc/Settings/Liquid.html +0 -91
  251. data/doc/Settings/Liquid/Setting.html +0 -426
  252. data/doc/Settings/Models.html +0 -95
  253. data/doc/Settings/Models/Setting.html +0 -293
  254. data/doc/Users.html +0 -93
  255. data/doc/Users/Controllers.html +0 -93
  256. data/doc/Users/Controllers/AccessRules.html +0 -904
  257. data/doc/Users/Controllers/UserGroups.html +0 -879
  258. data/doc/Users/Controllers/Users.html +0 -1124
  259. data/doc/Users/Liquid.html +0 -93
  260. data/doc/Users/Liquid/User.html +0 -480
  261. data/doc/Users/Liquid/Users.html +0 -495
  262. data/doc/Users/Models.html +0 -97
  263. data/doc/Users/Models/AccessRule.html +0 -257
  264. data/doc/Users/Models/User.html +0 -649
  265. data/doc/Users/Models/UserGroup.html +0 -267
  266. data/doc/Zen.html +0 -391
  267. data/doc/Zen/Bin.html +0 -113
  268. data/doc/Zen/Bin/Base.html +0 -727
  269. data/doc/Zen/Controllers.html +0 -115
  270. data/doc/Zen/Controllers/AdminController.html +0 -298
  271. data/doc/Zen/Controllers/BaseController.html +0 -272
  272. data/doc/Zen/Controllers/FrontendController.html +0 -164
  273. data/doc/Zen/Controllers/MainController.html +0 -421
  274. data/doc/Zen/Database.html +0 -498
  275. data/doc/Zen/Language.html +0 -660
  276. data/doc/Zen/Liquid.html +0 -117
  277. data/doc/Zen/Liquid/ControllerBehavior.html +0 -448
  278. data/doc/Zen/Liquid/General.html +0 -444
  279. data/doc/Zen/Liquid/Redirect.html +0 -435
  280. data/doc/Zen/Liquid/Strip.html +0 -447
  281. data/doc/Zen/Logger.html +0 -393
  282. data/doc/Zen/Package.html +0 -909
  283. data/doc/_index.html +0 -724
  284. data/doc/class_list.html +0 -36
  285. data/doc/css/common.css +0 -1
  286. data/doc/css/full_list.css +0 -53
  287. data/doc/css/style.css +0 -310
  288. data/doc/file.README.html +0 -86
  289. data/doc/file_list.html +0 -38
  290. data/doc/frames.html +0 -13
  291. data/doc/index.html +0 -86
  292. data/doc/js/app.js +0 -203
  293. data/doc/js/full_list.js +0 -149
  294. data/doc/js/jquery.js +0 -154
  295. data/doc/method_list.html +0 -1139
  296. data/doc/top-level-namespace.html +0 -88
  297. data/lib/zen/language/en/zen_general.rb +0 -21
  298. data/lib/zen/language/en/zen_models.rb +0 -39
  299. data/lib/zen/packages/categories/LICENSE +0 -19
  300. data/lib/zen/packages/categories/lib/categories/controller/categories.rb +0 -202
  301. data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +0 -173
  302. data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +0 -38
  303. data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +0 -37
  304. data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +0 -7
  305. data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +0 -36
  306. data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +0 -70
  307. data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +0 -7
  308. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +0 -7
  309. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +0 -18
  310. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +0 -72
  311. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +0 -7
  312. data/lib/zen/packages/comments/LICENSE +0 -19
  313. data/lib/zen/packages/comments/README.textile +0 -0
  314. data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +0 -52
  315. data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +0 -7
  316. data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +0 -31
  317. data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +0 -74
  318. data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +0 -11
  319. data/lib/zen/packages/custom_fields/LICENSE +0 -19
  320. data/lib/zen/packages/custom_fields/README.textile +0 -0
  321. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +0 -179
  322. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +0 -194
  323. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +0 -45
  324. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +0 -64
  325. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +0 -7
  326. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +0 -18
  327. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +0 -88
  328. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +0 -7
  329. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +0 -7
  330. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +0 -50
  331. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +0 -75
  332. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +0 -7
  333. data/lib/zen/packages/sections/LICENSE +0 -19
  334. data/lib/zen/packages/sections/README.textile +0 -43
  335. data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +0 -58
  336. data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +0 -63
  337. data/lib/zen/packages/sections/lib/sections/model/section.rb +0 -43
  338. data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +0 -43
  339. data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +0 -7
  340. data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +0 -54
  341. data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +0 -77
  342. data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +0 -7
  343. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +0 -7
  344. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +0 -147
  345. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +0 -74
  346. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +0 -7
  347. data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +0 -18
  348. data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +0 -11
  349. data/lib/zen/packages/settings/README.textile +0 -0
  350. data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +0 -56
  351. data/lib/zen/packages/settings/lib/settings/model/setting.rb +0 -38
  352. data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +0 -79
  353. data/lib/zen/packages/users/LICENSE +0 -19
  354. data/lib/zen/packages/users/README.textile +0 -0
  355. data/lib/zen/packages/users/lib/users/controller/access_rules.rb +0 -186
  356. data/lib/zen/packages/users/lib/users/controller/user_groups.rb +0 -171
  357. data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +0 -49
  358. data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +0 -42
  359. data/lib/zen/packages/users/lib/users/language/en/users.rb +0 -63
  360. data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +0 -43
  361. data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +0 -7
  362. data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +0 -68
  363. data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +0 -85
  364. data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +0 -7
  365. data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +0 -7
  366. data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +0 -19
  367. data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +0 -69
  368. data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +0 -7
  369. data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +0 -7
  370. data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +0 -25
  371. data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +0 -73
  372. data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +0 -22
  373. data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +0 -7
  374. data/lib/zen/tasks.rb +0 -6
  375. data/proto/app/Rakefile +0 -2
  376. data/proto/module/LICENSE +0 -0
  377. data/proto/module/README.textile +0 -0
  378. data/proto/module/lib/module.rb +0 -15
  379. data/spec/javascript/css/base.css +0 -177
  380. data/spec/javascript/css/style.css +0 -204
  381. data/spec/javascript/css/typography.css +0 -70
  382. data/spec/javascript/editor/index.html +0 -65
  383. data/spec/javascript/images/close.png +0 -0
  384. data/spec/javascript/images/info.png +0 -0
  385. data/spec/javascript/js/editor.js +0 -16
  386. data/spec/javascript/js/modal.js +0 -12
  387. data/spec/javascript/js/namespace.js +0 -2
  388. data/spec/javascript/js/notification.js +0 -43
  389. data/spec/javascript/js/tabs.js +0 -8
  390. data/spec/javascript/modal/index.html +0 -45
  391. data/spec/javascript/notification/index.html +0 -48
  392. data/spec/javascript/tabs/index.html +0 -73
  393. data/spec/javascript/tabs/tab_1.html +0 -1
  394. data/spec/javascript/tabs/tab_2.html +0 -1
  395. data/spec/zen/base/language.rb +0 -31
  396. data/spec/zen/base/logger.rb +0 -34
  397. data/spec/zen/base/package.rb +0 -47
  398. data/spec/zen/config/database.rb +0 -8
  399. data/spec/zen/helper/asset.rb +0 -26
  400. data/spec/zen/helper/breadcrumb.rb +0 -24
  401. data/spec/zen/language/en/general.rb +0 -4
  402. data/spec/zen/language/nl/general.rb +0 -4
  403. data/spec/zen/liquid/general.rb +0 -42
  404. data/spec/zen/logs/.gitkeep +0 -0
  405. data/spec/zen/spec.rb +0 -9
  406. data/spec/zen/spec_database.db +0 -0
  407. data/tasks/bacon.rake +0 -99
  408. data/tasks/build.rake +0 -72
  409. data/tasks/clean.rake +0 -18
  410. data/tasks/db.rake +0 -81
  411. data/tasks/doc.rake +0 -5
  412. data/tasks/extension.rake +0 -65
  413. data/tasks/proto.rake +0 -37
  414. data/tasks/theme.rake +0 -63
@@ -1,5 +1,6 @@
1
1
  require 'ramaze/log/rotatinginformer'
2
2
 
3
+ #:nodoc:
3
4
  module Zen
4
5
  ##
5
6
  # The Logger class acts as a small wrapper around the RotatingInformer class provided
@@ -15,12 +16,14 @@ module Zen
15
16
  trait :format => "[%time] %prefix %text"
16
17
 
17
18
  ##
18
- # Create a new instance of the logging class. The first parameter is the directory in which the log files
19
- # should be stored. Based on this paramater and the current mode (specified in Ramaze.options.mode) the
20
- # required directories will be created. When specifying a directory you should NOT add trailing slash.
19
+ # Create a new instance of the logging class. The first parameter is the directory
20
+ # in which the log files should be stored. Based on this paramater and the current
21
+ # mode (specified in Ramaze.options.mode) the required directories will be created.
22
+ # When specifying a directory you should NOT add trailing slash.
21
23
  #
22
24
  # @example
23
- # # When running in :dev mode this will result in the log files being stored in logs/database/dev
25
+ # # When running in :dev mode this will result in the log files being stored in
26
+ # # logs/database/dev
24
27
  # Zen::Logger.new 'logs/database'
25
28
  #
26
29
  # @author Yorick Peterse
@@ -41,7 +44,6 @@ module Zen
41
44
 
42
45
  ##
43
46
  # The write method is called whenever a log message has to be written to a file.
44
- # Note that this method will only be used by webservers such as WEBRick. Sequel ignores this method.
45
47
  #
46
48
  # @author Yorick Peterse
47
49
  # @since 0.1
@@ -51,4 +53,4 @@ module Zen
51
53
  self.log(:info, message)
52
54
  end
53
55
  end
54
- end
56
+ end
@@ -1,17 +1,18 @@
1
1
  require 'ramaze/gestalt'
2
2
 
3
+ #:nodoc:
3
4
  module Zen
4
5
  ##
5
- # Module used for registering extensions and themes, setting their details and the whole shebang.
6
- # Packages follow the same directory structure as Rubygems and can actually be installed
7
- # using either Rubygems or by storing them in a custom directory. As long as you require
8
- # the correct file you're good to go.
6
+ # Module used for registering extensions and themes, setting their details and the
7
+ # whole shebang. Packages follow the same directory structure as Rubygems and can
8
+ # actually be installed using either Rubygems or by storing them in a custom directory.
9
+ # As long as you require the correct file you're good to go.
9
10
  #
10
11
  # Packages are added or "described" using a simple block and the add() method as following:
11
12
  #
12
- # bc. Zen::Package.add do |ext|
13
- # # ....
14
- # end
13
+ # Zen::Package.add do |ext|
14
+ # # ....
15
+ # end
15
16
  #
16
17
  # When using this block you're required to set the following attributes:
17
18
  #
@@ -27,7 +28,7 @@ module Zen
27
28
  #
28
29
  # Optionally you can also specify the attribute "menu" (more on that later).
29
30
  #
30
- # h2. Menu Items
31
+ # ## Menu Items
31
32
  #
32
33
  # The package system easily allows modules to add navigation/sub-navigation elements
33
34
  # to the backend menu. Each extension can have an attribute named "menu", this attribute
@@ -40,20 +41,20 @@ module Zen
40
41
  # will again contain an array of hashes just like regular navigation elements.
41
42
  # For example, one could do the following:
42
43
  #
43
- # @ext.menu = [{:title => "Dashboard", :url => "admin/dashboard"}]@
44
+ # ext.menu = [{:title => "Dashboard", :url => "admin/dashboard"}]
44
45
  #
45
46
  # Adding a number of child elements isn't very difficult either:
46
47
  #
47
- # bc. ext.menu = [{
48
- # :title => "Dashboard", :url => "admin/dashboard",
49
- # :children => [{:title => "Child", :url => "admin/dashboard/child"}]
50
- # }]
48
+ # ext.menu = [{
49
+ # :title => "Dashboard", :url => "admin/dashboard",
50
+ # :children => [{:title => "Child", :url => "admin/dashboard/child"}]
51
+ # }]
51
52
  #
52
53
  # Once a certain number of navigation elements have been added you can generate the
53
54
  # HTML for a fully fledged navigation menu using the build_menu() method. This method
54
55
  # uses Gestalt to build the HTML and also takes care of permissions for each user/module.
55
56
  #
56
- # h2. Migrations
57
+ # ## Migrations
57
58
  #
58
59
  # If your package uses it's own database tables it's best to use migrations as these make
59
60
  # it very easy to install/uninstall the extension. Migrations should be put in the root
@@ -61,22 +62,24 @@ module Zen
61
62
  # should be located in "foobar/migrations", the lib directory in "foobar/lib", etc.
62
63
  #
63
64
  # Migrations can be executed using the Rake task "extension:migrate" or "db:migrate",
64
- # the latter will install all extensions while the first one will only install the specified
65
- # extension. Migration prototypes can be generated by the Rake task
65
+ # the latter will install all extensions while the first one will only install the
66
+ # specified extension. Migration prototypes can be generated by the Rake task
66
67
  # "proto:migration[DIRECTORY]" where DIRECTORY is the path to your migrations directory.
67
68
  #
68
- # h2. Themes
69
+ # ## Themes
69
70
  #
70
71
  # Themes are essentially packages like the sections or comments module except that they
71
- # have a few limitations and work a bit different. First of all themes can't add navigation
72
- # items to the backend and second they should _always_ have the following directories:
72
+ # have a few limitations and work a bit different. First of all themes can't add
73
+ # navigation items to the backend and second they should _always_ have the following
74
+ # directories:
73
75
  #
74
76
  # * theme/lib/theme/templates
75
77
  # * theme/lib/theme/public
76
78
  #
77
- # The templates directory is used to store all Liquid templates and template groups, the public
78
- # directory is used for CSS files, images and so on. Themes can have migrations just
79
- # like extensions which makes it relatively easy to share a theme with somebody else.
79
+ # The templates directory is used to store all Liquid templates and template groups,
80
+ # the public directory is used for CSS files, images and so on. Themes can have
81
+ # migrations just like extensions which makes it relatively easy to share a theme
82
+ # with somebody else.
80
83
  #
81
84
  # @author Yorick Peterse
82
85
  # @since 0.1
@@ -85,7 +88,6 @@ module Zen
85
88
  class << self
86
89
  attr_reader :extensions
87
90
  attr_reader :themes
88
- attr_accessor :classes
89
91
  end
90
92
 
91
93
  ##
@@ -93,10 +95,10 @@ module Zen
93
95
  # author, version and so on. Extensions can be added using a simple
94
96
  # block as following:
95
97
  #
96
- # Zen::Package.add do |ext|
97
- # ext.name = "Name"
98
- # ext.author = "Author"
99
- # end
98
+ # Zen::Package.add do |ext|
99
+ # ext.name = "Name"
100
+ # ext.author = "Author"
101
+ # end
100
102
  #
101
103
  # When adding a new extension the following setters are required:
102
104
  #
@@ -130,6 +132,11 @@ module Zen
130
132
  if !Ramaze.options.roots.include?(package.directory)
131
133
  Ramaze.options.roots.push(package.directory)
132
134
  end
135
+
136
+ # Update the language directory
137
+ if !Zen::Language.options.paths.include?(package.directory)
138
+ Zen::Language.options.paths.push(package.directory)
139
+ end
133
140
 
134
141
  # Themes and extensions each have a different accessor
135
142
  if package.type.to_s == 'theme'
@@ -171,7 +178,7 @@ module Zen
171
178
  # main UL element.
172
179
  # @since 0.1
173
180
  #
174
- def self.build_menu css_class = ''
181
+ def self.build_menu(css_class = '')
175
182
  @g = Ramaze::Gestalt.new
176
183
  menu_items = []
177
184
 
@@ -230,4 +237,4 @@ module Zen
230
237
  end
231
238
 
232
239
  end
233
- end
240
+ end
@@ -1,3 +1,4 @@
1
+ #:nodoc:
1
2
  module Zen
2
3
  ##
3
4
  # Defines the current version of Zen as a string. This constant
@@ -7,5 +8,5 @@ module Zen
7
8
  # @author Yorick Peterse
8
9
  # @since 0.1
9
10
  #
10
- Version = '0.1a'
11
+ Version = '0.2'
11
12
  end
@@ -1,6 +1,9 @@
1
1
  require 'fileutils'
2
+ require 'ruby-extensions'
2
3
 
4
+ #:nodoc:
3
5
  module Zen
6
+ #:nodoc:
4
7
  module Bin
5
8
  ##
6
9
  # Main binary class that contains a few methods that can be used
@@ -27,7 +30,7 @@ module Zen
27
30
  # @param [String] name The name of the new application
28
31
  # @since 0.1
29
32
  #
30
- def app name
33
+ def app(name)
31
34
  # Do we have an application name?
32
35
  if name.nil?
33
36
  abort "You need to specify a name for your application"
@@ -50,7 +53,7 @@ module Zen
50
53
  1. edit the following configuration files:
51
54
  * config/database.rb
52
55
  * config/config.rb
53
- 2. run rake db:migrate to install all extensions and create a default user
56
+ 2. run thor db:migrate to install all extensions and create a default user
54
57
  3. have fun!"
55
58
  rescue => e
56
59
  abort "Failed to generate the application: #{e}"
@@ -59,73 +62,6 @@ module Zen
59
62
 
60
63
  # ------------------------------------------------
61
64
 
62
- desc "extension [NAME]", "Creates a new Zen extension"
63
- method_option :force, :type => :boolean, :aliases => "-f",
64
- :desc => "Overwrites any existing directories"
65
-
66
- ##
67
- # Creates a new Zen extension for the given name.
68
- #
69
- # @author Yorick Peterse
70
- # @param [String] name The name of the extension
71
- # @since 0.1
72
- #
73
- def extension name
74
- name = name.strip.downcase.gsub(' ', '_')
75
- proto = __DIR__('../../../proto/module')
76
- klass = name.camel_case
77
-
78
- if name.nil?
79
- abort "You need to specify an extension name"
80
- end
81
-
82
- extension_path = "./#{name}"
83
-
84
- if File.directory?(extension_path) and !options.force?
85
- abort "Extension already exists, use -f to overwrite it"
86
- else
87
- FileUtils.rm_rf(extension_path)
88
- end
89
-
90
- # Rename all files and folders
91
- begin
92
- FileUtils.cp_r(proto, extension_path)
93
-
94
- lib_path = "#{extension_path}/lib/#{name}"
95
-
96
- # Rename the base file and directory
97
- FileUtils.mv("#{extension_path}/lib/module" , lib_path)
98
- FileUtils.mv("#{extension_path}/lib/module.rb", "#{extension_path}/lib/#{name}.rb")
99
-
100
- # ------------------------------------------------
101
-
102
- controller_filename = klass.snake_case.pluralize
103
- model_filename = klass.snake_case.singularize
104
-
105
- # Generate the controller
106
- controller = File.open("#{lib_path}/controller/controllers.rb", 'r').read
107
- controller.gsub!('CONTROLLER', klass.pluralize)
108
- controller.gsub!('EXTENSION' , klass.pluralize)
109
-
110
- FileUtils.mv("#{lib_path}/controller/controllers.rb", "#{lib_path}/controller/#{controller_filename}.rb")
111
- File.open("#{lib_path}/controller/#{controller_filename}.rb", 'w').write(controller)
112
-
113
- # Generate the model
114
- model = File.open("#{lib_path}/model/model.rb", 'r').read
115
- model.gsub!('MODEL' , klass.singularize)
116
- model.gsub!('EXTENSION' , klass.pluralize)
117
-
118
- FileUtils.mv("#{lib_path}/model/model.rb", "#{lib_path}/model/#{model_filename}.rb")
119
- File.open("#{lib_path}/model/#{model_filename}.rb", 'w').write(model)
120
-
121
- puts "Done! Don't forget to rename the controllers/models/etc"
122
- rescue => e
123
- abort "Failed to generate the extesion: #{e}"
124
- end
125
- end
126
-
127
- # ------------------------------------------------
128
-
129
65
  desc "version", "Shows the current version of Zen"
130
66
 
131
67
  ##
@@ -148,7 +84,7 @@ module Zen
148
84
  # @see Thor.help()
149
85
  # @since 0.1
150
86
  #
151
- def help task = nil, subcommand = false
87
+ def help(task = nil, subcommand = false)
152
88
  if task.nil?
153
89
  puts "Zen is a modular CMS written using Ramaze.
154
90
 
@@ -170,4 +106,4 @@ Project Details:
170
106
  end
171
107
  end
172
108
  end
173
- end
109
+ end
@@ -1,19 +1,21 @@
1
+ #:nodoc:
1
2
  module Zen
3
+ #:nodoc:
2
4
  module Controllers
3
5
  ##
4
6
  # The admin controller is a base controller that should be extended by all controllers
5
- # for the backend of Zen. This controller will automatically check to see if the user is
6
- # logged in and perform several other tasks such as loading all Javascript and CSS stylesheet
7
- # along with our helpers and so on.
7
+ # for the backend of Zen. This controller will automatically check to see if the
8
+ # user is logged in and perform several other tasks such as loading all Javascript
9
+ # and CSS stylesheet along with our helpers and so on.
8
10
  #
9
- # h2. Authentication
11
+ # ## Authentication
10
12
  #
11
- # It's important to remember that any controller that extends this one will require the
12
- # user to be logged in. The only exception for this is the login method for the Users
13
- # controller, mapped to /admin/users/login. If a user isn't logged in he/she will be redirected
14
- # to the login page.
13
+ # It's important to remember that any controller that extends this one will require
14
+ # the user to be logged in. The only exception for this is the login method for the
15
+ # Users controller, mapped to /admin/users/login. If a user isn't logged in he/she
16
+ # will be redirected to the login page.
15
17
  #
16
- # h2. Helpers
18
+ # ## Helpers
17
19
  #
18
20
  # The admin controller loads the following helpers:
19
21
  #
@@ -31,7 +33,7 @@ module Zen
31
33
  class AdminController < Zen::Controllers::BaseController
32
34
  layout :admin
33
35
  engine :etanni
34
- helper :blue_form, :common, :breadcrumb, :user, :acl, :asset, :gravatar
36
+ helper :blue_form, :common, :breadcrumb, :user, :acl, :asset
35
37
 
36
38
  ##
37
39
  # The initialize method is called upon class initalization and is used to process several
@@ -44,7 +46,11 @@ module Zen
44
46
  super
45
47
 
46
48
  # Load our CSS and Javascript files
47
- require_css('boilerplate', 'grid', 'layout', 'general')
49
+ require_css(
50
+ 'boilerplate', 'grid', 'layout', 'general', 'forms', 'tables', 'buttons',
51
+ 'tabs', 'notifications', 'editor'
52
+ )
53
+
48
54
  require_js('zen/tabs', 'zen/notification', 'zen/modal', 'zen/editor/base',
49
55
  'zen/editor/drivers/html', 'zen/editor/drivers/textile', 'zen/editor/drivers/markdown',
50
56
  'zen/init'
@@ -54,6 +60,20 @@ module Zen
54
60
  if request.env['SCRIPT_NAME'] != 'admin/users/' and request.env['PATH_INFO'] != '/login'
55
61
  redirect '/admin/users/login' unless logged_in?
56
62
  end
63
+
64
+ # Hash containing all available formats for input fields
65
+ @format_hash = {
66
+ 'html' => lang('zen_general.special.format_hash.html'),
67
+ 'textile' => lang('zen_general.special.format_hash.textile'),
68
+ 'markdown' => lang('zen_general.special.format_hash.markdown'),
69
+ 'plain' => lang('zen_general.special.format_hash.plain')
70
+ }
71
+
72
+ @boolean_hash = {
73
+ true => lang('zen_general.special.boolean_hash.true'),
74
+ false => lang('zen_general.special.boolean_hash.false')
75
+ }.invert
76
+
57
77
  end
58
78
  end
59
79
  end
@@ -1,19 +1,23 @@
1
+ #:nodoc:
1
2
  module Zen
3
+ #:nodoc:
2
4
  module Controllers
3
5
  ##
4
- # The BaseController is extended by both the FrontendController and the BackendController.
5
- # This controller is mostly used to set and retrieve data that's used in both the
6
- # backend and the frontend.
6
+ # The BaseController is extended by both the FrontendController and the
7
+ # BackendController. This controller is mostly used to set and retrieve data that's
8
+ # used in both the backend and the frontend.
7
9
  #
8
10
  # @author Yorick Peterse
9
11
  # @since 0.1
10
12
  #
11
13
  class BaseController < Ramaze::Controller
14
+ include ::Zen::Language
15
+
12
16
  helper :csrf, :cgi
13
17
 
14
18
  ##
15
- # The initialize method is called upon class initalization and is used to process several
16
- # items before loading the controller(s) for the current module.
19
+ # The initialize method is called upon class initalization and is used to
20
+ # process several items before loading the controller(s) for the current module.
17
21
  #
18
22
  # @author Yorick Peterse
19
23
  # @since 1.0
@@ -21,18 +25,14 @@ module Zen
21
25
  def initialize
22
26
  super
23
27
 
24
- # The trait for the User helper has to be specified in the constructor as
25
- # our user model is loaded after this class is loaded (but before it's initialized)
26
- self.trait :user_model => ::Users::Models::User
27
-
28
28
  # Get all settings
29
- if !session[:settings]
30
- session[:settings] = ::Settings::Models::Setting.get_settings
29
+ if !@settings
30
+ @settings = ::Settings::Models::Setting.get_settings
31
31
  end
32
32
 
33
33
  # Override the language
34
- Zen.options.language = session[:settings][:language]
35
- @zen_general_lang = Zen::Language.load('zen_general')
34
+ ::Zen::Language.options.language = @settings[:language]
35
+ ::Zen::Language.load('zen_general')
36
36
  end
37
37
  end
38
38
  end
@@ -1,4 +1,6 @@
1
+ #:nodoc:
1
2
  module Zen
3
+ #:nodoc:
2
4
  module Controllers
3
5
  ##
4
6
  # Controller that should be extended by other controllers that can be accessed from
@@ -1,4 +1,6 @@
1
+ #:nodoc:
1
2
  module Zen
3
+ #:nodoc:
2
4
  module Controllers
3
5
  ##
4
6
  # The MainController controller is used to load the correct template files based
@@ -23,7 +25,6 @@ module Zen
23
25
  # @param [Array] uri Array containing all arguments (thus the URI).
24
26
  #
25
27
  def index(*uri)
26
- settings = session[:settings]
27
28
  @uri = []
28
29
 
29
30
  # Clean the URI of nasty input
@@ -38,11 +39,11 @@ module Zen
38
39
  end
39
40
 
40
41
  # A theme is always required
41
- if settings[:theme].nil?
42
+ if @settings[:theme].nil? or @settings[:theme].empty?
42
43
  respond(@zen_general_lang.errors[:no_theme])
43
44
  end
44
-
45
- theme = ::Zen::Package[settings[:theme]]
45
+
46
+ theme = ::Zen::Package[@settings[:theme]]
46
47
  group = @uri[0]
47
48
  template = @uri[1]
48
49
 
@@ -65,23 +66,23 @@ module Zen
65
66
  ::Liquid::Template.file_system = ::Liquid::LocalFileSystem.new(partial_path)
66
67
 
67
68
  # Is the website down?
68
- if settings[:website_enabled] == '0'
69
+ if @settings[:website_enabled] == '0'
69
70
  offline_path = theme_path + "/offline.liquid"
70
71
 
71
72
  if File.exist?(offline_path)
72
- render_file offline_path
73
+ render_file(offline_path)
73
74
  else
74
75
  respond(@zen_general_lang.errors[:website_offline])
75
76
  end
76
77
  else
77
78
  # Check if the group exists
78
79
  if File.directory?(group_path) and File.exists?(template_path)
79
- render_file template_path
80
+ render_file(template_path)
80
81
  else
81
82
  not_found = theme_path + "/404.liquid"
82
83
 
83
84
  if File.exist?(not_found)
84
- render_file not_found
85
+ render_file(not_found)
85
86
  else
86
87
  respond(@zen_general_lang.errors[:no_templates], 404)
87
88
  end