we5-browsercms 3.0.5.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1025) hide show
  1. data/app/controllers/cms/application_controller.rb +2 -12
  2. data/app/controllers/cms/categories_controller.rb +4 -1
  3. data/app/controllers/cms/content_block_controller.rb +1 -1
  4. data/app/controllers/cms/content_controller.rb +3 -83
  5. data/app/controllers/cms/dashboard_controller.rb +1 -1
  6. data/app/controllers/cms/links_controller.rb +2 -2
  7. data/app/controllers/cms/pages_controller.rb +2 -0
  8. data/app/controllers/cms/portlets_controller.rb +2 -2
  9. data/app/controllers/cms/tags_controller.rb +4 -1
  10. data/app/controllers/tests/pretend_controller.rb +32 -0
  11. data/app/helpers/application_helper.rb +3 -1
  12. data/app/helpers/cms/application_helper.rb +18 -32
  13. data/app/helpers/cms/form_builder.rb +129 -54
  14. data/app/helpers/cms/menu_helper.rb +13 -2
  15. data/app/helpers/cms/page_helper.rb +26 -2
  16. data/app/helpers/cms/rendering_helper.rb +42 -0
  17. data/app/models/guest_user.rb +11 -3
  18. data/app/models/page.rb +1 -1
  19. data/app/models/page_template.rb +1 -18
  20. data/app/models/portlet.rb +12 -2
  21. data/app/models/section.rb +41 -33
  22. data/app/models/tag.rb +1 -1
  23. data/app/models/task.rb +32 -26
  24. data/app/models/templates.rb +31 -0
  25. data/app/models/user.rb +35 -9
  26. data/app/portlets/forgot_password_portlet.rb +1 -0
  27. data/app/views/cms/blocks/_toolbar_for_member.html.erb +1 -1
  28. data/app/views/cms/blocks/edit.html.erb +5 -0
  29. data/app/views/cms/blocks/index.html.erb +26 -39
  30. data/app/views/cms/blocks/show.html.erb +3 -0
  31. data/app/views/cms/blocks/usages.html.erb +17 -22
  32. data/app/views/cms/blocks/versions.html.erb +25 -53
  33. data/app/views/cms/connectors/new.html.erb +6 -6
  34. data/app/views/cms/dashboard/_page_drafts.html.erb +27 -38
  35. data/app/views/cms/dashboard/_tasks.html.erb +31 -43
  36. data/app/views/cms/dynamic_views/index.html.erb +17 -26
  37. data/app/views/cms/email_messages/index.html.erb +10 -19
  38. data/app/views/cms/form_builder/_cms_check_box.html.erb +7 -0
  39. data/app/views/cms/form_builder/_cms_drop_down.html.erb +0 -7
  40. data/app/views/cms/form_builder/_cms_fancy_drop_down.html.erb +9 -0
  41. data/app/views/cms/form_builder/_cms_file_field.html.erb +11 -7
  42. data/app/views/cms/form_builder/_cms_instructions.html.erb +4 -0
  43. data/app/views/cms/form_builder/_cms_template_editor.html.erb +8 -0
  44. data/app/views/cms/groups/_permissions.html.erb +1 -1
  45. data/app/views/cms/groups/index.html.erb +34 -49
  46. data/app/views/cms/page_routes/index.html.erb +19 -28
  47. data/app/views/cms/page_routes/show.html.erb +2 -2
  48. data/app/views/cms/pages/_edit_connector.html.erb +9 -1
  49. data/app/views/cms/pages/versions.html.erb +31 -44
  50. data/app/views/cms/redirects/index.html.erb +14 -22
  51. data/app/views/cms/routes/index.html.erb +19 -21
  52. data/app/views/cms/tags/render.html.erb +19 -38
  53. data/app/views/cms/toolbar/index.html.erb +0 -11
  54. data/app/views/cms/users/index.html.erb +25 -33
  55. data/app/views/layouts/cms/_head.html.erb +1 -1
  56. data/app/views/layouts/cms/content_library.html.erb +7 -7
  57. data/app/views/layouts/cms/thickbox.html.erb +2 -2
  58. data/app/views/portlets/forgot_password/_form.html.erb +4 -3
  59. data/app/views/tests/pretend/open_with_layout.html.erb +2 -0
  60. data/bin/bcms +6 -0
  61. data/bin/browsercms +73 -0
  62. data/browsercms.gemspec +444 -369
  63. data/db/demo/page_templates/sub_page.html.erb +1 -1
  64. data/db/migrate/20081114172307_load_seed_data.rb +0 -29
  65. data/doc/app/classes/AbstractFileBlock.html +32 -6
  66. data/doc/app/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html +136 -85
  67. data/doc/app/classes/ActiveSupport/Cache/FileStore.html +6 -6
  68. data/doc/app/classes/ActsAsList.html +6 -6
  69. data/doc/app/classes/ActsAsList/ClassMethods.html +8 -8
  70. data/doc/app/classes/ActsAsList/InstanceMethods.html +143 -119
  71. data/doc/app/classes/ApplicationHelper.html +4 -0
  72. data/doc/app/classes/Attachment.html +134 -134
  73. data/doc/app/classes/Category.html +24 -24
  74. data/doc/app/classes/CategoryType.html +18 -18
  75. data/doc/app/classes/Cms.html +227 -94
  76. data/doc/app/classes/Cms/Acts.html +5 -0
  77. data/doc/app/classes/Cms/Acts/ContentBlock.html +6 -6
  78. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html +6 -6
  79. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods/InstanceMethods.html +6 -6
  80. data/doc/app/classes/Cms/Acts/ContentPage.html +187 -0
  81. data/doc/app/classes/Cms/Acts/ContentPage/ClassMethods.html +188 -0
  82. data/doc/app/classes/Cms/ApplicationController.html +69 -118
  83. data/doc/app/classes/Cms/ApplicationHelper.html +277 -393
  84. data/doc/app/classes/Cms/AttachmentsController.html +6 -6
  85. data/doc/app/classes/Cms/Authentication/Controller.html +226 -228
  86. data/doc/app/classes/Cms/Authentication/Model.html +6 -6
  87. data/doc/app/classes/Cms/Authentication/Model/ClassMethods.html +30 -30
  88. data/doc/app/classes/Cms/Authentication/Model/InstanceMethods.html +66 -66
  89. data/doc/app/classes/Cms/Behaviors/Archiving.html +6 -6
  90. data/doc/app/classes/Cms/Behaviors/Archiving/InstanceMethods.html +24 -24
  91. data/doc/app/classes/Cms/Behaviors/Archiving/MacroMethods.html +12 -12
  92. data/doc/app/classes/Cms/Behaviors/Attaching.html +6 -6
  93. data/doc/app/classes/Cms/Behaviors/Attaching/InstanceMethods.html +123 -123
  94. data/doc/app/classes/Cms/Behaviors/Attaching/MacroMethods.html +12 -12
  95. data/doc/app/classes/Cms/Behaviors/Categorizing.html +6 -6
  96. data/doc/app/classes/Cms/Behaviors/Categorizing/InstanceMethods.html +6 -6
  97. data/doc/app/classes/Cms/Behaviors/Categorizing/MacroMethods.html +12 -12
  98. data/doc/app/classes/Cms/Behaviors/ClassMethods.html +60 -60
  99. data/doc/app/classes/Cms/Behaviors/Connecting.html +6 -6
  100. data/doc/app/classes/Cms/Behaviors/Connecting/ClassMethods.html +18 -18
  101. data/doc/app/classes/Cms/Behaviors/Connecting/InstanceMethods.html +42 -42
  102. data/doc/app/classes/Cms/Behaviors/Connecting/MacroMethods.html +12 -12
  103. data/doc/app/classes/Cms/Behaviors/DynamicAttributes.html +6 -6
  104. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/InstanceMethods.html +14 -14
  105. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/MacroMethods.html +12 -12
  106. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange.html +12 -12
  107. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/InstanceMethods.html +6 -6
  108. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/MacroMethods.html +12 -12
  109. data/doc/app/classes/Cms/Behaviors/Hiding.html +6 -6
  110. data/doc/app/classes/Cms/Behaviors/Hiding/InstanceMethods.html +24 -24
  111. data/doc/app/classes/Cms/Behaviors/Hiding/MacroMethods.html +12 -12
  112. data/doc/app/classes/Cms/Behaviors/InstanceMethods.html +127 -74
  113. data/doc/app/classes/Cms/Behaviors/Pagination.html +6 -6
  114. data/doc/app/classes/Cms/Behaviors/Pagination/ClassMethods.html +12 -12
  115. data/doc/app/classes/Cms/Behaviors/Pagination/Collection.html +55 -55
  116. data/doc/app/classes/Cms/Behaviors/Pagination/InvalidPage.html +6 -6
  117. data/doc/app/classes/Cms/Behaviors/Publishing.html +12 -12
  118. data/doc/app/classes/Cms/Behaviors/Publishing/InstanceMethods.html +119 -119
  119. data/doc/app/classes/Cms/Behaviors/Publishing/MacroMethods.html +25 -14
  120. data/doc/app/classes/Cms/Behaviors/Rendering.html +10 -13
  121. data/doc/app/classes/Cms/Behaviors/Rendering/MacroMethods.html +33 -33
  122. data/doc/app/classes/Cms/Behaviors/Searching.html +6 -6
  123. data/doc/app/classes/Cms/Behaviors/Searching/ClassMethods.html +12 -12
  124. data/doc/app/classes/Cms/Behaviors/Searching/MacroMethods.html +12 -12
  125. data/doc/app/classes/Cms/Behaviors/SoftDeleting.html +6 -6
  126. data/doc/app/classes/Cms/Behaviors/SoftDeleting/ClassMethods.html +24 -24
  127. data/doc/app/classes/Cms/Behaviors/SoftDeleting/InstanceMethods.html +30 -30
  128. data/doc/app/classes/Cms/Behaviors/SoftDeleting/MacroMethods.html +12 -12
  129. data/doc/app/classes/Cms/Behaviors/Taggable.html +6 -6
  130. data/doc/app/classes/Cms/Behaviors/Taggable/ClassMethods.html +12 -12
  131. data/doc/app/classes/Cms/Behaviors/Taggable/InstanceMethods.html +34 -33
  132. data/doc/app/classes/Cms/Behaviors/Taggable/MacroMethods.html +12 -12
  133. data/doc/app/classes/Cms/Behaviors/Userstamping.html +6 -6
  134. data/doc/app/classes/Cms/Behaviors/Userstamping/InstanceMethods.html +6 -6
  135. data/doc/app/classes/Cms/Behaviors/Userstamping/MacroMethods.html +12 -12
  136. data/doc/app/classes/Cms/Behaviors/Versioning.html +6 -6
  137. data/doc/app/classes/Cms/Behaviors/Versioning/ClassMethods.html +30 -30
  138. data/doc/app/classes/Cms/Behaviors/Versioning/InstanceMethods.html +322 -294
  139. data/doc/app/classes/Cms/Behaviors/Versioning/MacroMethods.html +31 -31
  140. data/doc/app/classes/Cms/CacheController.html +12 -12
  141. data/doc/app/classes/Cms/Caching.html +12 -12
  142. data/doc/app/classes/Cms/CategoriesController.html +35 -0
  143. data/doc/app/classes/Cms/CategoryTypesController.html +6 -6
  144. data/doc/app/classes/Cms/ConnectorsController.html +19 -19
  145. data/doc/app/classes/Cms/ContentBlockController.html +486 -440
  146. data/doc/app/classes/Cms/ContentController.html +48 -121
  147. data/doc/app/classes/Cms/ContentRenderingSupport.html +222 -0
  148. data/doc/app/classes/Cms/ContentTypesController.html +6 -6
  149. data/doc/app/classes/Cms/DashboardController.html +12 -11
  150. data/doc/app/classes/Cms/DataLoader.html +12 -12
  151. data/doc/app/classes/Cms/DomainSupport.html +166 -0
  152. data/doc/app/classes/Cms/DynamicViewsController.html +54 -54
  153. data/doc/app/classes/Cms/EmailMessagesController.html +12 -12
  154. data/doc/app/classes/Cms/ErrorHandling.html +50 -23
  155. data/doc/app/classes/Cms/Errors/AccessDenied.html +10 -10
  156. data/doc/app/classes/Cms/Extensions/ActionView/Base.html +6 -6
  157. data/doc/app/classes/Cms/Extensions/ActiveRecord/Base.html +6 -6
  158. data/doc/app/classes/Cms/Extensions/ActiveRecord/Errors.html +6 -6
  159. data/doc/app/classes/Cms/Extensions/Hash.html +12 -12
  160. data/doc/app/classes/Cms/Extensions/Integer.html +6 -6
  161. data/doc/app/classes/Cms/Extensions/NilClass.html +24 -24
  162. data/doc/app/classes/Cms/Extensions/String.html +24 -24
  163. data/doc/app/classes/Cms/FormBuilder.html +258 -90
  164. data/doc/app/classes/Cms/FormTagHelper.html +30 -30
  165. data/doc/app/classes/Cms/GroupsController.html +24 -24
  166. data/doc/app/classes/Cms/HomeController.html +6 -6
  167. data/doc/app/classes/Cms/LinksController.html +64 -62
  168. data/doc/app/classes/Cms/MenuHelper.html +210 -165
  169. data/doc/app/classes/Cms/PageHelper.html +178 -91
  170. data/doc/app/classes/Cms/PageRouteOptionsController.html +54 -54
  171. data/doc/app/classes/Cms/PageRoutesController.html +36 -36
  172. data/doc/app/classes/Cms/PagesController.html +111 -109
  173. data/doc/app/classes/Cms/PathHelper.html +36 -36
  174. data/doc/app/classes/Cms/PortletController.html +6 -6
  175. data/doc/app/classes/Cms/PortletsController.html +43 -43
  176. data/doc/app/classes/Cms/RedirectsController.html +12 -12
  177. data/doc/app/classes/Cms/RenderingHelper.html +214 -0
  178. data/doc/app/classes/Cms/ResourceController.html +114 -114
  179. data/doc/app/classes/Cms/Routes.html +151 -143
  180. data/doc/app/classes/Cms/RoutesController.html +6 -6
  181. data/doc/app/classes/Cms/SectionNodesController.html +36 -36
  182. data/doc/app/classes/Cms/SectionNodesHelper.html +6 -6
  183. data/doc/app/classes/Cms/SectionsController.html +212 -188
  184. data/doc/app/classes/Cms/SessionsController.html +68 -39
  185. data/doc/app/classes/Cms/TagsController.html +30 -6
  186. data/doc/app/classes/Cms/TasksController.html +18 -18
  187. data/doc/app/classes/Cms/TemplateSupport.html +185 -0
  188. data/doc/app/classes/Cms/ToolbarController.html +6 -6
  189. data/doc/app/classes/Cms/UsersController.html +129 -153
  190. data/doc/app/classes/CommandLine.html +226 -0
  191. data/doc/app/classes/Connector.html +75 -71
  192. data/doc/app/classes/ContentType.html +72 -72
  193. data/doc/app/classes/DynamicPortlet.html +6 -6
  194. data/doc/app/classes/DynamicView.html +130 -133
  195. data/doc/app/classes/EmailMessage.html +24 -24
  196. data/doc/app/classes/EmailMessageMailer.html +6 -6
  197. data/doc/app/classes/EmailPagePortlet.html +12 -12
  198. data/doc/app/classes/FileBlock.html +18 -18
  199. data/doc/app/classes/ForgotPasswordMailer.html +151 -0
  200. data/doc/app/classes/ForgotPasswordPortlet.html +162 -0
  201. data/doc/app/classes/Group.html +72 -20
  202. data/doc/app/classes/GuestUser.html +138 -93
  203. data/doc/app/classes/HtmlBlock.html +12 -12
  204. data/doc/app/classes/ImageBlock.html +18 -18
  205. data/doc/app/classes/InitialData.html +6 -6
  206. data/doc/app/classes/Link.html +30 -30
  207. data/doc/app/classes/LoginPortlet.html +6 -6
  208. data/doc/app/classes/Page.html +185 -185
  209. data/doc/app/classes/PagePartial.html +18 -18
  210. data/doc/app/classes/PageRoute.html +48 -48
  211. data/doc/app/classes/PageTemplate.html +60 -78
  212. data/doc/app/classes/Portlet.html +339 -267
  213. data/doc/app/classes/ResetPasswordPortlet.html +169 -0
  214. data/doc/app/classes/Section.html +257 -200
  215. data/doc/app/classes/SectionNode.html +60 -60
  216. data/doc/app/classes/Sequence.html +6 -6
  217. data/doc/app/classes/Site.html +30 -30
  218. data/doc/app/classes/Tag.html +31 -31
  219. data/doc/app/classes/TagCloudPortlet.html +12 -12
  220. data/doc/app/classes/Tagging.html +6 -6
  221. data/doc/app/classes/Task.html +37 -37
  222. data/doc/app/classes/Templates.html +151 -0
  223. data/doc/app/classes/Tests.html +107 -0
  224. data/doc/app/classes/Tests/PretendController.html +275 -0
  225. data/doc/app/classes/User.html +344 -205
  226. data/doc/app/created.rid +1 -1
  227. data/doc/app/files/app/controllers/cms/application_controller_rb.html +1 -1
  228. data/doc/app/files/app/controllers/cms/categories_controller_rb.html +1 -1
  229. data/doc/app/files/app/controllers/cms/connectors_controller_rb.html +1 -1
  230. data/doc/app/files/app/controllers/cms/content_block_controller_rb.html +1 -1
  231. data/doc/app/files/app/controllers/cms/content_controller_rb.html +1 -1
  232. data/doc/app/files/app/controllers/cms/dashboard_controller_rb.html +1 -1
  233. data/doc/app/files/app/controllers/cms/error_handling_rb.html +1 -1
  234. data/doc/app/files/app/controllers/cms/links_controller_rb.html +1 -1
  235. data/doc/app/files/app/controllers/cms/pages_controller_rb.html +1 -1
  236. data/doc/app/files/app/controllers/cms/portlets_controller_rb.html +1 -1
  237. data/doc/app/files/app/controllers/cms/section_nodes_controller_rb.html +1 -1
  238. data/doc/app/files/app/controllers/cms/sections_controller_rb.html +1 -1
  239. data/doc/app/files/app/controllers/cms/sessions_controller_rb.html +1 -1
  240. data/doc/app/files/app/controllers/cms/tags_controller_rb.html +1 -1
  241. data/doc/app/files/app/controllers/cms/users_controller_rb.html +1 -1
  242. data/doc/app/files/app/controllers/tests/pretend_controller_rb.html +112 -0
  243. data/doc/app/files/app/helpers/application_helper_rb.html +5 -1
  244. data/doc/app/files/app/helpers/cms/application_helper_rb.html +1 -1
  245. data/doc/app/files/app/helpers/cms/form_builder_rb.html +8 -1
  246. data/doc/app/files/app/helpers/cms/menu_helper_rb.html +1 -1
  247. data/doc/app/files/app/helpers/cms/page_helper_rb.html +1 -1
  248. data/doc/app/files/app/helpers/cms/rendering_helper_rb.html +111 -0
  249. data/doc/app/files/app/helpers/cms/template_support_rb.html +108 -0
  250. data/doc/app/files/app/models/abstract_file_block_rb.html +1 -1
  251. data/doc/app/files/app/models/attachment_rb.html +2 -2
  252. data/doc/app/files/app/models/connector_rb.html +1 -1
  253. data/doc/app/files/app/models/content_type_rb.html +1 -1
  254. data/doc/app/files/app/models/dynamic_view_rb.html +1 -1
  255. data/doc/app/files/app/models/forgot_password_mailer_rb.html +101 -0
  256. data/doc/app/files/app/models/group_rb.html +10 -1
  257. data/doc/app/files/app/models/guest_user_rb.html +14 -1
  258. data/doc/app/files/app/models/link_rb.html +1 -1
  259. data/doc/app/files/app/models/page_rb.html +1 -1
  260. data/doc/app/files/app/models/page_template_rb.html +1 -1
  261. data/doc/app/files/app/models/portlet_rb.html +1 -1
  262. data/doc/app/files/app/models/section_rb.html +1 -1
  263. data/doc/app/files/app/models/tag_rb.html +1 -1
  264. data/doc/app/files/app/models/task_rb.html +1 -1
  265. data/doc/app/files/app/models/templates_rb.html +108 -0
  266. data/doc/app/files/app/models/user_rb.html +1 -1
  267. data/doc/app/files/app/portlets/forgot_password_portlet_rb.html +108 -0
  268. data/doc/app/files/app/portlets/reset_password_portlet_rb.html +101 -0
  269. data/doc/app/files/doc/README_FOR_APP.html +7 -6
  270. data/doc/app/files/lib/acts_as_list_rb.html +1 -1
  271. data/doc/app/files/lib/browsercms_rb.html +1 -1
  272. data/doc/app/files/lib/cms/acts/content_block_rb.html +1 -1
  273. data/doc/app/files/lib/cms/acts/content_page_rb.html +125 -0
  274. data/doc/app/files/lib/cms/authentication/controller_rb.html +61 -1
  275. data/doc/app/files/lib/cms/behaviors/attaching_rb.html +1 -1
  276. data/doc/app/files/lib/cms/behaviors/publishing_rb.html +1 -1
  277. data/doc/app/files/lib/cms/behaviors/rendering_rb.html +1 -1
  278. data/doc/app/files/lib/cms/behaviors/taggable_rb.html +1 -1
  279. data/doc/app/files/lib/cms/behaviors/versioning_rb.html +1 -1
  280. data/doc/app/files/lib/cms/content_rendering_support_rb.html +108 -0
  281. data/doc/app/files/lib/cms/domain_support_rb.html +108 -0
  282. data/doc/app/files/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements_rb.html +1 -1
  283. data/doc/app/files/lib/cms/init_rb.html +8 -1
  284. data/doc/app/files/lib/cms/routes_rb.html +1 -1
  285. data/doc/app/files/lib/cms/version_rb.html +107 -0
  286. data/doc/app/files/lib/command_line_rb.html +101 -0
  287. data/doc/app/fr_class_index.html +13 -0
  288. data/doc/app/fr_file_index.html +12 -0
  289. data/doc/app/fr_method_index.html +761 -712
  290. data/doc/guides/html/authentication.html +201 -0
  291. data/doc/guides/html/build_it_yourself.html +9 -1
  292. data/doc/guides/html/building_modules.html +90 -48
  293. data/doc/guides/html/building_templates.html +506 -0
  294. data/doc/guides/html/content_blocks.html +476 -0
  295. data/doc/guides/html/customizing_browsercms.html +173 -0
  296. data/doc/guides/html/deployment_guide.html +30 -5
  297. data/doc/guides/html/getting_started.html +61 -27
  298. data/doc/guides/html/images/content_blocks/add_field_to_form.png +0 -0
  299. data/doc/guides/html/images/content_blocks/add_second_block.png +0 -0
  300. data/doc/guides/html/images/nfl_sitemap.png +0 -0
  301. data/doc/guides/html/index.html +33 -22
  302. data/doc/guides/html/installing_modules.html +9 -1
  303. data/doc/guides/html/portlets.html +237 -0
  304. data/doc/guides/html/user_guide.html +9 -1
  305. data/doc/guides/html/{designer_guide.html → writing_guides.html} +21 -20
  306. data/lib/cms/acts/content_page.rb +69 -0
  307. data/lib/cms/authentication/controller.rb +1 -1
  308. data/lib/cms/behaviors/rendering.rb +9 -2
  309. data/lib/cms/behaviors/versioning.rb +43 -35
  310. data/lib/cms/content_rendering_support.rb +96 -0
  311. data/lib/cms/domain_support.rb +20 -0
  312. data/lib/cms/init.rb +21 -2
  313. data/lib/cms/version.rb +5 -0
  314. data/lib/command_line.rb +39 -0
  315. data/lib/tasks/cms.rake +12 -1
  316. data/public/bcms/ckeditor/ckeditor.js +108 -0
  317. data/public/bcms/ckeditor/config.js +18 -0
  318. data/public/bcms/ckeditor/core/_bootstrap.js +64 -0
  319. data/public/bcms/ckeditor/core/ajax.js +143 -0
  320. data/public/bcms/ckeditor/core/ckeditor.js +96 -0
  321. data/public/bcms/ckeditor/core/ckeditor_base.js +190 -0
  322. data/public/bcms/ckeditor/core/ckeditor_basic.js +241 -0
  323. data/public/bcms/ckeditor/core/command.js +70 -0
  324. data/public/bcms/ckeditor/core/commanddefinition.js +72 -0
  325. data/public/bcms/ckeditor/core/config.js +287 -0
  326. data/public/bcms/ckeditor/core/dom.js +21 -0
  327. data/public/bcms/ckeditor/core/dom/document.js +210 -0
  328. data/public/bcms/ckeditor/core/dom/documentfragment.js +49 -0
  329. data/public/bcms/ckeditor/core/dom/domobject.js +204 -0
  330. data/public/bcms/ckeditor/core/dom/element.js +1384 -0
  331. data/public/bcms/ckeditor/core/dom/elementpath.js +104 -0
  332. data/public/bcms/ckeditor/core/dom/event.js +137 -0
  333. data/public/bcms/ckeditor/core/dom/node.js +649 -0
  334. data/public/bcms/ckeditor/core/dom/nodelist.js +23 -0
  335. data/public/bcms/ckeditor/core/dom/range.js +1668 -0
  336. data/public/bcms/ckeditor/core/dom/text.js +123 -0
  337. data/public/bcms/ckeditor/core/dom/walker.js +411 -0
  338. data/public/bcms/ckeditor/core/dom/window.js +96 -0
  339. data/public/bcms/ckeditor/core/dtd.js +200 -0
  340. data/public/bcms/ckeditor/core/editor.js +650 -0
  341. data/public/bcms/ckeditor/core/editor_basic.js +178 -0
  342. data/public/bcms/ckeditor/core/env.js +219 -0
  343. data/public/bcms/ckeditor/core/event.js +335 -0
  344. data/public/bcms/ckeditor/core/eventInfo.js +120 -0
  345. data/public/bcms/ckeditor/core/focusmanager.js +123 -0
  346. data/public/bcms/ckeditor/core/htmlparser.js +212 -0
  347. data/public/bcms/ckeditor/core/htmlparser/basicwriter.js +140 -0
  348. data/public/bcms/ckeditor/core/htmlparser/cdata.js +44 -0
  349. data/public/bcms/ckeditor/core/htmlparser/comment.js +59 -0
  350. data/public/bcms/ckeditor/core/htmlparser/element.js +196 -0
  351. data/public/bcms/ckeditor/core/htmlparser/filter.js +233 -0
  352. data/public/bcms/ckeditor/core/htmlparser/fragment.js +434 -0
  353. data/public/bcms/ckeditor/core/htmlparser/text.js +55 -0
  354. data/public/bcms/ckeditor/core/imagecacher.js +58 -0
  355. data/public/bcms/ckeditor/core/lang.js +147 -0
  356. data/public/bcms/ckeditor/core/loader.js +238 -0
  357. data/public/bcms/ckeditor/core/plugindefinition.js +66 -0
  358. data/public/bcms/ckeditor/core/plugins.js +82 -0
  359. data/public/bcms/ckeditor/core/resourcemanager.js +233 -0
  360. data/public/bcms/ckeditor/core/scriptloader.js +194 -0
  361. data/public/bcms/ckeditor/core/skins.js +185 -0
  362. data/public/bcms/ckeditor/core/test.js +184 -0
  363. data/public/bcms/ckeditor/core/themes.js +18 -0
  364. data/public/bcms/ckeditor/core/tools.js +531 -0
  365. data/public/bcms/ckeditor/core/ui.js +106 -0
  366. data/public/bcms/ckeditor/core/xml.js +165 -0
  367. data/public/bcms/ckeditor/editor.js +51 -0
  368. data/public/bcms/ckeditor/lang/_languages.js +82 -0
  369. data/public/bcms/ckeditor/lang/_translationstatus.txt +59 -0
  370. data/public/bcms/ckeditor/lang/af.js +674 -0
  371. data/public/bcms/ckeditor/lang/ar.js +674 -0
  372. data/public/bcms/ckeditor/lang/bg.js +674 -0
  373. data/public/bcms/ckeditor/lang/bn.js +674 -0
  374. data/public/bcms/ckeditor/lang/bs.js +674 -0
  375. data/public/bcms/ckeditor/lang/ca.js +674 -0
  376. data/public/bcms/ckeditor/lang/cs.js +674 -0
  377. data/public/bcms/ckeditor/lang/da.js +674 -0
  378. data/public/bcms/ckeditor/lang/de.js +674 -0
  379. data/public/bcms/ckeditor/lang/el.js +674 -0
  380. data/public/bcms/ckeditor/lang/en-au.js +674 -0
  381. data/public/bcms/ckeditor/lang/en-ca.js +674 -0
  382. data/public/bcms/ckeditor/lang/en-uk.js +674 -0
  383. data/public/bcms/ckeditor/lang/en.js +674 -0
  384. data/public/bcms/ckeditor/lang/eo.js +674 -0
  385. data/public/bcms/ckeditor/lang/es.js +674 -0
  386. data/public/bcms/ckeditor/lang/et.js +674 -0
  387. data/public/bcms/ckeditor/lang/eu.js +674 -0
  388. data/public/bcms/ckeditor/lang/fa.js +674 -0
  389. data/public/bcms/ckeditor/lang/fi.js +674 -0
  390. data/public/bcms/ckeditor/lang/fo.js +674 -0
  391. data/public/bcms/ckeditor/lang/fr-ca.js +674 -0
  392. data/public/bcms/ckeditor/lang/fr.js +674 -0
  393. data/public/bcms/ckeditor/lang/gl.js +674 -0
  394. data/public/bcms/ckeditor/lang/gu.js +674 -0
  395. data/public/bcms/ckeditor/lang/he.js +674 -0
  396. data/public/bcms/ckeditor/lang/hi.js +674 -0
  397. data/public/bcms/ckeditor/lang/hr.js +674 -0
  398. data/public/bcms/ckeditor/lang/hu.js +674 -0
  399. data/public/bcms/ckeditor/lang/is.js +674 -0
  400. data/public/bcms/ckeditor/lang/it.js +674 -0
  401. data/public/bcms/ckeditor/lang/ja.js +674 -0
  402. data/public/bcms/ckeditor/lang/km.js +674 -0
  403. data/public/bcms/ckeditor/lang/ko.js +674 -0
  404. data/public/bcms/ckeditor/lang/lt.js +674 -0
  405. data/public/bcms/ckeditor/lang/lv.js +674 -0
  406. data/public/bcms/ckeditor/lang/mn.js +674 -0
  407. data/public/bcms/ckeditor/lang/ms.js +674 -0
  408. data/public/bcms/ckeditor/lang/nb.js +674 -0
  409. data/public/bcms/ckeditor/lang/nl.js +674 -0
  410. data/public/bcms/ckeditor/lang/no.js +674 -0
  411. data/public/bcms/ckeditor/lang/pl.js +674 -0
  412. data/public/bcms/ckeditor/lang/pt-br.js +674 -0
  413. data/public/bcms/ckeditor/lang/pt.js +674 -0
  414. data/public/bcms/ckeditor/lang/ro.js +674 -0
  415. data/public/bcms/ckeditor/lang/ru.js +674 -0
  416. data/public/bcms/ckeditor/lang/sk.js +674 -0
  417. data/public/bcms/ckeditor/lang/sl.js +674 -0
  418. data/public/bcms/ckeditor/lang/sr-latn.js +674 -0
  419. data/public/bcms/ckeditor/lang/sr.js +674 -0
  420. data/public/bcms/ckeditor/lang/sv.js +674 -0
  421. data/public/bcms/ckeditor/lang/th.js +674 -0
  422. data/public/bcms/ckeditor/lang/tr.js +674 -0
  423. data/public/bcms/ckeditor/lang/uk.js +674 -0
  424. data/public/bcms/ckeditor/lang/vi.js +674 -0
  425. data/public/bcms/ckeditor/lang/zh-cn.js +674 -0
  426. data/public/bcms/ckeditor/lang/zh.js +674 -0
  427. data/public/bcms/ckeditor/plugins/about/dialogs/about.js +73 -0
  428. data/public/bcms/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  429. data/public/bcms/ckeditor/plugins/about/plugin.js +22 -0
  430. data/public/bcms/ckeditor/plugins/basicstyles/plugin.js +50 -0
  431. data/public/bcms/ckeditor/plugins/blockquote/plugin.js +301 -0
  432. data/public/bcms/ckeditor/plugins/button/plugin.js +264 -0
  433. data/public/bcms/ckeditor/plugins/clipboard/dialogs/paste.js +167 -0
  434. data/public/bcms/ckeditor/plugins/clipboard/plugin.js +208 -0
  435. data/public/bcms/ckeditor/plugins/colorbutton/plugin.js +202 -0
  436. data/public/bcms/ckeditor/plugins/contextmenu/plugin.js +178 -0
  437. data/public/bcms/ckeditor/plugins/dialog/dialogDefinition.js +315 -0
  438. data/public/bcms/ckeditor/plugins/dialog/plugin.js +2742 -0
  439. data/public/bcms/ckeditor/plugins/dialogui/plugin.js +1319 -0
  440. data/public/bcms/ckeditor/plugins/domiterator/plugin.js +354 -0
  441. data/public/bcms/ckeditor/plugins/editingblock/plugin.js +236 -0
  442. data/public/bcms/ckeditor/plugins/elementspath/plugin.js +182 -0
  443. data/public/bcms/ckeditor/plugins/enterkey/plugin.js +324 -0
  444. data/public/bcms/ckeditor/plugins/entities/plugin.js +200 -0
  445. data/public/bcms/ckeditor/plugins/fakeobjects/plugin.js +111 -0
  446. data/public/bcms/ckeditor/plugins/filebrowser/plugin.js +383 -0
  447. data/public/bcms/ckeditor/plugins/find/dialogs/find.js +843 -0
  448. data/public/bcms/ckeditor/plugins/find/plugin.js +46 -0
  449. data/public/bcms/ckeditor/plugins/flash/dialogs/flash.js +682 -0
  450. data/public/bcms/ckeditor/plugins/flash/images/placeholder.png +0 -0
  451. data/public/bcms/ckeditor/plugins/flash/plugin.js +165 -0
  452. data/public/bcms/ckeditor/plugins/floatpanel/plugin.js +325 -0
  453. data/public/bcms/ckeditor/plugins/font/plugin.js +227 -0
  454. data/public/bcms/ckeditor/plugins/format/plugin.js +191 -0
  455. data/public/bcms/ckeditor/plugins/forms/dialogs/button.js +135 -0
  456. data/public/bcms/ckeditor/plugins/forms/dialogs/checkbox.js +138 -0
  457. data/public/bcms/ckeditor/plugins/forms/dialogs/form.js +177 -0
  458. data/public/bcms/ckeditor/plugins/forms/dialogs/hiddenfield.js +91 -0
  459. data/public/bcms/ckeditor/plugins/forms/dialogs/radio.js +135 -0
  460. data/public/bcms/ckeditor/plugins/forms/dialogs/select.js +541 -0
  461. data/public/bcms/ckeditor/plugins/forms/dialogs/textarea.js +114 -0
  462. data/public/bcms/ckeditor/plugins/forms/dialogs/textfield.js +193 -0
  463. data/public/bcms/ckeditor/plugins/forms/plugin.js +193 -0
  464. data/public/bcms/ckeditor/plugins/horizontalrule/plugin.js +35 -0
  465. data/public/bcms/ckeditor/plugins/htmldataprocessor/plugin.js +373 -0
  466. data/public/bcms/ckeditor/plugins/htmlwriter/plugin.js +289 -0
  467. data/public/bcms/ckeditor/plugins/iframedialog/plugin.js +136 -0
  468. data/public/bcms/ckeditor/plugins/image/dialogs/image.js +1225 -0
  469. data/public/bcms/ckeditor/plugins/image/plugin.js +64 -0
  470. data/public/bcms/ckeditor/plugins/indent/plugin.js +323 -0
  471. data/public/bcms/ckeditor/plugins/justify/plugin.js +164 -0
  472. data/public/bcms/ckeditor/plugins/keystrokes/plugin.js +217 -0
  473. data/public/bcms/ckeditor/plugins/link/dialogs/anchor.js +98 -0
  474. data/public/bcms/ckeditor/plugins/link/dialogs/link.js +1217 -0
  475. data/public/{fckeditor/editor → bcms/ckeditor/plugins/link}/images/anchor.gif +0 -0
  476. data/public/bcms/ckeditor/plugins/link/plugin.js +188 -0
  477. data/public/bcms/ckeditor/plugins/list/plugin.js +570 -0
  478. data/public/bcms/ckeditor/plugins/listblock/plugin.js +231 -0
  479. data/public/bcms/ckeditor/plugins/maximize/plugin.js +267 -0
  480. data/public/bcms/ckeditor/plugins/menu/plugin.js +377 -0
  481. data/public/bcms/ckeditor/plugins/menubutton/plugin.js +93 -0
  482. data/public/bcms/ckeditor/plugins/newpage/plugin.js +65 -0
  483. data/public/{fckeditor/editor/css/images/fck_pagebreak.gif → bcms/ckeditor/plugins/pagebreak/images/pagebreak.gif} +0 -0
  484. data/public/bcms/ckeditor/plugins/pagebreak/plugin.js +96 -0
  485. data/public/bcms/ckeditor/plugins/panel/plugin.js +330 -0
  486. data/public/bcms/ckeditor/plugins/panelbutton/plugin.js +140 -0
  487. data/public/bcms/ckeditor/plugins/pastefromword/dialogs/pastefromword.js +307 -0
  488. data/public/bcms/ckeditor/plugins/pastefromword/plugin.js +54 -0
  489. data/public/bcms/ckeditor/plugins/pastetext/dialogs/pastetext.js +65 -0
  490. data/public/bcms/ckeditor/plugins/pastetext/plugin.js +142 -0
  491. data/public/bcms/ckeditor/plugins/popup/plugin.js +62 -0
  492. data/public/bcms/ckeditor/plugins/preview/plugin.js +97 -0
  493. data/public/bcms/ckeditor/plugins/print/plugin.js +41 -0
  494. data/public/bcms/ckeditor/plugins/removeformat/plugin.js +132 -0
  495. data/public/bcms/ckeditor/plugins/resize/plugin.js +115 -0
  496. data/public/bcms/ckeditor/plugins/richcombo/plugin.js +357 -0
  497. data/public/bcms/ckeditor/plugins/save/plugin.js +55 -0
  498. data/public/bcms/ckeditor/plugins/scayt/dialogs/options.js +494 -0
  499. data/public/bcms/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  500. data/public/bcms/ckeditor/plugins/scayt/plugin.js +511 -0
  501. data/public/bcms/ckeditor/plugins/selection/plugin.js +1072 -0
  502. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_address.png +0 -0
  503. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_blockquote.png +0 -0
  504. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_div.png +0 -0
  505. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h1.png +0 -0
  506. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h2.png +0 -0
  507. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h3.png +0 -0
  508. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h4.png +0 -0
  509. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h5.png +0 -0
  510. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h6.png +0 -0
  511. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_p.png +0 -0
  512. data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_pre.png +0 -0
  513. data/public/bcms/ckeditor/plugins/showblocks/plugin.js +153 -0
  514. data/public/bcms/ckeditor/plugins/smiley/dialogs/smiley.js +219 -0
  515. data/public/bcms/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  516. data/public/bcms/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  517. data/public/bcms/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  518. data/public/bcms/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  519. data/public/bcms/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  520. data/public/bcms/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  521. data/public/bcms/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  522. data/public/bcms/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  523. data/public/bcms/ckeditor/plugins/smiley/images/heart.gif +0 -0
  524. data/public/bcms/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  525. data/public/bcms/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  526. data/public/bcms/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  527. data/public/bcms/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  528. data/public/bcms/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  529. data/public/bcms/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  530. data/public/bcms/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  531. data/public/bcms/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  532. data/public/bcms/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  533. data/public/bcms/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  534. data/public/bcms/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  535. data/public/bcms/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  536. data/public/bcms/ckeditor/plugins/smiley/plugin.js +74 -0
  537. data/public/bcms/ckeditor/plugins/sourcearea/plugin.js +185 -0
  538. data/public/bcms/ckeditor/plugins/specialchar/dialogs/specialchar.js +362 -0
  539. data/public/bcms/ckeditor/plugins/specialchar/plugin.js +29 -0
  540. data/public/bcms/ckeditor/plugins/styles/plugin.js +1242 -0
  541. data/public/bcms/ckeditor/plugins/stylescombo/plugin.js +295 -0
  542. data/public/bcms/ckeditor/plugins/stylescombo/styles/default.js +85 -0
  543. data/public/bcms/ckeditor/plugins/tab/plugin.js +266 -0
  544. data/public/bcms/ckeditor/plugins/table/dialogs/table.js +550 -0
  545. data/public/bcms/ckeditor/plugins/table/plugin.js +70 -0
  546. data/public/bcms/ckeditor/plugins/tabletools/dialogs/tableCell.js +328 -0
  547. data/public/bcms/ckeditor/plugins/tabletools/plugin.js +701 -0
  548. data/public/bcms/ckeditor/plugins/templates/dialogs/templates.js +170 -0
  549. data/public/bcms/ckeditor/plugins/templates/plugin.js +99 -0
  550. data/public/bcms/ckeditor/plugins/templates/templates/default.js +94 -0
  551. data/public/{fckeditor/editor/dialog/fck_template → bcms/ckeditor/plugins/templates/templates}/images/template1.gif +0 -0
  552. data/public/{fckeditor/editor/dialog/fck_template → bcms/ckeditor/plugins/templates/templates}/images/template2.gif +0 -0
  553. data/public/{fckeditor/editor/dialog/fck_template → bcms/ckeditor/plugins/templates/templates}/images/template3.gif +0 -0
  554. data/public/bcms/ckeditor/plugins/toolbar/plugin.js +412 -0
  555. data/public/bcms/ckeditor/plugins/uicolor/dialogs/uicolor.js +203 -0
  556. data/public/bcms/ckeditor/plugins/uicolor/lang/en.js +15 -0
  557. data/public/bcms/ckeditor/plugins/uicolor/plugin.js +35 -0
  558. data/public/bcms/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  559. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  560. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  561. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  562. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  563. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/yui.css +15 -0
  564. data/public/bcms/ckeditor/plugins/uicolor/yui/yui.js +71 -0
  565. data/public/bcms/ckeditor/plugins/undo/plugin.js +490 -0
  566. data/public/bcms/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  567. data/public/bcms/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  568. data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.css +83 -0
  569. data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.js +169 -0
  570. data/public/bcms/ckeditor/plugins/wsc/plugin.js +32 -0
  571. data/public/bcms/ckeditor/plugins/wysiwygarea/plugin.js +636 -0
  572. data/public/bcms/ckeditor/skins/kama/dialog.css +742 -0
  573. data/public/bcms/ckeditor/skins/kama/editor.css +21 -0
  574. data/public/bcms/ckeditor/skins/kama/elementspath.css +68 -0
  575. data/public/bcms/ckeditor/skins/kama/icons.css +309 -0
  576. data/public/bcms/ckeditor/skins/kama/icons.png +0 -0
  577. data/public/{fckeditor/editor/skins/default/images/dialog.sides.gif → bcms/ckeditor/skins/kama/images/dialog_sides.gif} +0 -0
  578. data/public/{fckeditor/editor/skins/default/images/dialog.sides.png → bcms/ckeditor/skins/kama/images/dialog_sides.png} +0 -0
  579. data/public/{fckeditor/editor/skins/default/images/dialog.sides.rtl.png → bcms/ckeditor/skins/kama/images/dialog_sides_rtl.png} +0 -0
  580. data/public/bcms/ckeditor/skins/kama/images/mini.gif +0 -0
  581. data/public/bcms/ckeditor/skins/kama/images/noimage.png +0 -0
  582. data/public/bcms/ckeditor/skins/kama/images/sprites.png +0 -0
  583. data/public/bcms/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  584. data/public/{fckeditor/editor/skins/default/images/toolbar.start.gif → bcms/ckeditor/skins/kama/images/toolbar_start.gif} +0 -0
  585. data/public/bcms/ckeditor/skins/kama/mainui.css +139 -0
  586. data/public/bcms/ckeditor/skins/kama/menu.css +179 -0
  587. data/public/bcms/ckeditor/skins/kama/panel.css +203 -0
  588. data/public/bcms/ckeditor/skins/kama/presets.css +49 -0
  589. data/public/bcms/ckeditor/skins/kama/reset.css +78 -0
  590. data/public/bcms/ckeditor/skins/kama/richcombo.css +260 -0
  591. data/public/bcms/ckeditor/skins/kama/skin.js +291 -0
  592. data/public/bcms/ckeditor/skins/kama/templates.css +71 -0
  593. data/public/bcms/ckeditor/skins/kama/toolbar.css +384 -0
  594. data/public/bcms/ckeditor/skins/office2003/dialog.css +643 -0
  595. data/public/bcms/ckeditor/skins/office2003/editor.css +21 -0
  596. data/public/bcms/ckeditor/skins/office2003/elementspath.css +68 -0
  597. data/public/bcms/ckeditor/skins/office2003/icons.css +309 -0
  598. data/public/bcms/ckeditor/skins/office2003/icons.png +0 -0
  599. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  600. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  601. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  602. data/public/bcms/ckeditor/skins/office2003/images/mini.gif +0 -0
  603. data/public/bcms/ckeditor/skins/office2003/images/noimage.png +0 -0
  604. data/public/bcms/ckeditor/skins/office2003/images/sprites.png +0 -0
  605. data/public/bcms/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  606. data/public/bcms/ckeditor/skins/office2003/mainui.css +97 -0
  607. data/public/bcms/ckeditor/skins/office2003/menu.css +175 -0
  608. data/public/bcms/ckeditor/skins/office2003/panel.css +198 -0
  609. data/public/bcms/ckeditor/skins/office2003/presets.css +49 -0
  610. data/public/bcms/ckeditor/skins/office2003/reset.css +78 -0
  611. data/public/bcms/ckeditor/skins/office2003/richcombo.css +279 -0
  612. data/public/bcms/ckeditor/skins/office2003/skin.js +77 -0
  613. data/public/bcms/ckeditor/skins/office2003/templates.css +71 -0
  614. data/public/bcms/ckeditor/skins/office2003/toolbar.css +442 -0
  615. data/public/bcms/ckeditor/skins/v2/dialog.css +653 -0
  616. data/public/bcms/ckeditor/skins/v2/editor.css +21 -0
  617. data/public/bcms/ckeditor/skins/v2/elementspath.css +68 -0
  618. data/public/bcms/ckeditor/skins/v2/icons.css +309 -0
  619. data/public/bcms/ckeditor/skins/v2/icons.png +0 -0
  620. data/public/bcms/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  621. data/public/bcms/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  622. data/public/bcms/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  623. data/public/bcms/ckeditor/skins/v2/images/mini.gif +0 -0
  624. data/public/bcms/ckeditor/skins/v2/images/noimage.png +0 -0
  625. data/public/bcms/ckeditor/skins/v2/images/sprites.png +0 -0
  626. data/public/bcms/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  627. data/public/{fckeditor/editor/skins/silver/images/toolbar.start.gif → bcms/ckeditor/skins/v2/images/toolbar_start.gif} +0 -0
  628. data/public/bcms/ckeditor/skins/v2/mainui.css +112 -0
  629. data/public/bcms/ckeditor/skins/v2/menu.css +178 -0
  630. data/public/bcms/ckeditor/skins/v2/panel.css +198 -0
  631. data/public/bcms/ckeditor/skins/v2/presets.css +50 -0
  632. data/public/bcms/ckeditor/skins/v2/reset.css +78 -0
  633. data/public/bcms/ckeditor/skins/v2/richcombo.css +275 -0
  634. data/public/bcms/ckeditor/skins/v2/skin.js +73 -0
  635. data/public/bcms/ckeditor/skins/v2/templates.css +71 -0
  636. data/public/bcms/ckeditor/skins/v2/toolbar.css +399 -0
  637. data/public/bcms/ckeditor/tests/_assets/sample.css +4 -0
  638. data/public/bcms/ckeditor/tests/_assets/sample.js +1 -0
  639. data/public/bcms/ckeditor/tests/_assets/sample.txt +1 -0
  640. data/public/bcms/ckeditor/tests/_assets/sample.xml +5 -0
  641. data/public/bcms/ckeditor/tests/_assets/sample_xml.txt +5 -0
  642. data/public/bcms/ckeditor/tests/core/_editor/custom_config_1.js +10 -0
  643. data/public/bcms/ckeditor/tests/core/_editor/custom_config_2.js +9 -0
  644. data/public/bcms/ckeditor/tests/core/ajax.html +163 -0
  645. data/public/bcms/ckeditor/tests/core/bootstrap.html +66 -0
  646. data/public/bcms/ckeditor/tests/core/ckeditor.html +160 -0
  647. data/public/bcms/ckeditor/tests/core/dom/document.html +126 -0
  648. data/public/bcms/ckeditor/tests/core/dom/documentfragment.html +292 -0
  649. data/public/bcms/ckeditor/tests/core/dom/element.html +637 -0
  650. data/public/bcms/ckeditor/tests/core/dom/node.html +164 -0
  651. data/public/bcms/ckeditor/tests/core/dom/range.html +2411 -0
  652. data/public/bcms/ckeditor/tests/core/dom/text.html +128 -0
  653. data/public/bcms/ckeditor/tests/core/dom/walker.html +340 -0
  654. data/public/bcms/ckeditor/tests/core/dom/window.html +53 -0
  655. data/public/bcms/ckeditor/tests/core/editor.html +123 -0
  656. data/public/bcms/ckeditor/tests/core/env.html +52 -0
  657. data/public/bcms/ckeditor/tests/core/event.html +487 -0
  658. data/public/bcms/ckeditor/tests/core/htmlparser/fragment.html +188 -0
  659. data/public/bcms/ckeditor/tests/core/htmlparser/htmlparser.html +91 -0
  660. data/public/bcms/ckeditor/tests/core/plugins.html +45 -0
  661. data/public/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js +3 -0
  662. data/public/bcms/ckeditor/tests/core/scriptloader.html +52 -0
  663. data/public/bcms/ckeditor/tests/core/tools.html +170 -0
  664. data/public/bcms/ckeditor/tests/core/xml.html +150 -0
  665. data/public/bcms/ckeditor/tests/plugins/domiterator/domiterator.html +236 -0
  666. data/public/bcms/ckeditor/tests/plugins/htmldataprocessor/htmldataprocessor.html +386 -0
  667. data/public/bcms/ckeditor/tests/plugins/link/link.html +123 -0
  668. data/public/bcms/ckeditor/tests/plugins/list/list.html +217 -0
  669. data/public/bcms/ckeditor/tests/plugins/selection/selection.html +49 -0
  670. data/public/bcms/ckeditor/tests/plugins/styles/styles.html +596 -0
  671. data/public/bcms/ckeditor/tests/test.css +81 -0
  672. data/public/bcms/ckeditor/tests/test.js +93 -0
  673. data/public/bcms/ckeditor/tests/testall.html +114 -0
  674. data/public/bcms/ckeditor/tests/yuitest.js +75 -0
  675. data/public/bcms/ckeditor/themes/default/theme.js +232 -0
  676. data/public/stylesheets/cms/administration.css +52 -51
  677. data/public/stylesheets/cms/application.css +55 -51
  678. data/public/stylesheets/cms/block.css +13 -13
  679. data/public/stylesheets/cms/buttons.css +91 -91
  680. data/public/stylesheets/cms/content_library.css +49 -57
  681. data/public/stylesheets/cms/content_types.css +3 -3
  682. data/public/stylesheets/cms/dashboard.css +25 -43
  683. data/public/stylesheets/cms/data_table.css +57 -81
  684. data/public/stylesheets/cms/date_picker.css +13 -14
  685. data/public/stylesheets/cms/form_layout.css +133 -140
  686. data/public/stylesheets/cms/jquery.contextMenu.css +43 -35
  687. data/public/stylesheets/cms/login.css +50 -51
  688. data/public/stylesheets/cms/menu.css +61 -63
  689. data/public/stylesheets/cms/nav.css +53 -53
  690. data/public/stylesheets/cms/page_toolbar.css +80 -82
  691. data/public/stylesheets/cms/reset.css +21 -21
  692. data/public/stylesheets/cms/selectbox.css +16 -18
  693. data/public/stylesheets/cms/sitemap.css +138 -134
  694. data/public/stylesheets/cms/thickbox.css +120 -105
  695. data/rails_generators/content_block/templates/migration.rb +1 -1
  696. data/rails_generators/portlet/USAGE +3 -1
  697. data/rails_generators/portlet/portlet_generator.rb +4 -0
  698. data/rails_generators/portlet/templates/_form.html.erb +1 -2
  699. data/rails_generators/portlet/templates/portlet.rb +4 -1
  700. data/rails_generators/portlet/templates/portlet_helper.rb +5 -0
  701. data/rails_generators/template/USAGE +10 -0
  702. data/rails_generators/template/template_generator.rb +18 -0
  703. data/rails_generators/template/templates/template.erb +3 -0
  704. data/templates/blank.rb +11 -1
  705. data/templates/demo.rb +11 -1
  706. data/templates/module.rb +15 -4
  707. data/test/functional/cms/dashboard_controller_test.rb +19 -2
  708. data/test/functional/tests/pretend_controller_test.rb +54 -0
  709. data/test/integration/cms/ckeditor_test.rb +27 -0
  710. data/test/integration/cms/password_management_test.rb +1 -2
  711. data/test/test_helper.rb +14 -0
  712. data/test/unit/helpers/application_helper_test.rb +48 -0
  713. data/test/unit/helpers/form_builder_test.rb +21 -2
  714. data/test/unit/helpers/menu_helper_test.rb +164 -142
  715. data/test/unit/helpers/page_helper_test.rb +11 -3
  716. data/test/unit/lib/acts_as_content_page_test.rb +72 -0
  717. data/test/unit/lib/cms/authentication/controller_test.rb +20 -0
  718. data/test/unit/lib/cms_domain_support_test.rb +43 -0
  719. data/test/unit/lib/command_line_test.rb +70 -0
  720. data/test/unit/lib/content_block_test.rb +41 -4
  721. data/test/unit/lib/content_rendering_support_test.rb +40 -0
  722. data/test/unit/models/attachment_test.rb +2 -2
  723. data/test/unit/models/content_type_test.rb +19 -7
  724. data/test/unit/models/page_template_test.rb +4 -1
  725. data/test/unit/models/portlet_test.rb +49 -1
  726. data/test/unit/models/sections_test.rb +41 -2
  727. data/test/unit/models/task_test.rb +37 -22
  728. data/test/unit/models/user_test.rb +165 -51
  729. metadata +424 -323
  730. data/doc/guides/html/developer_guide.html +0 -308
  731. data/public/fckeditor/editor/css/behaviors/disablehandles.htc +0 -15
  732. data/public/fckeditor/editor/css/behaviors/showtableborders.htc +0 -36
  733. data/public/fckeditor/editor/css/fck_editorarea.css +0 -110
  734. data/public/fckeditor/editor/css/fck_internal.css +0 -199
  735. data/public/fckeditor/editor/css/fck_showtableborders_gecko.css +0 -49
  736. data/public/fckeditor/editor/css/images/fck_anchor.gif +0 -0
  737. data/public/fckeditor/editor/css/images/fck_flashlogo.gif +0 -0
  738. data/public/fckeditor/editor/css/images/fck_hiddenfield.gif +0 -0
  739. data/public/fckeditor/editor/css/images/fck_plugin.gif +0 -0
  740. data/public/fckeditor/editor/dialog/common/fck_dialog_common.css +0 -85
  741. data/public/fckeditor/editor/dialog/common/fck_dialog_common.js +0 -311
  742. data/public/fckeditor/editor/dialog/common/images/locked.gif +0 -0
  743. data/public/fckeditor/editor/dialog/common/images/reset.gif +0 -0
  744. data/public/fckeditor/editor/dialog/common/images/unlocked.gif +0 -0
  745. data/public/fckeditor/editor/dialog/fck_about.html +0 -161
  746. data/public/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif +0 -0
  747. data/public/fckeditor/editor/dialog/fck_about/logo_fredck.gif +0 -0
  748. data/public/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif +0 -0
  749. data/public/fckeditor/editor/dialog/fck_anchor.html +0 -220
  750. data/public/fckeditor/editor/dialog/fck_button.html +0 -104
  751. data/public/fckeditor/editor/dialog/fck_checkbox.html +0 -104
  752. data/public/fckeditor/editor/dialog/fck_colorselector.html +0 -172
  753. data/public/fckeditor/editor/dialog/fck_div.html +0 -364
  754. data/public/fckeditor/editor/dialog/fck_docprops.html +0 -600
  755. data/public/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +0 -113
  756. data/public/fckeditor/editor/dialog/fck_flash.html +0 -152
  757. data/public/fckeditor/editor/dialog/fck_flash/fck_flash.js +0 -300
  758. data/public/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +0 -50
  759. data/public/fckeditor/editor/dialog/fck_form.html +0 -109
  760. data/public/fckeditor/editor/dialog/fck_hiddenfield.html +0 -115
  761. data/public/fckeditor/editor/dialog/fck_image.html +0 -258
  762. data/public/fckeditor/editor/dialog/fck_image/fck_image.js +0 -512
  763. data/public/fckeditor/editor/dialog/fck_image/fck_image_preview.html +0 -72
  764. data/public/fckeditor/editor/dialog/fck_link.html +0 -295
  765. data/public/fckeditor/editor/dialog/fck_link/fck_link.js +0 -893
  766. data/public/fckeditor/editor/dialog/fck_listprop.html +0 -120
  767. data/public/fckeditor/editor/dialog/fck_paste.html +0 -346
  768. data/public/fckeditor/editor/dialog/fck_radiobutton.html +0 -104
  769. data/public/fckeditor/editor/dialog/fck_replace.html +0 -648
  770. data/public/fckeditor/editor/dialog/fck_select.html +0 -180
  771. data/public/fckeditor/editor/dialog/fck_select/fck_select.js +0 -194
  772. data/public/fckeditor/editor/dialog/fck_smiley.html +0 -111
  773. data/public/fckeditor/editor/dialog/fck_source.html +0 -68
  774. data/public/fckeditor/editor/dialog/fck_specialchar.html +0 -121
  775. data/public/fckeditor/editor/dialog/fck_spellerpages.html +0 -70
  776. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html +0 -0
  777. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +0 -87
  778. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +0 -153
  779. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +0 -148
  780. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +0 -199
  781. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +0 -181
  782. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +0 -461
  783. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +0 -71
  784. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +0 -49
  785. data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +0 -272
  786. data/public/fckeditor/editor/dialog/fck_table.html +0 -298
  787. data/public/fckeditor/editor/dialog/fck_tablecell.html +0 -257
  788. data/public/fckeditor/editor/dialog/fck_template.html +0 -242
  789. data/public/fckeditor/editor/dialog/fck_textarea.html +0 -94
  790. data/public/fckeditor/editor/dialog/fck_textfield.html +0 -136
  791. data/public/fckeditor/editor/dtd/fck_dtd_test.html +0 -41
  792. data/public/fckeditor/editor/dtd/fck_xhtml10strict.js +0 -116
  793. data/public/fckeditor/editor/dtd/fck_xhtml10transitional.js +0 -140
  794. data/public/fckeditor/editor/fckdebug.html +0 -153
  795. data/public/fckeditor/editor/fckdialog.html +0 -812
  796. data/public/fckeditor/editor/fckeditor.html +0 -317
  797. data/public/fckeditor/editor/fckeditor.original.html +0 -424
  798. data/public/fckeditor/editor/filemanager/browser/default/browser.css +0 -87
  799. data/public/fckeditor/editor/filemanager/browser/default/browser.html +0 -200
  800. data/public/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +0 -95
  801. data/public/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +0 -114
  802. data/public/fckeditor/editor/filemanager/browser/default/frmfolders.html +0 -198
  803. data/public/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +0 -169
  804. data/public/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +0 -68
  805. data/public/fckeditor/editor/filemanager/browser/default/frmupload.html +0 -115
  806. data/public/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif +0 -0
  807. data/public/fckeditor/editor/filemanager/browser/default/images/Folder.gif +0 -0
  808. data/public/fckeditor/editor/filemanager/browser/default/images/Folder32.gif +0 -0
  809. data/public/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif +0 -0
  810. data/public/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif +0 -0
  811. data/public/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif +0 -0
  812. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif +0 -0
  813. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif +0 -0
  814. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif +0 -0
  815. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif +0 -0
  816. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif +0 -0
  817. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif +0 -0
  818. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif +0 -0
  819. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif +0 -0
  820. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif +0 -0
  821. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif +0 -0
  822. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif +0 -0
  823. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif +0 -0
  824. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif +0 -0
  825. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif +0 -0
  826. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif +0 -0
  827. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif +0 -0
  828. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif +0 -0
  829. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif +0 -0
  830. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif +0 -0
  831. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif +0 -0
  832. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif +0 -0
  833. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif +0 -0
  834. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif +0 -0
  835. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif +0 -0
  836. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif +0 -0
  837. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif +0 -0
  838. data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif +0 -0
  839. data/public/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif +0 -0
  840. data/public/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif +0 -0
  841. data/public/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif +0 -0
  842. data/public/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif +0 -0
  843. data/public/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif +0 -0
  844. data/public/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif +0 -0
  845. data/public/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif +0 -0
  846. data/public/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif +0 -0
  847. data/public/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif +0 -0
  848. data/public/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif +0 -0
  849. data/public/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif +0 -0
  850. data/public/fckeditor/editor/filemanager/browser/default/images/icons/html.gif +0 -0
  851. data/public/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif +0 -0
  852. data/public/fckeditor/editor/filemanager/browser/default/images/icons/js.gif +0 -0
  853. data/public/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif +0 -0
  854. data/public/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif +0 -0
  855. data/public/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif +0 -0
  856. data/public/fckeditor/editor/filemanager/browser/default/images/icons/png.gif +0 -0
  857. data/public/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif +0 -0
  858. data/public/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif +0 -0
  859. data/public/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif +0 -0
  860. data/public/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif +0 -0
  861. data/public/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif +0 -0
  862. data/public/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif +0 -0
  863. data/public/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif +0 -0
  864. data/public/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif +0 -0
  865. data/public/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif +0 -0
  866. data/public/fckeditor/editor/filemanager/browser/default/images/spacer.gif +0 -0
  867. data/public/fckeditor/editor/filemanager/browser/default/js/common.js +0 -88
  868. data/public/fckeditor/editor/filemanager/browser/default/js/fckxml.js +0 -147
  869. data/public/fckeditor/editor/images/arrow_ltr.gif +0 -0
  870. data/public/fckeditor/editor/images/arrow_rtl.gif +0 -0
  871. data/public/fckeditor/editor/images/smiley/msn/angel_smile.gif +0 -0
  872. data/public/fckeditor/editor/images/smiley/msn/angry_smile.gif +0 -0
  873. data/public/fckeditor/editor/images/smiley/msn/broken_heart.gif +0 -0
  874. data/public/fckeditor/editor/images/smiley/msn/cake.gif +0 -0
  875. data/public/fckeditor/editor/images/smiley/msn/confused_smile.gif +0 -0
  876. data/public/fckeditor/editor/images/smiley/msn/cry_smile.gif +0 -0
  877. data/public/fckeditor/editor/images/smiley/msn/devil_smile.gif +0 -0
  878. data/public/fckeditor/editor/images/smiley/msn/embaressed_smile.gif +0 -0
  879. data/public/fckeditor/editor/images/smiley/msn/envelope.gif +0 -0
  880. data/public/fckeditor/editor/images/smiley/msn/heart.gif +0 -0
  881. data/public/fckeditor/editor/images/smiley/msn/kiss.gif +0 -0
  882. data/public/fckeditor/editor/images/smiley/msn/lightbulb.gif +0 -0
  883. data/public/fckeditor/editor/images/smiley/msn/omg_smile.gif +0 -0
  884. data/public/fckeditor/editor/images/smiley/msn/regular_smile.gif +0 -0
  885. data/public/fckeditor/editor/images/smiley/msn/sad_smile.gif +0 -0
  886. data/public/fckeditor/editor/images/smiley/msn/shades_smile.gif +0 -0
  887. data/public/fckeditor/editor/images/smiley/msn/teeth_smile.gif +0 -0
  888. data/public/fckeditor/editor/images/smiley/msn/thumbs_down.gif +0 -0
  889. data/public/fckeditor/editor/images/smiley/msn/thumbs_up.gif +0 -0
  890. data/public/fckeditor/editor/images/smiley/msn/tounge_smile.gif +0 -0
  891. data/public/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif +0 -0
  892. data/public/fckeditor/editor/images/smiley/msn/wink_smile.gif +0 -0
  893. data/public/fckeditor/editor/images/spacer.gif +0 -0
  894. data/public/fckeditor/editor/js/fckadobeair.js +0 -176
  895. data/public/fckeditor/editor/js/fckeditorcode_gecko.js +0 -108
  896. data/public/fckeditor/editor/js/fckeditorcode_ie.js +0 -109
  897. data/public/fckeditor/editor/lang/_translationstatus.txt +0 -78
  898. data/public/fckeditor/editor/lang/af.js +0 -526
  899. data/public/fckeditor/editor/lang/ar.js +0 -526
  900. data/public/fckeditor/editor/lang/bg.js +0 -526
  901. data/public/fckeditor/editor/lang/bn.js +0 -526
  902. data/public/fckeditor/editor/lang/bs.js +0 -526
  903. data/public/fckeditor/editor/lang/ca.js +0 -526
  904. data/public/fckeditor/editor/lang/cs.js +0 -526
  905. data/public/fckeditor/editor/lang/da.js +0 -526
  906. data/public/fckeditor/editor/lang/de.js +0 -526
  907. data/public/fckeditor/editor/lang/el.js +0 -526
  908. data/public/fckeditor/editor/lang/en-au.js +0 -526
  909. data/public/fckeditor/editor/lang/en-ca.js +0 -526
  910. data/public/fckeditor/editor/lang/en-uk.js +0 -526
  911. data/public/fckeditor/editor/lang/en.js +0 -526
  912. data/public/fckeditor/editor/lang/eo.js +0 -526
  913. data/public/fckeditor/editor/lang/es.js +0 -526
  914. data/public/fckeditor/editor/lang/et.js +0 -526
  915. data/public/fckeditor/editor/lang/eu.js +0 -527
  916. data/public/fckeditor/editor/lang/fa.js +0 -526
  917. data/public/fckeditor/editor/lang/fi.js +0 -526
  918. data/public/fckeditor/editor/lang/fo.js +0 -526
  919. data/public/fckeditor/editor/lang/fr-ca.js +0 -526
  920. data/public/fckeditor/editor/lang/fr.js +0 -526
  921. data/public/fckeditor/editor/lang/gl.js +0 -526
  922. data/public/fckeditor/editor/lang/gu.js +0 -526
  923. data/public/fckeditor/editor/lang/he.js +0 -526
  924. data/public/fckeditor/editor/lang/hi.js +0 -526
  925. data/public/fckeditor/editor/lang/hr.js +0 -526
  926. data/public/fckeditor/editor/lang/hu.js +0 -526
  927. data/public/fckeditor/editor/lang/it.js +0 -526
  928. data/public/fckeditor/editor/lang/ja.js +0 -526
  929. data/public/fckeditor/editor/lang/km.js +0 -526
  930. data/public/fckeditor/editor/lang/ko.js +0 -526
  931. data/public/fckeditor/editor/lang/lt.js +0 -526
  932. data/public/fckeditor/editor/lang/lv.js +0 -526
  933. data/public/fckeditor/editor/lang/mn.js +0 -526
  934. data/public/fckeditor/editor/lang/ms.js +0 -526
  935. data/public/fckeditor/editor/lang/nb.js +0 -526
  936. data/public/fckeditor/editor/lang/nl.js +0 -526
  937. data/public/fckeditor/editor/lang/no.js +0 -526
  938. data/public/fckeditor/editor/lang/pl.js +0 -526
  939. data/public/fckeditor/editor/lang/pt-br.js +0 -526
  940. data/public/fckeditor/editor/lang/pt.js +0 -526
  941. data/public/fckeditor/editor/lang/ro.js +0 -526
  942. data/public/fckeditor/editor/lang/ru.js +0 -526
  943. data/public/fckeditor/editor/lang/sk.js +0 -526
  944. data/public/fckeditor/editor/lang/sl.js +0 -526
  945. data/public/fckeditor/editor/lang/sr-latn.js +0 -526
  946. data/public/fckeditor/editor/lang/sr.js +0 -526
  947. data/public/fckeditor/editor/lang/sv.js +0 -526
  948. data/public/fckeditor/editor/lang/th.js +0 -526
  949. data/public/fckeditor/editor/lang/tr.js +0 -526
  950. data/public/fckeditor/editor/lang/uk.js +0 -526
  951. data/public/fckeditor/editor/lang/vi.js +0 -526
  952. data/public/fckeditor/editor/lang/zh-cn.js +0 -526
  953. data/public/fckeditor/editor/lang/zh.js +0 -526
  954. data/public/fckeditor/editor/plugins/autogrow/fckplugin.js +0 -99
  955. data/public/fckeditor/editor/plugins/bbcode/_sample/sample.config.js +0 -26
  956. data/public/fckeditor/editor/plugins/bbcode/_sample/sample.html +0 -67
  957. data/public/fckeditor/editor/plugins/bbcode/fckplugin.js +0 -123
  958. data/public/fckeditor/editor/plugins/dragresizetable/fckplugin.js +0 -524
  959. data/public/fckeditor/editor/plugins/placeholder/fck_placeholder.html +0 -105
  960. data/public/fckeditor/editor/plugins/placeholder/fckplugin.js +0 -187
  961. data/public/fckeditor/editor/plugins/placeholder/lang/de.js +0 -27
  962. data/public/fckeditor/editor/plugins/placeholder/lang/en.js +0 -27
  963. data/public/fckeditor/editor/plugins/placeholder/lang/es.js +0 -27
  964. data/public/fckeditor/editor/plugins/placeholder/lang/fr.js +0 -27
  965. data/public/fckeditor/editor/plugins/placeholder/lang/it.js +0 -27
  966. data/public/fckeditor/editor/plugins/placeholder/lang/pl.js +0 -27
  967. data/public/fckeditor/editor/plugins/placeholder/placeholder.gif +0 -0
  968. data/public/fckeditor/editor/plugins/simplecommands/fckplugin.js +0 -29
  969. data/public/fckeditor/editor/plugins/tablecommands/fckplugin.js +0 -33
  970. data/public/fckeditor/editor/skins/_fckviewstrips.html +0 -121
  971. data/public/fckeditor/editor/skins/default/fck_dialog.css +0 -402
  972. data/public/fckeditor/editor/skins/default/fck_dialog_ie6.js +0 -110
  973. data/public/fckeditor/editor/skins/default/fck_editor.css +0 -464
  974. data/public/fckeditor/editor/skins/default/fck_strip.gif +0 -0
  975. data/public/fckeditor/editor/skins/default/images/sprites.gif +0 -0
  976. data/public/fckeditor/editor/skins/default/images/sprites.png +0 -0
  977. data/public/fckeditor/editor/skins/default/images/toolbar.arrowright.gif +0 -0
  978. data/public/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif +0 -0
  979. data/public/fckeditor/editor/skins/default/images/toolbar.collapse.gif +0 -0
  980. data/public/fckeditor/editor/skins/default/images/toolbar.end.gif +0 -0
  981. data/public/fckeditor/editor/skins/default/images/toolbar.expand.gif +0 -0
  982. data/public/fckeditor/editor/skins/default/images/toolbar.separator.gif +0 -0
  983. data/public/fckeditor/editor/skins/office2003/fck_dialog.css +0 -402
  984. data/public/fckeditor/editor/skins/office2003/fck_dialog_ie6.js +0 -110
  985. data/public/fckeditor/editor/skins/office2003/fck_editor.css +0 -476
  986. data/public/fckeditor/editor/skins/office2003/fck_strip.gif +0 -0
  987. data/public/fckeditor/editor/skins/office2003/images/dialog.sides.gif +0 -0
  988. data/public/fckeditor/editor/skins/office2003/images/dialog.sides.png +0 -0
  989. data/public/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png +0 -0
  990. data/public/fckeditor/editor/skins/office2003/images/sprites.gif +0 -0
  991. data/public/fckeditor/editor/skins/office2003/images/sprites.png +0 -0
  992. data/public/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif +0 -0
  993. data/public/fckeditor/editor/skins/office2003/images/toolbar.bg.gif +0 -0
  994. data/public/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif +0 -0
  995. data/public/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif +0 -0
  996. data/public/fckeditor/editor/skins/office2003/images/toolbar.end.gif +0 -0
  997. data/public/fckeditor/editor/skins/office2003/images/toolbar.expand.gif +0 -0
  998. data/public/fckeditor/editor/skins/office2003/images/toolbar.separator.gif +0 -0
  999. data/public/fckeditor/editor/skins/office2003/images/toolbar.start.gif +0 -0
  1000. data/public/fckeditor/editor/skins/silver/fck_dialog.css +0 -402
  1001. data/public/fckeditor/editor/skins/silver/fck_dialog_ie6.js +0 -110
  1002. data/public/fckeditor/editor/skins/silver/fck_editor.css +0 -473
  1003. data/public/fckeditor/editor/skins/silver/fck_strip.gif +0 -0
  1004. data/public/fckeditor/editor/skins/silver/images/dialog.sides.gif +0 -0
  1005. data/public/fckeditor/editor/skins/silver/images/dialog.sides.png +0 -0
  1006. data/public/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png +0 -0
  1007. data/public/fckeditor/editor/skins/silver/images/sprites.gif +0 -0
  1008. data/public/fckeditor/editor/skins/silver/images/sprites.png +0 -0
  1009. data/public/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif +0 -0
  1010. data/public/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif +0 -0
  1011. data/public/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif +0 -0
  1012. data/public/fckeditor/editor/skins/silver/images/toolbar.collapse.gif +0 -0
  1013. data/public/fckeditor/editor/skins/silver/images/toolbar.end.gif +0 -0
  1014. data/public/fckeditor/editor/skins/silver/images/toolbar.expand.gif +0 -0
  1015. data/public/fckeditor/editor/skins/silver/images/toolbar.separator.gif +0 -0
  1016. data/public/fckeditor/fckconfig.js +0 -364
  1017. data/public/fckeditor/fckdebug.html +0 -153
  1018. data/public/fckeditor/fckdialog.html +0 -812
  1019. data/public/fckeditor/fckeditor.html +0 -317
  1020. data/public/fckeditor/fckeditor.js +0 -328
  1021. data/public/fckeditor/fckeditor.original.html +0 -424
  1022. data/public/fckeditor/fckpackager.xml +0 -262
  1023. data/public/fckeditor/fckstyles.xml +0 -111
  1024. data/public/fckeditor/fcktemplates.xml +0 -103
  1025. data/public/javascripts/cms/editor.js +0 -56
@@ -1,308 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
- <title>BrowserCMS Developer Guide</title>
6
- <link rel="stylesheet" type="text/css" href="files/stylesheets/syntax.css" />
7
- <script type="text/javascript" src="files/javascripts/code_highlighter.js"></script>
8
- <script type="text/javascript" src="files/javascripts/highlighters.js"></script>
9
- <style type="text/css">
10
- body {
11
- background: #FFFFFF url(images/bg.png) repeat-x scroll 0 0;
12
- font-family: "Trebuchet MS", Helvetica, Verdana, Arial, sans-serif;
13
- margin: 0;
14
- padding: 0;
15
- }
16
-
17
- #page {
18
- margin: 0 auto;
19
- text-align: left;
20
- width: 1000px;
21
- }
22
-
23
- #header {
24
- height: 110px;
25
- }
26
-
27
- div.top_cap {
28
- background: transparent url(images/top_cap.png) no-repeat scroll 0 0;
29
- height: 10px;
30
- }
31
-
32
- #contentwrap {
33
- background: transparent url(images/dot.png) repeat scroll 0 0;
34
- float: left;
35
- width: 1000px;
36
- }
37
-
38
- div.bottom_cap {
39
- background: transparent url(images/bottom_cap.png) no-repeat scroll 0 0;
40
- height: 9px;
41
- }
42
-
43
- div.top_cap_content {
44
- background: transparent url(images/top_cap_content.png) no-repeat scroll 0 0;
45
- height: 5px;
46
- }
47
-
48
- #content {
49
- background-color: #FFFFFF;
50
- margin: 0 5px;
51
- padding: 0 10px;
52
- }
53
-
54
- div.title {
55
- padding: 20px;
56
- }
57
-
58
- div.title h1 {
59
- border-bottom: 3px solid #505358;
60
- color: #FFFFFF;
61
- font-size: 24pt;
62
- font-weight: normal;
63
- line-height: 1;
64
- margin: 0 0 10px;
65
- padding-bottom: 10px;
66
- }
67
-
68
- td.sidebar {
69
- font-size: 8pt;
70
- width: 165px;
71
- padding: 5px;
72
- }
73
-
74
- td.sidebar ol {
75
- margin-left: 20px;
76
- padding: 0;
77
- line-height: 1.5;
78
- }
79
-
80
- td.sidebar ol li {
81
- margin: 0;
82
- padding: 0;
83
- }
84
-
85
- td.sidebar ol li ul {
86
- list-style-type: none;
87
- padding-left: 10px;
88
- }
89
-
90
- td.guides {
91
- font-size: 10pt;
92
- width: 800px;
93
- padding: 10px;
94
- }
95
-
96
- .code_container {
97
- padding: 10px;
98
- background: #eee;
99
- border: 1px solid #ccc;
100
- overflow: auto;
101
- width: 760px;
102
- }
103
-
104
- pre, code {
105
- overflow: auto;
106
- white-space:pre;
107
- }
108
-
109
- </style>
110
- </head>
111
- <body>
112
- <div id="page">
113
- <div id="header">
114
- <a href="index.html"><img style="border:0px" src="images/browsercms_logo.png" alt="BrowserCMS"/></a>
115
- </div>
116
- <div id="main">
117
- <div class="top_cap"></div>
118
- <div id="contentwrap">
119
- <div class="title">
120
- <h1>BrowserCMS Developer Guide</h1>
121
- </div>
122
- <div class="top_cap_content"></div>
123
- <div id="content">
124
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
125
- <tr>
126
- <td class="sidebar" valign="top">
127
- <div id="subCol">
128
- <h3 class="chapter"><img src="images/chapters_icon.gif" alt="" />Chapters</h3>
129
- <ol class="chapters">
130
- <li><a href="#content-blocks">Content Blocks</a><ul></ul></li><li><a href="#creating-a-custom-content-block">Creating A Custom Content Block</a><ul><li><a href="#attribute-types">Attribute Types</a></li></ul></li><li><a href="#creating-a-custom-portlet">Creating A Custom Portlet</a><ul><li><a href="#using-file-system-templates">Using File system templates</a></li><li><a href="#pre-selecting-a-handler">Pre-selecting a handler</a></li></ul></li><li><a href="#page-routes">Page Routes</a><ul></ul></li></ol></div>
131
- </td>
132
- <td class="guides">
133
- <h2>BrowserCMS Developer Guide</h2>
134
- <p>This guide covers how to use the tools that come with BrowserCMS to extend the functionality of your BrowserCMS site. The target audience for this guide is intermediate to advanced Rails developers. You should also read the <a href="user_guide.html">Building a Site with BrowserCMS</a> guide first as well, so you know how to create pages and put content on pages. This guide will cover:</p>
135
- <ul>
136
- <li>What content blocks and portlets are and how they work</li>
137
- <li>How to create custom content blocks</li>
138
- <li>How to create custom portlets</li>
139
- <li>How to create friendly URLs for pages</li>
140
- </ul>
141
- <h3 id="content-blocks">1 Content Blocks</h3>
142
- <p>Content Blocks are the basic unit used to add content to pages in a BrowserCMS site. There are several pre-built content types that are part of BrowserCMS core. The most commonly used one is the HtmlBlock content type, so we will use that as a starting example.</p>
143
- <p>If you look at the HtmlBlock model in BrowserCMS core, you will see that it is an ActiveRecord model, just like any model you create in a Rails application. It also calls the <a href="/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html">acts_as_content_block</a> method, which just sets up several <a href="/doc/app/classes/Cms/Behaviors.html">Behaviors</a> on the model. One of the key Behaviors to understand is the <a href="/doc/app/classes/Cms/Behaviors/Rendering.html">Rendering</a> behavior. Essentially what this behavior does is to allow a model (by model I mean a subclass of ActiveRecord::Base) to act as a mini-controller. This is the same thing conceptually as <a href="http://yehudakatz.com/2007/09/06/merbs-parts-are-pretty-rocking-too">Merb Parts</a> or <a href="http://cells.rubyforge.org">Rails Cells</a>, the only difference is that content blocks are models as well, so they have attributes that are stored in the database like any other model.</p>
144
- <p>In the BrowserCMS implementation, first the render method of the object is called, which is like an action. This is where instance variables are set. In the case of an HtmlBlock, there are no other instance variables to set up, so this step is just skipped. It is similar to a controller action that has no action method, it just goes straight to the view.</p>
145
- <p>The view is the render template, which is inside the <tt>cms/html_blocks</tt> directory in the view path. If you look in the render template, you will see all it does is print the value of <tt>@content_block.content</tt>. Content is the name of the property that holds the <span class="caps">HTML</span> content.</p>
146
- <h3 id="creating-a-custom-content-block">2 Creating A Custom Content Block</h3>
147
- <p>Let&#8217;s say that you are using BrowserCMS to build a website that will display a list of products. The first step would be to create a product content block. This will give the users of the <span class="caps">CMS</span> a way to create products. To create a product content block, in an existing BrowserCMS project, run the content block generator:</p>
148
- <div class="code_container"><code class="html">$ script/generate content_block product name:string price:integer description:html</code></div>
149
- <p>You will notice that several things have been created:</p>
150
- <ul>
151
- <li>A model in <tt>app/models/product.rb</tt></li>
152
- <li>A migration for the product model</li>
153
- <li>A controller for the product in <tt>app/controllers/cms/products_controller.rb</tt></li>
154
- <li>A form partial in <tt>app/views/cms/products/_form.html.erb</tt></li>
155
- <li>A render template in <tt>app/views/cms/products/render.html.erb</tt></li>
156
- <li>A resource route for the controller</li>
157
- </ul>
158
- <p>If you look at <tt>app/models/product.rb</tt>, you will see that it is nothing more than:</p>
159
- <div class="code_container"><code class="ruby">class Product &lt; ActiveRecord::Base
160
- acts_as_content_block
161
- end</code></div>
162
- <p>The controller created at <tt>app/controllers/cms/products_controller.rb</tt> is equally empty:</p>
163
- <div class="code_container"><code class="ruby">class Cms::ProductsController &lt; Cms::ContentBlockController
164
- end</code></div>
165
- <p>This controller is the controller used in the actual <span class="caps">CMS</span> interface. If you want to create a controller to use in the front end of your application, create a products controller that is not in the <span class="caps">CMS</span> namespace, so as not to conflict the <span class="caps">CMS</span> functionality. You will most likely not need to customize the <span class="caps">CMS</span> controller at all.</p>
166
- <p>The form partial at <tt>app/views/cms/products/_form.html.erb</tt> is the form that will be used when creating/editing the product content block in the content library of the <span class="caps">CMS</span>. The contents of this file will be:</p>
167
- <div class="code_container"><code class="html">&lt;%= f.cms_text_field :name %&gt;
168
- &lt;%= f.cms_text_field :price %&gt;
169
- &lt;%= f.cms_text_editor :description %&gt;</code></div>
170
- <p>The form helper methods that are prefixed with <tt>cms_</tt> will wrap that form helper with the <span class="caps">CMS</span> styling and extra functionality. The <tt>cms_text_editor</tt> will show the user a <span class="caps">WYSIWYG</span> editor for editing <span class="caps">HTML</span>. Additional <span class="caps">CMS</span> form builder extensions are covered in the <a href="designer_guide.html">BrowserCMS Designer Guide</a>.</p>
171
- <p>The render template at <tt>app/views/cms/products/render.html.erb</tt> is the template that will be used to render the <span class="caps">HTML</span> when this product is placed directly on a page. It is also what is shown when you view a product within the content library of the <span class="caps">CMS</span>.</p>
172
- <p>As you will see in the next section, custom content blocks are often not placed directly on a page, instead the data of a product is displayed through a portlet. For this reason, a more informational display, similar to what is automatically generated by the generator, is what the render template often contains. Depending on what your content block is, you may want to place the content block directly on a page, in which case you would most likely customize the render template.</p>
173
- <h4 id="attribute-types">2.1 Attribute Types
174
- This section covers some of the different attribute types that Content Blocks can have. Each attribute represents a
175
- persistent column in the database, will appear as an editable control on the <em>form.html.erb, and may also need to need to be configured
176
- on the content</em>block itself.</h4>
177
- <p>List of Content Types</p>
178
- <ul>
179
- <li>Text Fields</li>
180
- <li>Text Areas</li>
181
- <li>Drop Down (Select)</li>
182
- <li>Text Editor (<span class="caps">WYWIWYG</span>)</li>
183
- <li>Attachment (File Upload)</li>
184
- <li>Tag List (Allow</li>
185
- <li>Date Picker</li>
186
- </ul>
187
- <h5 id="drop-down--selects">2.1.1 Drop Down / Selects
188
- This is similar to the traditional &#8216;select&#8217; helper, it renders a stylized select control which allows users to choose one item from a list.</h5>
189
- <h6 id="cms-drop-down">2.1.1.1 cms_drop_down
190
- In _form.html.erb:</h6>
191
- <div class="code_container"><code class="html">&lt;%= f.cms_drop_down :category_id, Category.all(:order =&gt; &quot;name&quot;).map{|c| [c.name, c.id]},
192
- :prompt =&gt; &quot;Select a Category&quot;, :label =&gt; &quot;Category&quot;,
193
- :instructions=&gt;&quot;Determines which category is used on the homepage.&quot; %&gt;</code></div>
194
- <p>In product.rb:</p>
195
- <div class="code_container"><code class="ruby">class Product &lt; ActiveRecord::Base
196
- belongs_to :category
197
- end</code></div>
198
- <h5 id="attachments">2.1.2 Attachments
199
- Each content block can have a single file attachment, which will allow users to upload files into the content repository. After uploading, the file will be
200
- stored in a section within the <span class="caps">CMS</span>. Since sections determine permissions, this will allow you to control which users can access the file itself. Attached files
201
- will have their own versioning history, which will keep track of changes.</h5>
202
- <h6 id="cms-file-field">2.1.2.1 cms_file_field
203
- This helper will create a stylized file upload file. An uploaded file will be associated with the content_block to which it is attached.</h6>
204
- <p>In _form.html.erb (View)</p>
205
- <div class="code_container"><code class="html">&lt;%= f.cms_file_field :attachment_file, :label =&gt; &quot;File&quot; %&gt;</code></div>
206
- <p>In product.rb (Model)</p>
207
- <div class="code_container"><code class="ruby">class Product &lt; ActiveRecord::Base
208
- acts_as_content_block :belongs_to_attachment =&gt; true
209
- end</code></div>
210
- <p>In create_products.rb (Migration)</p>
211
- <div class="code_container"><code class="ruby">create_content_table :products do |t|
212
- t.belongs_to :attachment
213
- t.integer :attachment_version
214
- end</code></div>
215
- <h3 id="creating-a-custom-portlet">3 Creating A Custom Portlet</h3>
216
- <p>Once you have created the product content block and created a few products in the content library, you need a way to display them on a page. To do that, you will want to create a portlet.</p>
217
- <p>A portlet is used to display dynamic data on a page. A portlet is a content block. A portlet will typically perform some kind of database query in the render method and then render it&#8217;s view. One difference between a portlet and typical content block is that each instance of a portlet can have a unique template because that template is stored as data along with the portlet. Let&#8217;s generate a portlet to display the most recently created products:</p>
218
- <div class="code_container"><code class="html">$ script/generate portlet recent_products limit:integer</code></div>
219
- <p>What you will see created is:</p>
220
- <ul>
221
- <li>A portlet at <tt>app/portlets/recent_products_portlet.rb</tt></li>
222
- <li>A form partial at <tt>app/views/portlets/recent_products/_form.html.erb</tt></li>
223
- <li>A render template at <tt>app/views/portlets/recent_products/render.html.erb</tt></li>
224
- </ul>
225
- <p>What you don&#8217;t see created is a migration. Portlets use the <a href="/doc/app/classes/Cms/Behaviors/DynamicAttributes.html">DynamicAttributes</a> behavior in order to store associated values in the database without having to create custom database tables. What this means is that you can set and then store a value for any attribute for a portlet.</p>
226
- <p>So if you look at the form partial that was generate for this portlet, you will see this:</p>
227
- <div class="code_container"><code class="html">&lt;%= f.cms_text_field :name %&gt;
228
- &lt;%= f.cms_text_field :limit %&gt;
229
- &lt;%= f.cms_drop_down :handler, ActionView::Template.template_handler_extensions, :default_value =&gt; &quot;erb&quot; %&gt;
230
- &lt;%= f.cms_text_area :template, :default_value =&gt; @block.class.default_template %&gt;</code></div>
231
- <p>Every portlet instance has to have a name and that is stored in the main <tt>portlets</tt> table, but <tt>limit</tt> is stored in the <tt>portlet_attributes</tt> table. You could add anything to this form, such as <tt>&lt;%= f.cms_text_field :foobar %&gt;</tt>, and whatever the user enters for <tt>foobar</tt> would get saved with the portlet.</p>
232
- <p>If you look at the code for the portlet, you will see:</p>
233
- <div class="code_container"><code class="ruby">class RecentProducts &lt; Portlet
234
-
235
- def render
236
- # Your Code Goes Here
237
- end
238
-
239
- end</code></div>
240
- <p>As the comment says, you will want to fill in your application logic here. We&#8217;re going to get the most recent products and use the value the user entered for limit when they filled out the form. So edit the code to look like:</p>
241
- <div class="code_container"><code class="ruby">class RecentProducts &lt; Portlet
242
-
243
- def render
244
- @products = Product.all(:order =&gt; &quot;created_at desc&quot;, :limit =&gt; self.limit)
245
- end
246
-
247
- end</code></div>
248
- <p><code>self</code> in this case is the portlet instance, which is also available in the instance variable
249
- <code>@portlet</code>.
250
- We are setting the <code>@products</code> instance variable so that will be available in the view. If you look at the render template, you will see this:</p>
251
- <div class="code_container"><code class="html">&lt;%=h @portlet.name %&gt;</code></div>
252
- <p>This is simply a place holder, you should override this code with something similar to what you expect the user of your portlet to want to use. In this case, let&#8217;s go with:</p>
253
- <div class="code_container"><code class="html">&lt;ul&gt;
254
- &lt;% @products.each do |product| %&gt;
255
- &lt;li&gt;&lt;%=h product.name %&gt;&lt;/li&gt;
256
- &lt;% end %&gt;
257
- &lt;/ul&gt;</code></div>
258
- <p>Notice that in the last paragraph I said &#8220;similar to what you expect the user of your portlet to want to use&#8221;. This value is simply the default starting point for the template of a portlet. The actual value is entered into the form when the user creates an instance of this portlet.</p>
259
- <p>If you look back at the form partial that was generated, you&#8217;ll see:</p>
260
- <div class="code_container"><code class="html">&lt;%= f.cms_text_area :template, :default_value =&gt; @block.class.default_template %&gt;</code></div>
261
- <p>What this does is preload the template with whatever you entered into the render template. The user is free to change it as they see fit and even have different values from one portlet instance to the next.</p>
262
- <h4 id="using-file-system-templates">3.1 Using File system templates</h4>
263
- <p>If you do not want to have the portlet&#8217;s render template stored in the <span class="caps">CMS</span> content libary, but would rather have it just render the file from the file system, simply add this to your portlet code:</p>
264
- <div class="code_container"><code class="ruby">class RecentProducts &lt; Portlet
265
-
266
- render_inline false
267
-
268
- def render
269
- @products = Product.all(:order =&gt; &quot;created_at desc&quot;, :limit =&gt; self.limit)
270
- end
271
-
272
- end</code></div>
273
- <p>The key line being the <code>render_line false</code>. Also, you will probably notice this line in the form that was generated:</p>
274
- <div class="code_container"><code class="html">&lt;%= f.cms_drop_down :handler,
275
- ActionView::Template.template_handler_extensions,
276
- :default_value =&gt; &quot;erb&quot; %&gt;</code></div>
277
- <p>This generates a drop-down menu for the user creating the portlet to select from the various portlet handlers installed in your Rails app.
278
- The default handler for portlet views is erb, but you could use alternative ones, like Haml. To do that, install the <span class="caps">HAML</span> gem and set the default_value to &#8216;haml&#8217; like so:</p>
279
- <div class="code_container"><code class="html">&lt;%= f.cms_drop_down :handler,
280
- ActionView::Template.template_handler_extensions,
281
- :default_value =&gt; &quot;haml&quot; %&gt;</code></div>
282
- <h4 id="pre-selecting-a-handler">3.2 Pre-selecting a handler</h4>
283
- <p>If you would rather not have the user select the handler type, or if you are using the file system instead of storing the template code in the <span class="caps">CMS</span>, you can set the handler to a different value like this:</p>
284
- <div class="code_container"><code class="ruby">class RecentProducts &lt; Portlet
285
-
286
- handler &quot;haml&quot;
287
- render_inline false
288
-
289
- def render
290
- @products = Product.all(:order =&gt; &quot;created_at desc&quot;, :limit =&gt; self.limit)
291
- end
292
-
293
- end</code></div>
294
- <p>The key line being <code>handler "haml"</code>.</p>
295
- <h3 id="page-routes">4 Page Routes</h3>
296
- <p><span class="caps">TODO</span></p>
297
- </td>
298
- </tr>
299
- </table>
300
- </div>
301
- </div>
302
- <br clear="all"/>
303
- <div class="bottom_cap"></div>
304
- </div>
305
- </div>
306
- </body>
307
- </html>
308
-
@@ -1,15 +0,0 @@
1
- <public:component lightweight="true">
2
-
3
- <script language="javascript">
4
-
5
- function CancelEvent()
6
- {
7
- return false ;
8
- }
9
-
10
- this.onresizestart = CancelEvent ;
11
- this.onbeforeeditfocus = CancelEvent ;
12
-
13
- </script>
14
-
15
- </public:component>
@@ -1,36 +0,0 @@
1
- <public:component lightweight="true">
2
-
3
- <public:attach event="oncontentready" onevent="ShowBorders()" />
4
- <public:attach event="onpropertychange" onevent="OnPropertyChange()" />
5
-
6
- <script language="javascript">
7
-
8
- var oClassRegex = /\s*FCK__ShowTableBorders/ ;
9
-
10
- function ShowBorders()
11
- {
12
- if ( this.border == 0 )
13
- {
14
- if ( !oClassRegex.test( this.className ) )
15
- this.className += ' FCK__ShowTableBorders' ;
16
- }
17
- else
18
- {
19
- if ( oClassRegex.test( this.className ) )
20
- {
21
- this.className = this.className.replace( oClassRegex, '' ) ;
22
- if ( this.className.length == 0 )
23
- this.removeAttribute( 'className', 0 ) ;
24
- }
25
- }
26
- }
27
-
28
- function OnPropertyChange()
29
- {
30
- if ( event.propertyName == 'border' || event.propertyName == 'className' )
31
- ShowBorders.call(this) ;
32
- }
33
-
34
- </script>
35
-
36
- </public:component>
@@ -1,110 +0,0 @@
1
- /*
2
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
3
- * Copyright (C) 2003-2008 Frederico Caldeira Knabben
4
- *
5
- * == BEGIN LICENSE ==
6
- *
7
- * Licensed under the terms of any of the following licenses at your
8
- * choice:
9
- *
10
- * - GNU General Public License Version 2 or later (the "GPL")
11
- * http://www.gnu.org/licenses/gpl.html
12
- *
13
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
14
- * http://www.gnu.org/licenses/lgpl.html
15
- *
16
- * - Mozilla Public License Version 1.1 or later (the "MPL")
17
- * http://www.mozilla.org/MPL/MPL-1.1.html
18
- *
19
- * == END LICENSE ==
20
- *
21
- * This is the default CSS file used by the editor area. It defines the
22
- * initial font of the editor and background color.
23
- *
24
- * A user can configure the editor to use another CSS file. Just change
25
- * the value of the FCKConfig.EditorAreaCSS key in the configuration
26
- * file.
27
- */
28
-
29
- /**
30
- * The "body" styles should match your editor web site, mainly regarding
31
- * background color and font family and size.
32
- */
33
-
34
- body
35
- {
36
- background-color: #ffffff;
37
- padding: 5px 5px 5px 5px;
38
- margin: 0px;
39
- }
40
-
41
- body, td
42
- {
43
- font-family: Arial, Verdana, sans-serif;
44
- font-size: 12px;
45
- }
46
-
47
- a[href]
48
- {
49
- color: -moz-hyperlinktext !important; /* For Firefox... mark as important, otherwise it becomes black */
50
- text-decoration: -moz-anchor-decoration; /* For Firefox 3, otherwise no underline will be used */
51
- }
52
-
53
- /**
54
- * Just uncomment the following block if you want to avoid spaces between
55
- * paragraphs. Remember to apply the same style in your output front end page.
56
- */
57
-
58
- /*
59
- p, ul, li
60
- {
61
- margin-top: 0px;
62
- margin-bottom: 0px;
63
- }
64
- */
65
-
66
- /**
67
- * Uncomment the following block, or only selected lines if appropriate,
68
- * if you have some style items that would break the styles combo box.
69
- * You can also write other CSS overrides inside the style block below
70
- * as needed and they will be applied to inside the style combo only.
71
- */
72
-
73
- /*
74
- .SC_Item *, .SC_ItemSelected *
75
- {
76
- margin: 0px !important;
77
- padding: 0px !important;
78
- text-indent: 0px !important;
79
- clip: auto !important;
80
- position: static !important;
81
- }
82
- */
83
-
84
- /**
85
- * The following are some sample styles used in the "Styles" toolbar command.
86
- * You should instead remove them, and include the styles used by the site
87
- * you are using the editor in.
88
- */
89
-
90
- .Bold
91
- {
92
- font-weight: bold;
93
- }
94
-
95
- .Title
96
- {
97
- font-weight: bold;
98
- font-size: 18px;
99
- color: #cc3300;
100
- }
101
-
102
- .Code
103
- {
104
- border: #8b4513 1px solid;
105
- padding-right: 5px;
106
- padding-left: 5px;
107
- color: #000066;
108
- font-family: 'Courier New' , Monospace;
109
- background-color: #ff9933;
110
- }