browsercms 3.4.0.rc2 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (776) hide show
  1. data/.rvmrc +1 -1
  2. data/COPYRIGHT.txt +1 -1
  3. data/Gemfile.lock +6 -2
  4. data/README.markdown +6 -16
  5. data/{vendor/assets/javascripts/bcms/ckeditor/editor.js → app/assets/javascripts/bcms/ckeditor.js} +6 -3
  6. data/{vendor/assets/javascripts/bcms → app/assets/javascripts}/ckeditor/config.js +2 -0
  7. data/app/assets/javascripts/cms/application.js +1 -1
  8. data/app/assets/javascripts/cms/{core_library.js → core_library.js.erb} +5 -0
  9. data/app/assets/stylesheets/cms/form_layout.css.erb +1 -0
  10. data/app/controllers/cms/links_controller.rb +2 -2
  11. data/app/controllers/cms/tasks_controller.rb +1 -1
  12. data/app/controllers/cms/users_controller.rb +1 -1
  13. data/app/helpers/cms/ui_elements_helper.rb +6 -0
  14. data/app/views/cms/links/edit.html.erb +1 -1
  15. data/app/views/cms/links/new.html.erb +1 -1
  16. data/app/views/cms/tasks/new.html.erb +1 -1
  17. data/app/views/layouts/cms/_head.html.erb +1 -1
  18. data/app/views/layouts/cms/login.html.erb +1 -0
  19. data/app/views/layouts/cms/toolbar.html.erb +1 -0
  20. data/bin/bcms +65 -56
  21. data/bin/bcms-upgrade +3 -4
  22. data/browsercms.gemspec +10 -9
  23. data/db/migrate/20111130221145_browsercms340.rb +5 -3
  24. data/doc/release_notes.md +33 -22
  25. data/features/acts_as_content_page.feature +14 -0
  26. data/features/add_content_to_pages.feature +3 -4
  27. data/features/commands/new_projects.feature +14 -7
  28. data/features/commands/{upgrade_modules_from_3_1_to_3_4.feature → upgrade_modules_to_3_4_0_from_3_1_x.feature} +0 -0
  29. data/features/commands/upgrade_project_to_3_4_0_from_3_3_x.feature +52 -0
  30. data/features/commands/upgrading_modules.feature +3 -2
  31. data/features/manage_tasks.feature +25 -0
  32. data/features/manage_users.feature +38 -0
  33. data/features/{create_pages.feature → sitemap/create_pages.feature} +0 -0
  34. data/features/sitemap/manage_links.feature +29 -0
  35. data/features/{sitemap.feature → sitemap/sitemap.feature} +0 -0
  36. data/features/step_definitions/command_line_steps.rb +101 -4
  37. data/features/step_definitions/content_pages_steps.rb +28 -7
  38. data/features/step_definitions/manage_user_steps.rb +22 -0
  39. data/features/step_definitions/task_steps.rb +4 -0
  40. data/features/step_definitions/upgrade_module_steps.rb +3 -1
  41. data/features/support/async_support.rb +17 -0
  42. data/features/support/command_line_helpers.rb +21 -3
  43. data/lib/cms/acts/content_page.rb +23 -0
  44. data/lib/cms/commands/actions.rb +56 -1
  45. data/lib/cms/engine.rb +13 -3
  46. data/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements.rb +6 -0
  47. data/lib/cms/upgrades/v3_4_0.rb +32 -0
  48. data/lib/cms/version.rb +1 -1
  49. data/lib/generators/cms/install/install_generator.rb +0 -2
  50. data/lib/tasks/db.rake +8 -0
  51. data/test/dummy/app/assets/javascripts/content_page.js +2 -0
  52. data/test/dummy/app/assets/stylesheets/content_page.css +4 -0
  53. data/test/dummy/app/controllers/content_page_controller.rb +13 -0
  54. data/test/dummy/app/helpers/content_page_helper.rb +2 -0
  55. data/test/dummy/app/views/content_page/custom_page.html.erb +3 -0
  56. data/test/dummy/app/views/content_page/index.html.erb +2 -0
  57. data/{app → test/dummy/app}/views/layouts/templates/default.html.erb +0 -0
  58. data/test/dummy/app/views/layouts/templates/subpage.html.erb +16 -0
  59. data/test/dummy/config/initializers/quiet_sprocket_assets.rb +10 -5
  60. data/test/dummy/config/routes.rb +3 -0
  61. data/test/dummy/test/functional/content_page_controller_test.rb +9 -0
  62. data/test/dummy/test/unit/helpers/content_page_helper_test.rb +4 -0
  63. data/test/factories.rb +1 -0
  64. data/test/functional/cms/links_controller_test.rb +0 -59
  65. data/test/functional/cms/users_controller_test.rb +0 -24
  66. data/test/unit/models/content_type_test.rb +27 -0
  67. data/todo_list.markdown +17 -35
  68. metadata +74 -735
  69. data/app/assets/javascripts/browsercms/application.js +0 -9
  70. data/app/views/layouts/application.html.erb +0 -11
  71. data/app/views/layouts/browsercms/application.html.erb +0 -14
  72. data/doc/app/classes/AbstractFileBlock.html +0 -172
  73. data/doc/app/classes/ActiveRecord.html +0 -105
  74. data/doc/app/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html +0 -293
  75. data/doc/app/classes/ActiveSupport.html +0 -111
  76. data/doc/app/classes/ActiveSupport/Cache.html +0 -111
  77. data/doc/app/classes/ActiveSupport/Cache/FileStore.html +0 -146
  78. data/doc/app/classes/ActsAsList.html +0 -147
  79. data/doc/app/classes/ActsAsList/ClassMethods.html +0 -202
  80. data/doc/app/classes/ActsAsList/InstanceMethods.html +0 -534
  81. data/doc/app/classes/ApplicationController.html +0 -119
  82. data/doc/app/classes/ApplicationHelper.html +0 -116
  83. data/doc/app/classes/Attachment.html +0 -726
  84. data/doc/app/classes/Category.html +0 -230
  85. data/doc/app/classes/CategoryType.html +0 -214
  86. data/doc/app/classes/Cms.html +0 -771
  87. data/doc/app/classes/Cms/Acts.html +0 -116
  88. data/doc/app/classes/Cms/Acts/ContentBlock.html +0 -146
  89. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html +0 -165
  90. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods/InstanceMethods.html +0 -140
  91. data/doc/app/classes/Cms/Acts/ContentPage.html +0 -187
  92. data/doc/app/classes/Cms/Acts/ContentPage/ClassMethods.html +0 -188
  93. data/doc/app/classes/Cms/ApplicationController.html +0 -369
  94. data/doc/app/classes/Cms/ApplicationHelper.html +0 -698
  95. data/doc/app/classes/Cms/AttachmentsController.html +0 -154
  96. data/doc/app/classes/Cms/Authentication.html +0 -116
  97. data/doc/app/classes/Cms/Authentication/Controller.html +0 -700
  98. data/doc/app/classes/Cms/Authentication/Model.html +0 -165
  99. data/doc/app/classes/Cms/Authentication/Model/ClassMethods.html +0 -246
  100. data/doc/app/classes/Cms/Authentication/Model/InstanceMethods.html +0 -412
  101. data/doc/app/classes/Cms/BaseController.html +0 -113
  102. data/doc/app/classes/Cms/Behaviors.html +0 -235
  103. data/doc/app/classes/Cms/Behaviors/Archiving.html +0 -147
  104. data/doc/app/classes/Cms/Behaviors/Archiving/InstanceMethods.html +0 -220
  105. data/doc/app/classes/Cms/Behaviors/Archiving/MacroMethods.html +0 -175
  106. data/doc/app/classes/Cms/Behaviors/Attaching.html +0 -160
  107. data/doc/app/classes/Cms/Behaviors/Attaching/InstanceMethods.html +0 -670
  108. data/doc/app/classes/Cms/Behaviors/Attaching/MacroMethods.html +0 -188
  109. data/doc/app/classes/Cms/Behaviors/Categorizing.html +0 -148
  110. data/doc/app/classes/Cms/Behaviors/Categorizing/ClassMethods.html +0 -105
  111. data/doc/app/classes/Cms/Behaviors/Categorizing/InstanceMethods.html +0 -140
  112. data/doc/app/classes/Cms/Behaviors/Categorizing/MacroMethods.html +0 -178
  113. data/doc/app/classes/Cms/Behaviors/ClassMethods.html +0 -272
  114. data/doc/app/classes/Cms/Behaviors/Connecting.html +0 -148
  115. data/doc/app/classes/Cms/Behaviors/Connecting/ClassMethods.html +0 -188
  116. data/doc/app/classes/Cms/Behaviors/Connecting/InstanceMethods.html +0 -312
  117. data/doc/app/classes/Cms/Behaviors/Connecting/MacroMethods.html +0 -184
  118. data/doc/app/classes/Cms/Behaviors/DynamicAttributes.html +0 -285
  119. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/InstanceMethods.html +0 -181
  120. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/MacroMethods.html +0 -243
  121. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange.html +0 -178
  122. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/InstanceMethods.html +0 -142
  123. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/MacroMethods.html +0 -175
  124. data/doc/app/classes/Cms/Behaviors/Hiding.html +0 -148
  125. data/doc/app/classes/Cms/Behaviors/Hiding/ClassMethods.html +0 -105
  126. data/doc/app/classes/Cms/Behaviors/Hiding/InstanceMethods.html +0 -220
  127. data/doc/app/classes/Cms/Behaviors/Hiding/MacroMethods.html +0 -176
  128. data/doc/app/classes/Cms/Behaviors/InstanceMethods.html +0 -287
  129. data/doc/app/classes/Cms/Behaviors/Pagination.html +0 -151
  130. data/doc/app/classes/Cms/Behaviors/Pagination/ClassMethods.html +0 -252
  131. data/doc/app/classes/Cms/Behaviors/Pagination/Collection.html +0 -437
  132. data/doc/app/classes/Cms/Behaviors/Pagination/InvalidPage.html +0 -146
  133. data/doc/app/classes/Cms/Behaviors/Publishing.html +0 -179
  134. data/doc/app/classes/Cms/Behaviors/Publishing/ClassMethods.html +0 -105
  135. data/doc/app/classes/Cms/Behaviors/Publishing/InstanceMethods.html +0 -333
  136. data/doc/app/classes/Cms/Behaviors/Publishing/MacroMethods.html +0 -191
  137. data/doc/app/classes/Cms/Behaviors/Rendering.html +0 -176
  138. data/doc/app/classes/Cms/Behaviors/Rendering/MacroMethods.html +0 -186
  139. data/doc/app/classes/Cms/Behaviors/Searching.html +0 -147
  140. data/doc/app/classes/Cms/Behaviors/Searching/ClassMethods.html +0 -164
  141. data/doc/app/classes/Cms/Behaviors/Searching/MacroMethods.html +0 -188
  142. data/doc/app/classes/Cms/Behaviors/SoftDeleting.html +0 -148
  143. data/doc/app/classes/Cms/Behaviors/SoftDeleting/ClassMethods.html +0 -217
  144. data/doc/app/classes/Cms/Behaviors/SoftDeleting/InstanceMethods.html +0 -247
  145. data/doc/app/classes/Cms/Behaviors/SoftDeleting/MacroMethods.html +0 -205
  146. data/doc/app/classes/Cms/Behaviors/Taggable.html +0 -148
  147. data/doc/app/classes/Cms/Behaviors/Taggable/ClassMethods.html +0 -164
  148. data/doc/app/classes/Cms/Behaviors/Taggable/InstanceMethods.html +0 -198
  149. data/doc/app/classes/Cms/Behaviors/Taggable/MacroMethods.html +0 -182
  150. data/doc/app/classes/Cms/Behaviors/Userstamping.html +0 -148
  151. data/doc/app/classes/Cms/Behaviors/Userstamping/ClassMethods.html +0 -105
  152. data/doc/app/classes/Cms/Behaviors/Userstamping/InstanceMethods.html +0 -143
  153. data/doc/app/classes/Cms/Behaviors/Userstamping/MacroMethods.html +0 -181
  154. data/doc/app/classes/Cms/Behaviors/Versioning.html +0 -148
  155. data/doc/app/classes/Cms/Behaviors/Versioning/ClassMethods.html +0 -237
  156. data/doc/app/classes/Cms/Behaviors/Versioning/InstanceMethods.html +0 -713
  157. data/doc/app/classes/Cms/Behaviors/Versioning/MacroMethods.html +0 -290
  158. data/doc/app/classes/Cms/CacheController.html +0 -174
  159. data/doc/app/classes/Cms/Caching.html +0 -171
  160. data/doc/app/classes/Cms/CategoriesController.html +0 -148
  161. data/doc/app/classes/Cms/CategoryTypesController.html +0 -148
  162. data/doc/app/classes/Cms/ConnectorsController.html +0 -215
  163. data/doc/app/classes/Cms/ContentBlockController.html +0 -1221
  164. data/doc/app/classes/Cms/ContentController.html +0 -240
  165. data/doc/app/classes/Cms/ContentRenderingSupport.html +0 -222
  166. data/doc/app/classes/Cms/ContentTypesController.html +0 -148
  167. data/doc/app/classes/Cms/DashboardController.html +0 -152
  168. data/doc/app/classes/Cms/DataLoader.html +0 -182
  169. data/doc/app/classes/Cms/DomainSupport.html +0 -166
  170. data/doc/app/classes/Cms/DynamicViewsController.html +0 -359
  171. data/doc/app/classes/Cms/EmailMessagesController.html +0 -172
  172. data/doc/app/classes/Cms/ErrorHandling.html +0 -199
  173. data/doc/app/classes/Cms/Errors.html +0 -111
  174. data/doc/app/classes/Cms/Errors/AccessDenied.html +0 -146
  175. data/doc/app/classes/Cms/Extensions.html +0 -140
  176. data/doc/app/classes/Cms/Extensions/ActionView.html +0 -111
  177. data/doc/app/classes/Cms/Extensions/ActionView/Base.html +0 -141
  178. data/doc/app/classes/Cms/Extensions/ActiveRecord.html +0 -116
  179. data/doc/app/classes/Cms/Extensions/ActiveRecord/Base.html +0 -144
  180. data/doc/app/classes/Cms/Extensions/ActiveRecord/Errors.html +0 -140
  181. data/doc/app/classes/Cms/Extensions/Hash.html +0 -175
  182. data/doc/app/classes/Cms/Extensions/Integer.html +0 -146
  183. data/doc/app/classes/Cms/Extensions/NilClass.html +0 -212
  184. data/doc/app/classes/Cms/Extensions/String.html +0 -212
  185. data/doc/app/classes/Cms/FileBlocksController.html +0 -113
  186. data/doc/app/classes/Cms/FormBuilder.html +0 -480
  187. data/doc/app/classes/Cms/FormTagHelper.html +0 -245
  188. data/doc/app/classes/Cms/GroupsController.html +0 -225
  189. data/doc/app/classes/Cms/HomeController.html +0 -148
  190. data/doc/app/classes/Cms/HtmlBlocksController.html +0 -113
  191. data/doc/app/classes/Cms/ImageBlocksController.html +0 -113
  192. data/doc/app/classes/Cms/LinksController.html +0 -343
  193. data/doc/app/classes/Cms/MenuHelper.html +0 -375
  194. data/doc/app/classes/Cms/PageHelper.html +0 -379
  195. data/doc/app/classes/Cms/PageRouteConditionsController.html +0 -113
  196. data/doc/app/classes/Cms/PageRouteOptionsController.html +0 -355
  197. data/doc/app/classes/Cms/PageRouteRequirementsController.html +0 -113
  198. data/doc/app/classes/Cms/PageRoutesController.html +0 -284
  199. data/doc/app/classes/Cms/PagesController.html +0 -333
  200. data/doc/app/classes/Cms/PathHelper.html +0 -268
  201. data/doc/app/classes/Cms/PortletController.html +0 -150
  202. data/doc/app/classes/Cms/PortletsController.html +0 -301
  203. data/doc/app/classes/Cms/RedirectsController.html +0 -172
  204. data/doc/app/classes/Cms/RenderingHelper.html +0 -214
  205. data/doc/app/classes/Cms/ResourceController.html +0 -616
  206. data/doc/app/classes/Cms/Routes.html +0 -311
  207. data/doc/app/classes/Cms/RoutesController.html +0 -164
  208. data/doc/app/classes/Cms/SectionNodesController.html +0 -272
  209. data/doc/app/classes/Cms/SectionNodesHelper.html +0 -145
  210. data/doc/app/classes/Cms/SectionsController.html +0 -566
  211. data/doc/app/classes/Cms/SessionsController.html +0 -299
  212. data/doc/app/classes/Cms/TagsController.html +0 -176
  213. data/doc/app/classes/Cms/TasksController.html +0 -221
  214. data/doc/app/classes/Cms/TemplateSupport.html +0 -185
  215. data/doc/app/classes/Cms/ToolbarController.html +0 -153
  216. data/doc/app/classes/Cms/UsersController.html +0 -381
  217. data/doc/app/classes/CommandLine.html +0 -226
  218. data/doc/app/classes/Connector.html +0 -354
  219. data/doc/app/classes/ContentType.html +0 -448
  220. data/doc/app/classes/ContentTypeGroup.html +0 -111
  221. data/doc/app/classes/DynamicPortlet.html +0 -148
  222. data/doc/app/classes/DynamicView.html +0 -408
  223. data/doc/app/classes/EmailMessage.html +0 -228
  224. data/doc/app/classes/EmailMessageMailer.html +0 -150
  225. data/doc/app/classes/EmailPagePortlet.html +0 -184
  226. data/doc/app/classes/FileBlock.html +0 -202
  227. data/doc/app/classes/ForgotPasswordMailer.html +0 -151
  228. data/doc/app/classes/ForgotPasswordPortlet.html +0 -162
  229. data/doc/app/classes/Group.html +0 -222
  230. data/doc/app/classes/GroupPermission.html +0 -111
  231. data/doc/app/classes/GroupSection.html +0 -111
  232. data/doc/app/classes/GroupType.html +0 -111
  233. data/doc/app/classes/GroupTypePermission.html +0 -111
  234. data/doc/app/classes/GuestUser.html +0 -392
  235. data/doc/app/classes/HtmlBlock.html +0 -170
  236. data/doc/app/classes/ImageBlock.html +0 -202
  237. data/doc/app/classes/InitialData.html +0 -171
  238. data/doc/app/classes/Link.html +0 -249
  239. data/doc/app/classes/LoginPortlet.html +0 -151
  240. data/doc/app/classes/Page.html +0 -954
  241. data/doc/app/classes/PagePartial.html +0 -201
  242. data/doc/app/classes/PageRoute.html +0 -335
  243. data/doc/app/classes/PageRouteCondition.html +0 -113
  244. data/doc/app/classes/PageRouteOption.html +0 -111
  245. data/doc/app/classes/PageRouteRequirement.html +0 -113
  246. data/doc/app/classes/PageTemplate.html +0 -260
  247. data/doc/app/classes/Permission.html +0 -111
  248. data/doc/app/classes/Portlet.html +0 -810
  249. data/doc/app/classes/Redirect.html +0 -111
  250. data/doc/app/classes/ResetPasswordPortlet.html +0 -169
  251. data/doc/app/classes/Section.html +0 -637
  252. data/doc/app/classes/SectionNode.html +0 -410
  253. data/doc/app/classes/Sequence.html +0 -146
  254. data/doc/app/classes/Site.html +0 -253
  255. data/doc/app/classes/Tag.html +0 -292
  256. data/doc/app/classes/TagCloudPortlet.html +0 -176
  257. data/doc/app/classes/Tagging.html +0 -146
  258. data/doc/app/classes/Task.html +0 -288
  259. data/doc/app/classes/Templates.html +0 -151
  260. data/doc/app/classes/Tests.html +0 -107
  261. data/doc/app/classes/Tests/PretendController.html +0 -275
  262. data/doc/app/classes/User.html +0 -757
  263. data/doc/app/classes/UserGroupMembership.html +0 -111
  264. data/doc/app/created.rid +0 -1
  265. data/doc/app/files/app/controllers/application_controller_rb.html +0 -109
  266. data/doc/app/files/app/controllers/cms/application_controller_rb.html +0 -101
  267. data/doc/app/files/app/controllers/cms/attachments_controller_rb.html +0 -101
  268. data/doc/app/files/app/controllers/cms/base_controller_rb.html +0 -101
  269. data/doc/app/files/app/controllers/cms/cache_controller_rb.html +0 -101
  270. data/doc/app/files/app/controllers/cms/categories_controller_rb.html +0 -101
  271. data/doc/app/files/app/controllers/cms/category_types_controller_rb.html +0 -101
  272. data/doc/app/files/app/controllers/cms/connectors_controller_rb.html +0 -101
  273. data/doc/app/files/app/controllers/cms/content_block_controller_rb.html +0 -107
  274. data/doc/app/files/app/controllers/cms/content_controller_rb.html +0 -101
  275. data/doc/app/files/app/controllers/cms/content_types_controller_rb.html +0 -101
  276. data/doc/app/files/app/controllers/cms/dashboard_controller_rb.html +0 -101
  277. data/doc/app/files/app/controllers/cms/dynamic_views_controller_rb.html +0 -101
  278. data/doc/app/files/app/controllers/cms/email_messages_controller_rb.html +0 -101
  279. data/doc/app/files/app/controllers/cms/error_handling_rb.html +0 -101
  280. data/doc/app/files/app/controllers/cms/file_blocks_controller_rb.html +0 -101
  281. data/doc/app/files/app/controllers/cms/groups_controller_rb.html +0 -101
  282. data/doc/app/files/app/controllers/cms/home_controller_rb.html +0 -101
  283. data/doc/app/files/app/controllers/cms/html_blocks_controller_rb.html +0 -101
  284. data/doc/app/files/app/controllers/cms/image_blocks_controller_rb.html +0 -101
  285. data/doc/app/files/app/controllers/cms/links_controller_rb.html +0 -101
  286. data/doc/app/files/app/controllers/cms/page_route_conditions_controller_rb.html +0 -101
  287. data/doc/app/files/app/controllers/cms/page_route_options_controller_rb.html +0 -101
  288. data/doc/app/files/app/controllers/cms/page_route_requirements_controller_rb.html +0 -101
  289. data/doc/app/files/app/controllers/cms/page_routes_controller_rb.html +0 -101
  290. data/doc/app/files/app/controllers/cms/pages_controller_rb.html +0 -101
  291. data/doc/app/files/app/controllers/cms/portlet_controller_rb.html +0 -101
  292. data/doc/app/files/app/controllers/cms/portlets_controller_rb.html +0 -101
  293. data/doc/app/files/app/controllers/cms/redirects_controller_rb.html +0 -101
  294. data/doc/app/files/app/controllers/cms/resource_controller_rb.html +0 -108
  295. data/doc/app/files/app/controllers/cms/routes_controller_rb.html +0 -101
  296. data/doc/app/files/app/controllers/cms/section_nodes_controller_rb.html +0 -101
  297. data/doc/app/files/app/controllers/cms/sections_controller_rb.html +0 -101
  298. data/doc/app/files/app/controllers/cms/sessions_controller_rb.html +0 -107
  299. data/doc/app/files/app/controllers/cms/tags_controller_rb.html +0 -101
  300. data/doc/app/files/app/controllers/cms/tasks_controller_rb.html +0 -101
  301. data/doc/app/files/app/controllers/cms/toolbar_controller_rb.html +0 -101
  302. data/doc/app/files/app/controllers/cms/users_controller_rb.html +0 -101
  303. data/doc/app/files/app/controllers/tests/pretend_controller_rb.html +0 -112
  304. data/doc/app/files/app/helpers/application_helper_rb.html +0 -112
  305. data/doc/app/files/app/helpers/cms/application_helper_rb.html +0 -107
  306. data/doc/app/files/app/helpers/cms/form_builder_rb.html +0 -108
  307. data/doc/app/files/app/helpers/cms/form_tag_helper_rb.html +0 -101
  308. data/doc/app/files/app/helpers/cms/menu_helper_rb.html +0 -101
  309. data/doc/app/files/app/helpers/cms/page_helper_rb.html +0 -101
  310. data/doc/app/files/app/helpers/cms/path_helper_rb.html +0 -101
  311. data/doc/app/files/app/helpers/cms/rendering_helper_rb.html +0 -111
  312. data/doc/app/files/app/helpers/cms/section_nodes_helper_rb.html +0 -101
  313. data/doc/app/files/app/helpers/cms/template_support_rb.html +0 -108
  314. data/doc/app/files/app/models/abstract_file_block_rb.html +0 -101
  315. data/doc/app/files/app/models/attachment_rb.html +0 -109
  316. data/doc/app/files/app/models/category_rb.html +0 -101
  317. data/doc/app/files/app/models/category_type_rb.html +0 -101
  318. data/doc/app/files/app/models/connector_rb.html +0 -101
  319. data/doc/app/files/app/models/content_type_group_rb.html +0 -101
  320. data/doc/app/files/app/models/content_type_rb.html +0 -101
  321. data/doc/app/files/app/models/dynamic_view_rb.html +0 -101
  322. data/doc/app/files/app/models/email_message_mailer_rb.html +0 -101
  323. data/doc/app/files/app/models/email_message_rb.html +0 -101
  324. data/doc/app/files/app/models/file_block_rb.html +0 -101
  325. data/doc/app/files/app/models/forgot_password_mailer_rb.html +0 -101
  326. data/doc/app/files/app/models/group_permission_rb.html +0 -101
  327. data/doc/app/files/app/models/group_rb.html +0 -110
  328. data/doc/app/files/app/models/group_section_rb.html +0 -101
  329. data/doc/app/files/app/models/group_type_permission_rb.html +0 -101
  330. data/doc/app/files/app/models/group_type_rb.html +0 -101
  331. data/doc/app/files/app/models/guest_user_rb.html +0 -114
  332. data/doc/app/files/app/models/html_block_rb.html +0 -101
  333. data/doc/app/files/app/models/image_block_rb.html +0 -101
  334. data/doc/app/files/app/models/link_rb.html +0 -101
  335. data/doc/app/files/app/models/page_partial_rb.html +0 -101
  336. data/doc/app/files/app/models/page_rb.html +0 -101
  337. data/doc/app/files/app/models/page_route_condition_rb.html +0 -101
  338. data/doc/app/files/app/models/page_route_option_rb.html +0 -101
  339. data/doc/app/files/app/models/page_route_rb.html +0 -101
  340. data/doc/app/files/app/models/page_route_requirement_rb.html +0 -101
  341. data/doc/app/files/app/models/page_template_rb.html +0 -101
  342. data/doc/app/files/app/models/permission_rb.html +0 -101
  343. data/doc/app/files/app/models/portlet_rb.html +0 -101
  344. data/doc/app/files/app/models/redirect_rb.html +0 -101
  345. data/doc/app/files/app/models/section_node_rb.html +0 -101
  346. data/doc/app/files/app/models/section_rb.html +0 -101
  347. data/doc/app/files/app/models/site_rb.html +0 -101
  348. data/doc/app/files/app/models/tag_rb.html +0 -101
  349. data/doc/app/files/app/models/tagging_rb.html +0 -101
  350. data/doc/app/files/app/models/task_rb.html +0 -101
  351. data/doc/app/files/app/models/templates_rb.html +0 -108
  352. data/doc/app/files/app/models/user_group_membership_rb.html +0 -101
  353. data/doc/app/files/app/models/user_rb.html +0 -108
  354. data/doc/app/files/app/portlets/dynamic_portlet_rb.html +0 -101
  355. data/doc/app/files/app/portlets/email_page_portlet_rb.html +0 -101
  356. data/doc/app/files/app/portlets/forgot_password_portlet_rb.html +0 -108
  357. data/doc/app/files/app/portlets/login_portlet_rb.html +0 -101
  358. data/doc/app/files/app/portlets/reset_password_portlet_rb.html +0 -101
  359. data/doc/app/files/app/portlets/tag_cloud_portlet_rb.html +0 -101
  360. data/doc/app/files/doc/README_FOR_APP.html +0 -128
  361. data/doc/app/files/lib/acts_as_list_rb.html +0 -101
  362. data/doc/app/files/lib/browsercms_rb.html +0 -113
  363. data/doc/app/files/lib/cms/acts/content_block_rb.html +0 -101
  364. data/doc/app/files/lib/cms/acts/content_page_rb.html +0 -125
  365. data/doc/app/files/lib/cms/authentication/controller_rb.html +0 -161
  366. data/doc/app/files/lib/cms/authentication/model_rb.html +0 -101
  367. data/doc/app/files/lib/cms/behaviors/archiving_rb.html +0 -101
  368. data/doc/app/files/lib/cms/behaviors/attaching_rb.html +0 -101
  369. data/doc/app/files/lib/cms/behaviors/categorizing_rb.html +0 -101
  370. data/doc/app/files/lib/cms/behaviors/connecting_rb.html +0 -101
  371. data/doc/app/files/lib/cms/behaviors/dynamic_attributes_rb.html +0 -101
  372. data/doc/app/files/lib/cms/behaviors/flush_cache_on_change_rb.html +0 -101
  373. data/doc/app/files/lib/cms/behaviors/hiding_rb.html +0 -101
  374. data/doc/app/files/lib/cms/behaviors/pagination_rb.html +0 -107
  375. data/doc/app/files/lib/cms/behaviors/publishing_rb.html +0 -101
  376. data/doc/app/files/lib/cms/behaviors/rendering_rb.html +0 -101
  377. data/doc/app/files/lib/cms/behaviors/searching_rb.html +0 -101
  378. data/doc/app/files/lib/cms/behaviors/soft_deleting_rb.html +0 -101
  379. data/doc/app/files/lib/cms/behaviors/taggable_rb.html +0 -101
  380. data/doc/app/files/lib/cms/behaviors/userstamping_rb.html +0 -101
  381. data/doc/app/files/lib/cms/behaviors/versioning_rb.html +0 -101
  382. data/doc/app/files/lib/cms/behaviors_rb.html +0 -147
  383. data/doc/app/files/lib/cms/caching_rb.html +0 -101
  384. data/doc/app/files/lib/cms/content_rendering_support_rb.html +0 -108
  385. data/doc/app/files/lib/cms/data_loader_rb.html +0 -101
  386. data/doc/app/files/lib/cms/domain_support_rb.html +0 -108
  387. data/doc/app/files/lib/cms/extensions/action_view/base_rb.html +0 -101
  388. data/doc/app/files/lib/cms/extensions/active_record/base_rb.html +0 -101
  389. data/doc/app/files/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements_rb.html +0 -101
  390. data/doc/app/files/lib/cms/extensions/active_record/errors_rb.html +0 -101
  391. data/doc/app/files/lib/cms/extensions/active_support/cache/file_store_rb.html +0 -101
  392. data/doc/app/files/lib/cms/extensions/hash_rb.html +0 -101
  393. data/doc/app/files/lib/cms/extensions/integer_rb.html +0 -101
  394. data/doc/app/files/lib/cms/extensions/nil_rb.html +0 -101
  395. data/doc/app/files/lib/cms/extensions/string_rb.html +0 -101
  396. data/doc/app/files/lib/cms/extensions_rb.html +0 -101
  397. data/doc/app/files/lib/cms/init_rb.html +0 -108
  398. data/doc/app/files/lib/cms/routes_rb.html +0 -101
  399. data/doc/app/files/lib/cms/version_rb.html +0 -107
  400. data/doc/app/files/lib/command_line_rb.html +0 -101
  401. data/doc/app/files/lib/initial_data_rb.html +0 -101
  402. data/doc/app/files/lib/sequence_rb.html +0 -101
  403. data/doc/app/fr_class_index.html +0 -218
  404. data/doc/app/fr_file_index.html +0 -164
  405. data/doc/app/fr_method_index.html +0 -787
  406. data/doc/app/index.html +0 -24
  407. data/doc/app/rdoc-style.css +0 -208
  408. data/doc/installing_browsercms_in_project.md +0 -7
  409. data/doc/upgrading_to_3_3.txt +0 -90
  410. data/doc/upgrading_to_3_4.md +0 -19
  411. data/lib/generators/browser_cms/cms/USAGE +0 -2
  412. data/lib/generators/browser_cms/cms/cms_generator.rb +0 -25
  413. data/lib/generators/browser_cms/cms/templates/README +0 -1
  414. data/lib/generators/cms/project/templates/README +0 -1
  415. data/log/.gitignore +0 -0
  416. data/test/unit/generators/cms_generator_test.rb +0 -44
  417. data/vendor/assets/javascripts/bcms/ckeditor.js +0 -6
  418. data/vendor/assets/javascripts/bcms/ckeditor/ckeditor.js +0 -108
  419. data/vendor/assets/javascripts/bcms/ckeditor/core/_bootstrap.js +0 -64
  420. data/vendor/assets/javascripts/bcms/ckeditor/core/ajax.js +0 -143
  421. data/vendor/assets/javascripts/bcms/ckeditor/core/ckeditor.js +0 -96
  422. data/vendor/assets/javascripts/bcms/ckeditor/core/ckeditor_base.js +0 -190
  423. data/vendor/assets/javascripts/bcms/ckeditor/core/ckeditor_basic.js +0 -241
  424. data/vendor/assets/javascripts/bcms/ckeditor/core/command.js +0 -70
  425. data/vendor/assets/javascripts/bcms/ckeditor/core/commanddefinition.js +0 -72
  426. data/vendor/assets/javascripts/bcms/ckeditor/core/config.js +0 -287
  427. data/vendor/assets/javascripts/bcms/ckeditor/core/dom.js +0 -21
  428. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/document.js +0 -210
  429. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/documentfragment.js +0 -49
  430. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/domobject.js +0 -204
  431. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/element.js +0 -1384
  432. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/elementpath.js +0 -104
  433. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/event.js +0 -137
  434. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/node.js +0 -649
  435. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/nodelist.js +0 -23
  436. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/range.js +0 -1668
  437. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/text.js +0 -123
  438. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/walker.js +0 -411
  439. data/vendor/assets/javascripts/bcms/ckeditor/core/dom/window.js +0 -96
  440. data/vendor/assets/javascripts/bcms/ckeditor/core/dtd.js +0 -200
  441. data/vendor/assets/javascripts/bcms/ckeditor/core/editor.js +0 -650
  442. data/vendor/assets/javascripts/bcms/ckeditor/core/editor_basic.js +0 -178
  443. data/vendor/assets/javascripts/bcms/ckeditor/core/env.js +0 -219
  444. data/vendor/assets/javascripts/bcms/ckeditor/core/event.js +0 -335
  445. data/vendor/assets/javascripts/bcms/ckeditor/core/eventInfo.js +0 -120
  446. data/vendor/assets/javascripts/bcms/ckeditor/core/focusmanager.js +0 -123
  447. data/vendor/assets/javascripts/bcms/ckeditor/core/htmlparser.js +0 -212
  448. data/vendor/assets/javascripts/bcms/ckeditor/core/htmlparser/basicwriter.js +0 -140
  449. data/vendor/assets/javascripts/bcms/ckeditor/core/htmlparser/cdata.js +0 -44
  450. data/vendor/assets/javascripts/bcms/ckeditor/core/htmlparser/comment.js +0 -59
  451. data/vendor/assets/javascripts/bcms/ckeditor/core/htmlparser/element.js +0 -196
  452. data/vendor/assets/javascripts/bcms/ckeditor/core/htmlparser/filter.js +0 -233
  453. data/vendor/assets/javascripts/bcms/ckeditor/core/htmlparser/fragment.js +0 -434
  454. data/vendor/assets/javascripts/bcms/ckeditor/core/htmlparser/text.js +0 -55
  455. data/vendor/assets/javascripts/bcms/ckeditor/core/imagecacher.js +0 -58
  456. data/vendor/assets/javascripts/bcms/ckeditor/core/lang.js +0 -147
  457. data/vendor/assets/javascripts/bcms/ckeditor/core/loader.js +0 -238
  458. data/vendor/assets/javascripts/bcms/ckeditor/core/plugindefinition.js +0 -66
  459. data/vendor/assets/javascripts/bcms/ckeditor/core/plugins.js +0 -82
  460. data/vendor/assets/javascripts/bcms/ckeditor/core/resourcemanager.js +0 -233
  461. data/vendor/assets/javascripts/bcms/ckeditor/core/scriptloader.js +0 -194
  462. data/vendor/assets/javascripts/bcms/ckeditor/core/skins.js +0 -185
  463. data/vendor/assets/javascripts/bcms/ckeditor/core/test.js +0 -184
  464. data/vendor/assets/javascripts/bcms/ckeditor/core/themes.js +0 -18
  465. data/vendor/assets/javascripts/bcms/ckeditor/core/tools.js +0 -531
  466. data/vendor/assets/javascripts/bcms/ckeditor/core/ui.js +0 -106
  467. data/vendor/assets/javascripts/bcms/ckeditor/core/xml.js +0 -165
  468. data/vendor/assets/javascripts/bcms/ckeditor/lang/_languages.js +0 -82
  469. data/vendor/assets/javascripts/bcms/ckeditor/lang/_translationstatus.txt +0 -59
  470. data/vendor/assets/javascripts/bcms/ckeditor/lang/af.js +0 -674
  471. data/vendor/assets/javascripts/bcms/ckeditor/lang/ar.js +0 -674
  472. data/vendor/assets/javascripts/bcms/ckeditor/lang/bg.js +0 -674
  473. data/vendor/assets/javascripts/bcms/ckeditor/lang/bn.js +0 -674
  474. data/vendor/assets/javascripts/bcms/ckeditor/lang/bs.js +0 -674
  475. data/vendor/assets/javascripts/bcms/ckeditor/lang/ca.js +0 -674
  476. data/vendor/assets/javascripts/bcms/ckeditor/lang/cs.js +0 -674
  477. data/vendor/assets/javascripts/bcms/ckeditor/lang/da.js +0 -674
  478. data/vendor/assets/javascripts/bcms/ckeditor/lang/de.js +0 -674
  479. data/vendor/assets/javascripts/bcms/ckeditor/lang/el.js +0 -674
  480. data/vendor/assets/javascripts/bcms/ckeditor/lang/en-au.js +0 -674
  481. data/vendor/assets/javascripts/bcms/ckeditor/lang/en-ca.js +0 -674
  482. data/vendor/assets/javascripts/bcms/ckeditor/lang/en-uk.js +0 -674
  483. data/vendor/assets/javascripts/bcms/ckeditor/lang/en.js +0 -674
  484. data/vendor/assets/javascripts/bcms/ckeditor/lang/eo.js +0 -674
  485. data/vendor/assets/javascripts/bcms/ckeditor/lang/es.js +0 -674
  486. data/vendor/assets/javascripts/bcms/ckeditor/lang/et.js +0 -674
  487. data/vendor/assets/javascripts/bcms/ckeditor/lang/eu.js +0 -674
  488. data/vendor/assets/javascripts/bcms/ckeditor/lang/fa.js +0 -674
  489. data/vendor/assets/javascripts/bcms/ckeditor/lang/fi.js +0 -674
  490. data/vendor/assets/javascripts/bcms/ckeditor/lang/fo.js +0 -674
  491. data/vendor/assets/javascripts/bcms/ckeditor/lang/fr-ca.js +0 -674
  492. data/vendor/assets/javascripts/bcms/ckeditor/lang/fr.js +0 -674
  493. data/vendor/assets/javascripts/bcms/ckeditor/lang/gl.js +0 -674
  494. data/vendor/assets/javascripts/bcms/ckeditor/lang/gu.js +0 -674
  495. data/vendor/assets/javascripts/bcms/ckeditor/lang/he.js +0 -674
  496. data/vendor/assets/javascripts/bcms/ckeditor/lang/hi.js +0 -674
  497. data/vendor/assets/javascripts/bcms/ckeditor/lang/hr.js +0 -674
  498. data/vendor/assets/javascripts/bcms/ckeditor/lang/hu.js +0 -674
  499. data/vendor/assets/javascripts/bcms/ckeditor/lang/is.js +0 -674
  500. data/vendor/assets/javascripts/bcms/ckeditor/lang/it.js +0 -674
  501. data/vendor/assets/javascripts/bcms/ckeditor/lang/ja.js +0 -674
  502. data/vendor/assets/javascripts/bcms/ckeditor/lang/km.js +0 -674
  503. data/vendor/assets/javascripts/bcms/ckeditor/lang/ko.js +0 -674
  504. data/vendor/assets/javascripts/bcms/ckeditor/lang/lt.js +0 -674
  505. data/vendor/assets/javascripts/bcms/ckeditor/lang/lv.js +0 -674
  506. data/vendor/assets/javascripts/bcms/ckeditor/lang/mn.js +0 -674
  507. data/vendor/assets/javascripts/bcms/ckeditor/lang/ms.js +0 -674
  508. data/vendor/assets/javascripts/bcms/ckeditor/lang/nb.js +0 -674
  509. data/vendor/assets/javascripts/bcms/ckeditor/lang/nl.js +0 -674
  510. data/vendor/assets/javascripts/bcms/ckeditor/lang/no.js +0 -674
  511. data/vendor/assets/javascripts/bcms/ckeditor/lang/pl.js +0 -674
  512. data/vendor/assets/javascripts/bcms/ckeditor/lang/pt-br.js +0 -674
  513. data/vendor/assets/javascripts/bcms/ckeditor/lang/pt.js +0 -674
  514. data/vendor/assets/javascripts/bcms/ckeditor/lang/ro.js +0 -674
  515. data/vendor/assets/javascripts/bcms/ckeditor/lang/ru.js +0 -674
  516. data/vendor/assets/javascripts/bcms/ckeditor/lang/sk.js +0 -674
  517. data/vendor/assets/javascripts/bcms/ckeditor/lang/sl.js +0 -674
  518. data/vendor/assets/javascripts/bcms/ckeditor/lang/sr-latn.js +0 -674
  519. data/vendor/assets/javascripts/bcms/ckeditor/lang/sr.js +0 -674
  520. data/vendor/assets/javascripts/bcms/ckeditor/lang/sv.js +0 -674
  521. data/vendor/assets/javascripts/bcms/ckeditor/lang/th.js +0 -674
  522. data/vendor/assets/javascripts/bcms/ckeditor/lang/tr.js +0 -674
  523. data/vendor/assets/javascripts/bcms/ckeditor/lang/uk.js +0 -674
  524. data/vendor/assets/javascripts/bcms/ckeditor/lang/vi.js +0 -674
  525. data/vendor/assets/javascripts/bcms/ckeditor/lang/zh-cn.js +0 -674
  526. data/vendor/assets/javascripts/bcms/ckeditor/lang/zh.js +0 -674
  527. data/vendor/assets/javascripts/bcms/ckeditor/plugins/about/dialogs/about.js +0 -73
  528. data/vendor/assets/javascripts/bcms/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  529. data/vendor/assets/javascripts/bcms/ckeditor/plugins/about/plugin.js +0 -22
  530. data/vendor/assets/javascripts/bcms/ckeditor/plugins/basicstyles/plugin.js +0 -50
  531. data/vendor/assets/javascripts/bcms/ckeditor/plugins/blockquote/plugin.js +0 -301
  532. data/vendor/assets/javascripts/bcms/ckeditor/plugins/button/plugin.js +0 -264
  533. data/vendor/assets/javascripts/bcms/ckeditor/plugins/clipboard/dialogs/paste.js +0 -167
  534. data/vendor/assets/javascripts/bcms/ckeditor/plugins/clipboard/plugin.js +0 -208
  535. data/vendor/assets/javascripts/bcms/ckeditor/plugins/colorbutton/plugin.js +0 -202
  536. data/vendor/assets/javascripts/bcms/ckeditor/plugins/contextmenu/plugin.js +0 -178
  537. data/vendor/assets/javascripts/bcms/ckeditor/plugins/dialog/dialogDefinition.js +0 -315
  538. data/vendor/assets/javascripts/bcms/ckeditor/plugins/dialog/plugin.js +0 -2742
  539. data/vendor/assets/javascripts/bcms/ckeditor/plugins/dialogui/plugin.js +0 -1319
  540. data/vendor/assets/javascripts/bcms/ckeditor/plugins/domiterator/plugin.js +0 -354
  541. data/vendor/assets/javascripts/bcms/ckeditor/plugins/editingblock/plugin.js +0 -236
  542. data/vendor/assets/javascripts/bcms/ckeditor/plugins/elementspath/plugin.js +0 -182
  543. data/vendor/assets/javascripts/bcms/ckeditor/plugins/enterkey/plugin.js +0 -324
  544. data/vendor/assets/javascripts/bcms/ckeditor/plugins/entities/plugin.js +0 -200
  545. data/vendor/assets/javascripts/bcms/ckeditor/plugins/fakeobjects/plugin.js +0 -111
  546. data/vendor/assets/javascripts/bcms/ckeditor/plugins/filebrowser/plugin.js +0 -383
  547. data/vendor/assets/javascripts/bcms/ckeditor/plugins/find/dialogs/find.js +0 -843
  548. data/vendor/assets/javascripts/bcms/ckeditor/plugins/find/plugin.js +0 -46
  549. data/vendor/assets/javascripts/bcms/ckeditor/plugins/flash/dialogs/flash.js +0 -682
  550. data/vendor/assets/javascripts/bcms/ckeditor/plugins/flash/images/placeholder.png +0 -0
  551. data/vendor/assets/javascripts/bcms/ckeditor/plugins/flash/plugin.js +0 -165
  552. data/vendor/assets/javascripts/bcms/ckeditor/plugins/floatpanel/plugin.js +0 -325
  553. data/vendor/assets/javascripts/bcms/ckeditor/plugins/font/plugin.js +0 -227
  554. data/vendor/assets/javascripts/bcms/ckeditor/plugins/format/plugin.js +0 -191
  555. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/dialogs/button.js +0 -135
  556. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/dialogs/checkbox.js +0 -138
  557. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/dialogs/form.js +0 -177
  558. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -91
  559. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/dialogs/radio.js +0 -135
  560. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/dialogs/select.js +0 -541
  561. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/dialogs/textarea.js +0 -114
  562. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/dialogs/textfield.js +0 -193
  563. data/vendor/assets/javascripts/bcms/ckeditor/plugins/forms/plugin.js +0 -193
  564. data/vendor/assets/javascripts/bcms/ckeditor/plugins/horizontalrule/plugin.js +0 -35
  565. data/vendor/assets/javascripts/bcms/ckeditor/plugins/htmldataprocessor/plugin.js +0 -373
  566. data/vendor/assets/javascripts/bcms/ckeditor/plugins/htmlwriter/plugin.js +0 -289
  567. data/vendor/assets/javascripts/bcms/ckeditor/plugins/iframedialog/plugin.js +0 -136
  568. data/vendor/assets/javascripts/bcms/ckeditor/plugins/image/dialogs/image.js +0 -1225
  569. data/vendor/assets/javascripts/bcms/ckeditor/plugins/image/plugin.js +0 -64
  570. data/vendor/assets/javascripts/bcms/ckeditor/plugins/indent/plugin.js +0 -323
  571. data/vendor/assets/javascripts/bcms/ckeditor/plugins/justify/plugin.js +0 -164
  572. data/vendor/assets/javascripts/bcms/ckeditor/plugins/keystrokes/plugin.js +0 -217
  573. data/vendor/assets/javascripts/bcms/ckeditor/plugins/link/dialogs/anchor.js +0 -98
  574. data/vendor/assets/javascripts/bcms/ckeditor/plugins/link/dialogs/link.js +0 -1217
  575. data/vendor/assets/javascripts/bcms/ckeditor/plugins/link/images/anchor.gif +0 -0
  576. data/vendor/assets/javascripts/bcms/ckeditor/plugins/link/plugin.js +0 -188
  577. data/vendor/assets/javascripts/bcms/ckeditor/plugins/list/plugin.js +0 -570
  578. data/vendor/assets/javascripts/bcms/ckeditor/plugins/listblock/plugin.js +0 -231
  579. data/vendor/assets/javascripts/bcms/ckeditor/plugins/maximize/plugin.js +0 -267
  580. data/vendor/assets/javascripts/bcms/ckeditor/plugins/menu/plugin.js +0 -377
  581. data/vendor/assets/javascripts/bcms/ckeditor/plugins/menubutton/plugin.js +0 -93
  582. data/vendor/assets/javascripts/bcms/ckeditor/plugins/newpage/plugin.js +0 -65
  583. data/vendor/assets/javascripts/bcms/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  584. data/vendor/assets/javascripts/bcms/ckeditor/plugins/pagebreak/plugin.js +0 -96
  585. data/vendor/assets/javascripts/bcms/ckeditor/plugins/panel/plugin.js +0 -330
  586. data/vendor/assets/javascripts/bcms/ckeditor/plugins/panelbutton/plugin.js +0 -140
  587. data/vendor/assets/javascripts/bcms/ckeditor/plugins/pastefromword/dialogs/pastefromword.js +0 -307
  588. data/vendor/assets/javascripts/bcms/ckeditor/plugins/pastefromword/plugin.js +0 -54
  589. data/vendor/assets/javascripts/bcms/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -65
  590. data/vendor/assets/javascripts/bcms/ckeditor/plugins/pastetext/plugin.js +0 -142
  591. data/vendor/assets/javascripts/bcms/ckeditor/plugins/popup/plugin.js +0 -62
  592. data/vendor/assets/javascripts/bcms/ckeditor/plugins/preview/plugin.js +0 -97
  593. data/vendor/assets/javascripts/bcms/ckeditor/plugins/print/plugin.js +0 -41
  594. data/vendor/assets/javascripts/bcms/ckeditor/plugins/removeformat/plugin.js +0 -132
  595. data/vendor/assets/javascripts/bcms/ckeditor/plugins/resize/plugin.js +0 -115
  596. data/vendor/assets/javascripts/bcms/ckeditor/plugins/richcombo/plugin.js +0 -357
  597. data/vendor/assets/javascripts/bcms/ckeditor/plugins/save/plugin.js +0 -55
  598. data/vendor/assets/javascripts/bcms/ckeditor/plugins/scayt/dialogs/options.js +0 -494
  599. data/vendor/assets/javascripts/bcms/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -71
  600. data/vendor/assets/javascripts/bcms/ckeditor/plugins/scayt/plugin.js +0 -511
  601. data/vendor/assets/javascripts/bcms/ckeditor/plugins/selection/plugin.js +0 -1072
  602. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  603. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  604. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  605. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  606. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  607. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  608. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  609. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  610. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  611. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  612. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  613. data/vendor/assets/javascripts/bcms/ckeditor/plugins/showblocks/plugin.js +0 -153
  614. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/dialogs/smiley.js +0 -219
  615. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  616. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  617. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  618. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  619. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  620. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  621. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  622. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  623. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/heart.gif +0 -0
  624. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  625. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  626. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  627. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  628. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  629. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  630. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  631. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  632. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  633. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  634. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  635. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  636. data/vendor/assets/javascripts/bcms/ckeditor/plugins/smiley/plugin.js +0 -74
  637. data/vendor/assets/javascripts/bcms/ckeditor/plugins/sourcearea/plugin.js +0 -185
  638. data/vendor/assets/javascripts/bcms/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -362
  639. data/vendor/assets/javascripts/bcms/ckeditor/plugins/specialchar/plugin.js +0 -29
  640. data/vendor/assets/javascripts/bcms/ckeditor/plugins/styles/plugin.js +0 -1242
  641. data/vendor/assets/javascripts/bcms/ckeditor/plugins/stylescombo/plugin.js +0 -295
  642. data/vendor/assets/javascripts/bcms/ckeditor/plugins/stylescombo/styles/default.js +0 -85
  643. data/vendor/assets/javascripts/bcms/ckeditor/plugins/tab/plugin.js +0 -266
  644. data/vendor/assets/javascripts/bcms/ckeditor/plugins/table/dialogs/table.js +0 -550
  645. data/vendor/assets/javascripts/bcms/ckeditor/plugins/table/plugin.js +0 -70
  646. data/vendor/assets/javascripts/bcms/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -328
  647. data/vendor/assets/javascripts/bcms/ckeditor/plugins/tabletools/plugin.js +0 -701
  648. data/vendor/assets/javascripts/bcms/ckeditor/plugins/templates/dialogs/templates.js +0 -170
  649. data/vendor/assets/javascripts/bcms/ckeditor/plugins/templates/plugin.js +0 -99
  650. data/vendor/assets/javascripts/bcms/ckeditor/plugins/templates/templates/default.js +0 -94
  651. data/vendor/assets/javascripts/bcms/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  652. data/vendor/assets/javascripts/bcms/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  653. data/vendor/assets/javascripts/bcms/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  654. data/vendor/assets/javascripts/bcms/ckeditor/plugins/toolbar/plugin.js +0 -412
  655. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -203
  656. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/lang/en.js +0 -15
  657. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/plugin.js +0 -35
  658. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  659. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  660. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  661. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  662. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  663. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -15
  664. data/vendor/assets/javascripts/bcms/ckeditor/plugins/uicolor/yui/yui.js +0 -71
  665. data/vendor/assets/javascripts/bcms/ckeditor/plugins/undo/plugin.js +0 -490
  666. data/vendor/assets/javascripts/bcms/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  667. data/vendor/assets/javascripts/bcms/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  668. data/vendor/assets/javascripts/bcms/ckeditor/plugins/wsc/dialogs/wsc.css +0 -83
  669. data/vendor/assets/javascripts/bcms/ckeditor/plugins/wsc/dialogs/wsc.js +0 -169
  670. data/vendor/assets/javascripts/bcms/ckeditor/plugins/wsc/plugin.js +0 -32
  671. data/vendor/assets/javascripts/bcms/ckeditor/plugins/wysiwygarea/plugin.js +0 -636
  672. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/dialog.css +0 -742
  673. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/editor.css +0 -21
  674. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/elementspath.css +0 -68
  675. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/icons.css +0 -309
  676. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/icons.png +0 -0
  677. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  678. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  679. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  680. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/images/mini.gif +0 -0
  681. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/images/noimage.png +0 -0
  682. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/images/sprites.png +0 -0
  683. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  684. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  685. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/mainui.css +0 -139
  686. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/menu.css +0 -179
  687. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/panel.css +0 -203
  688. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/presets.css +0 -49
  689. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/reset.css +0 -78
  690. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/richcombo.css +0 -260
  691. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/skin.js +0 -291
  692. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/templates.css +0 -71
  693. data/vendor/assets/javascripts/bcms/ckeditor/skins/kama/toolbar.css +0 -384
  694. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/dialog.css +0 -643
  695. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/editor.css +0 -21
  696. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/elementspath.css +0 -68
  697. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/icons.css +0 -309
  698. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/icons.png +0 -0
  699. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  700. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  701. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  702. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/images/mini.gif +0 -0
  703. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/images/noimage.png +0 -0
  704. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/images/sprites.png +0 -0
  705. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  706. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/mainui.css +0 -97
  707. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/menu.css +0 -175
  708. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/panel.css +0 -198
  709. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/presets.css +0 -49
  710. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/reset.css +0 -78
  711. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/richcombo.css +0 -279
  712. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/skin.js +0 -77
  713. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/templates.css +0 -71
  714. data/vendor/assets/javascripts/bcms/ckeditor/skins/office2003/toolbar.css +0 -442
  715. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/dialog.css +0 -653
  716. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/editor.css +0 -21
  717. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/elementspath.css +0 -68
  718. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/icons.css +0 -309
  719. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/icons.png +0 -0
  720. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  721. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  722. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  723. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/images/mini.gif +0 -0
  724. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/images/noimage.png +0 -0
  725. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/images/sprites.png +0 -0
  726. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  727. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  728. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/mainui.css +0 -112
  729. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/menu.css +0 -178
  730. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/panel.css +0 -198
  731. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/presets.css +0 -50
  732. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/reset.css +0 -78
  733. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/richcombo.css +0 -275
  734. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/skin.js +0 -73
  735. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/templates.css +0 -71
  736. data/vendor/assets/javascripts/bcms/ckeditor/skins/v2/toolbar.css +0 -399
  737. data/vendor/assets/javascripts/bcms/ckeditor/tests/_assets/sample.css +0 -4
  738. data/vendor/assets/javascripts/bcms/ckeditor/tests/_assets/sample.js +0 -1
  739. data/vendor/assets/javascripts/bcms/ckeditor/tests/_assets/sample.txt +0 -1
  740. data/vendor/assets/javascripts/bcms/ckeditor/tests/_assets/sample.xml +0 -5
  741. data/vendor/assets/javascripts/bcms/ckeditor/tests/_assets/sample_xml.txt +0 -5
  742. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/_editor/custom_config_1.js +0 -10
  743. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/_editor/custom_config_2.js +0 -9
  744. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/ajax.html +0 -163
  745. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/bootstrap.html +0 -66
  746. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/ckeditor.html +0 -160
  747. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/dom/document.html +0 -126
  748. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/dom/documentfragment.html +0 -292
  749. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/dom/element.html +0 -637
  750. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/dom/node.html +0 -164
  751. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/dom/range.html +0 -2411
  752. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/dom/text.html +0 -128
  753. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/dom/walker.html +0 -340
  754. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/dom/window.html +0 -53
  755. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/editor.html +0 -123
  756. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/env.html +0 -52
  757. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/event.html +0 -487
  758. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/htmlparser/fragment.html +0 -188
  759. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/htmlparser/htmlparser.html +0 -91
  760. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/plugins.html +0 -45
  761. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js +0 -3
  762. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/scriptloader.html +0 -52
  763. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/tools.html +0 -170
  764. data/vendor/assets/javascripts/bcms/ckeditor/tests/core/xml.html +0 -150
  765. data/vendor/assets/javascripts/bcms/ckeditor/tests/plugins/domiterator/domiterator.html +0 -236
  766. data/vendor/assets/javascripts/bcms/ckeditor/tests/plugins/htmldataprocessor/htmldataprocessor.html +0 -386
  767. data/vendor/assets/javascripts/bcms/ckeditor/tests/plugins/link/link.html +0 -123
  768. data/vendor/assets/javascripts/bcms/ckeditor/tests/plugins/list/list.html +0 -217
  769. data/vendor/assets/javascripts/bcms/ckeditor/tests/plugins/selection/selection.html +0 -49
  770. data/vendor/assets/javascripts/bcms/ckeditor/tests/plugins/styles/styles.html +0 -596
  771. data/vendor/assets/javascripts/bcms/ckeditor/tests/test.css +0 -81
  772. data/vendor/assets/javascripts/bcms/ckeditor/tests/test.js +0 -93
  773. data/vendor/assets/javascripts/bcms/ckeditor/tests/testall.html +0 -114
  774. data/vendor/assets/javascripts/bcms/ckeditor/tests/yuitest.js +0 -75
  775. data/vendor/assets/javascripts/bcms/ckeditor/themes/default/theme.js +0 -232
  776. data/vendor/plugins/.gitkeep +0 -0
@@ -1,843 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- (function()
7
- {
8
- function guardDomWalkerNonEmptyTextNode( node )
9
- {
10
- return ( node.type == CKEDITOR.NODE_TEXT && node.getLength() > 0 );
11
- }
12
-
13
- /**
14
- * Elements which break characters been considered as sequence.
15
- */
16
- function checkCharactersBoundary ( node )
17
- {
18
- var dtd = CKEDITOR.dtd;
19
- return node.isBlockBoundary(
20
- CKEDITOR.tools.extend( {}, dtd.$empty, dtd.$nonEditable ) );
21
- }
22
-
23
- /**
24
- * Get the cursor object which represent both current character and it's dom
25
- * position thing.
26
- */
27
- var cursorStep = function()
28
- {
29
- return {
30
- textNode : this.textNode,
31
- offset : this.offset,
32
- character : this.textNode ?
33
- this.textNode.getText().charAt( this.offset ) : null,
34
- hitMatchBoundary : this._.matchBoundary
35
- };
36
- };
37
-
38
- var pages = [ 'find', 'replace' ],
39
- fieldsMapping = [
40
- [ 'txtFindFind', 'txtFindReplace' ],
41
- [ 'txtFindCaseChk', 'txtReplaceCaseChk' ],
42
- [ 'txtFindWordChk', 'txtReplaceWordChk' ],
43
- [ 'txtFindCyclic', 'txtReplaceCyclic' ] ];
44
-
45
- /**
46
- * Synchronize corresponding filed values between 'replace' and 'find' pages.
47
- * @param {String} currentPageId The page id which receive values.
48
- */
49
- function syncFieldsBetweenTabs( currentPageId )
50
- {
51
- var sourceIndex, targetIndex,
52
- sourceField, targetField;
53
-
54
- sourceIndex = currentPageId === 'find' ? 1 : 0;
55
- targetIndex = 1 - sourceIndex;
56
- var i, l = fieldsMapping.length;
57
- for ( i = 0 ; i < l ; i++ )
58
- {
59
- sourceField = this.getContentElement( pages[ sourceIndex ],
60
- fieldsMapping[ i ][ sourceIndex ] );
61
- targetField = this.getContentElement( pages[ targetIndex ],
62
- fieldsMapping[ i ][ targetIndex ] );
63
-
64
- targetField.setValue( sourceField.getValue() );
65
- }
66
- }
67
-
68
- var findDialog = function( editor, startupPage )
69
- {
70
- // Style object for highlights.
71
- var highlightStyle = new CKEDITOR.style( editor.config.find_highlight );
72
-
73
- /**
74
- * Iterator which walk through the specified range char by char. By
75
- * default the walking will not stop at the character boundaries, until
76
- * the end of the range is encountered.
77
- * @param { CKEDITOR.dom.range } range
78
- * @param {Boolean} matchWord Whether the walking will stop at character boundary.
79
- */
80
- var characterWalker = function( range , matchWord )
81
- {
82
- var walker =
83
- new CKEDITOR.dom.walker( range );
84
- walker[ matchWord ? 'guard' : 'evaluator' ] =
85
- guardDomWalkerNonEmptyTextNode;
86
- walker.breakOnFalse = true;
87
-
88
- this._ = {
89
- matchWord : matchWord,
90
- walker : walker,
91
- matchBoundary : false
92
- };
93
- };
94
-
95
- characterWalker.prototype = {
96
- next : function()
97
- {
98
- return this.move();
99
- },
100
-
101
- back : function()
102
- {
103
- return this.move( true );
104
- },
105
-
106
- move : function( rtl )
107
- {
108
- var currentTextNode = this.textNode;
109
- // Already at the end of document, no more character available.
110
- if( currentTextNode === null )
111
- return cursorStep.call( this );
112
-
113
- this._.matchBoundary = false;
114
-
115
- // There are more characters in the text node, step forward.
116
- if( currentTextNode
117
- && rtl
118
- && this.offset > 0 )
119
- {
120
- this.offset--;
121
- return cursorStep.call( this );
122
- }
123
- else if( currentTextNode
124
- && this.offset < currentTextNode.getLength() - 1 )
125
- {
126
- this.offset++;
127
- return cursorStep.call( this );
128
- }
129
- else
130
- {
131
- currentTextNode = null;
132
- // At the end of the text node, walking foward for the next.
133
- while ( !currentTextNode )
134
- {
135
- currentTextNode =
136
- this._.walker[ rtl ? 'previous' : 'next' ].call( this._.walker );
137
-
138
- // Stop searching if we're need full word match OR
139
- // already reach document end.
140
- if ( this._.matchWord && !currentTextNode
141
- ||this._.walker._.end )
142
- break;
143
-
144
- // Marking as match character boundaries.
145
- if( !currentTextNode
146
- && checkCharactersBoundary( this._.walker.current ) )
147
- this._.matchBoundary = true;
148
-
149
- }
150
- // Found a fresh text node.
151
- this.textNode = currentTextNode;
152
- if ( currentTextNode )
153
- this.offset = rtl ? currentTextNode.getLength() - 1 : 0;
154
- else
155
- this.offset = 0;
156
- }
157
-
158
- return cursorStep.call( this );
159
- }
160
-
161
- };
162
-
163
- /**
164
- * A range of cursors which represent a trunk of characters which try to
165
- * match, it has the same length as the pattern string.
166
- */
167
- var characterRange = function( characterWalker, rangeLength )
168
- {
169
- this._ = {
170
- walker : characterWalker,
171
- cursors : [],
172
- rangeLength : rangeLength,
173
- highlightRange : null,
174
- isMatched : false
175
- };
176
- };
177
-
178
- characterRange.prototype = {
179
- /**
180
- * Translate this range to {@link CKEDITOR.dom.range}
181
- */
182
- toDomRange : function()
183
- {
184
- var cursors = this._.cursors;
185
- if ( cursors.length < 1 )
186
- return null;
187
-
188
- var first = cursors[0],
189
- last = cursors[ cursors.length - 1 ],
190
- range = new CKEDITOR.dom.range( editor.document );
191
-
192
- range.setStart( first.textNode, first.offset );
193
- range.setEnd( last.textNode, last.offset + 1 );
194
- return range;
195
- },
196
- /**
197
- * Reflect the latest changes from dom range.
198
- */
199
- updateFromDomRange : function( domRange )
200
- {
201
- var cursor,
202
- walker = new characterWalker( domRange );
203
- this._.cursors = [];
204
- do
205
- {
206
- cursor = walker.next();
207
- if ( cursor.character )
208
- this._.cursors.push( cursor );
209
- }
210
- while ( cursor.character );
211
- this._.rangeLength = this._.cursors.length;
212
- },
213
-
214
- setMatched : function()
215
- {
216
- this._.isMatched = true;
217
- },
218
-
219
- clearMatched : function()
220
- {
221
- this._.isMatched = false;
222
- },
223
-
224
- isMatched : function()
225
- {
226
- return this._.isMatched;
227
- },
228
-
229
- /**
230
- * Hightlight the current matched chunk of text.
231
- */
232
- highlight : function()
233
- {
234
- // Do not apply if nothing is found.
235
- if ( this._.cursors.length < 1 )
236
- return;
237
-
238
- // Remove the previous highlight if there's one.
239
- if ( this._.highlightRange )
240
- this.removeHighlight();
241
-
242
- // Apply the highlight.
243
- var range = this.toDomRange();
244
- highlightStyle.applyToRange( range );
245
- this._.highlightRange = range;
246
-
247
- // Scroll the editor to the highlighted area.
248
- var element = range.startContainer;
249
- if ( element.type != CKEDITOR.NODE_ELEMENT )
250
- element = element.getParent();
251
- element.scrollIntoView();
252
-
253
- // Update the character cursors.
254
- this.updateFromDomRange( range );
255
- },
256
-
257
- /**
258
- * Remove highlighted find result.
259
- */
260
- removeHighlight : function()
261
- {
262
- if ( !this._.highlightRange )
263
- return;
264
-
265
- highlightStyle.removeFromRange( this._.highlightRange );
266
- this.updateFromDomRange( this._.highlightRange );
267
- this._.highlightRange = null;
268
- },
269
-
270
- moveBack : function()
271
- {
272
- var retval = this._.walker.back(),
273
- cursors = this._.cursors;
274
-
275
- if ( retval.hitMatchBoundary )
276
- this._.cursors = cursors = [];
277
-
278
- cursors.unshift( retval );
279
- if ( cursors.length > this._.rangeLength )
280
- cursors.pop();
281
-
282
- return retval;
283
- },
284
-
285
- moveNext : function()
286
- {
287
- var retval = this._.walker.next(),
288
- cursors = this._.cursors;
289
-
290
- // Clear the cursors queue if we've crossed a match boundary.
291
- if ( retval.hitMatchBoundary )
292
- this._.cursors = cursors = [];
293
-
294
- cursors.push( retval );
295
- if ( cursors.length > this._.rangeLength )
296
- cursors.shift();
297
-
298
- return retval;
299
- },
300
-
301
- getEndCharacter : function()
302
- {
303
- var cursors = this._.cursors;
304
- if ( cursors.length < 1 )
305
- return null;
306
-
307
- return cursors[ cursors.length - 1 ].character;
308
- },
309
-
310
- getNextCharacterRange : function( maxLength )
311
- {
312
- var lastCursor,
313
- cursors = this._.cursors;
314
- if ( !( lastCursor = cursors[ cursors.length - 1 ] ) )
315
- return null;
316
- return new characterRange(
317
- new characterWalker(
318
- getRangeAfterCursor( lastCursor ) ),
319
- maxLength );
320
- },
321
-
322
- getCursors : function()
323
- {
324
- return this._.cursors;
325
- }
326
- };
327
-
328
-
329
- // The remaining document range after the character cursor.
330
- function getRangeAfterCursor( cursor , inclusive )
331
- {
332
- var range = new CKEDITOR.dom.range();
333
- range.setStart( cursor.textNode,
334
- ( inclusive ? cursor.offset : cursor.offset + 1 ) );
335
- range.setEndAt( editor.document.getBody(),
336
- CKEDITOR.POSITION_BEFORE_END );
337
- return range;
338
- }
339
-
340
- // The document range before the character cursor.
341
- function getRangeBeforeCursor( cursor )
342
- {
343
- var range = new CKEDITOR.dom.range();
344
- range.setStartAt( editor.document.getBody(),
345
- CKEDITOR.POSITION_AFTER_START );
346
- range.setEnd( cursor.textNode, cursor.offset );
347
- return range;
348
- }
349
-
350
- var KMP_NOMATCH = 0,
351
- KMP_ADVANCED = 1,
352
- KMP_MATCHED = 2;
353
- /**
354
- * Examination the occurrence of a word which implement KMP algorithm.
355
- */
356
- var kmpMatcher = function( pattern, ignoreCase )
357
- {
358
- var overlap = [ -1 ];
359
- if ( ignoreCase )
360
- pattern = pattern.toLowerCase();
361
- for ( var i = 0 ; i < pattern.length ; i++ )
362
- {
363
- overlap.push( overlap[i] + 1 );
364
- while ( overlap[ i + 1 ] > 0
365
- && pattern.charAt( i ) != pattern
366
- .charAt( overlap[ i + 1 ] - 1 ) )
367
- overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1;
368
- }
369
-
370
- this._ = {
371
- overlap : overlap,
372
- state : 0,
373
- ignoreCase : !!ignoreCase,
374
- pattern : pattern
375
- };
376
- };
377
-
378
- kmpMatcher.prototype =
379
- {
380
- feedCharacter : function( c )
381
- {
382
- if ( this._.ignoreCase )
383
- c = c.toLowerCase();
384
-
385
- while ( true )
386
- {
387
- if ( c == this._.pattern.charAt( this._.state ) )
388
- {
389
- this._.state++;
390
- if ( this._.state == this._.pattern.length )
391
- {
392
- this._.state = 0;
393
- return KMP_MATCHED;
394
- }
395
- return KMP_ADVANCED;
396
- }
397
- else if ( !this._.state )
398
- return KMP_NOMATCH;
399
- else
400
- this._.state = this._.overlap[ this._.state ];
401
- }
402
-
403
- return null;
404
- },
405
-
406
- reset : function()
407
- {
408
- this._.state = 0;
409
- }
410
- };
411
-
412
- var wordSeparatorRegex =
413
- /[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/;
414
-
415
- var isWordSeparator = function( c )
416
- {
417
- if ( !c )
418
- return true;
419
- var code = c.charCodeAt( 0 );
420
- return ( code >= 9 && code <= 0xd )
421
- || ( code >= 0x2000 && code <= 0x200a )
422
- || wordSeparatorRegex.test( c );
423
- };
424
-
425
- var finder = {
426
- searchRange : null,
427
- matchRange : null,
428
- find : function( pattern, matchCase, matchWord, matchCyclic, highlightMatched )
429
- {
430
- if( !this.matchRange )
431
- this.matchRange =
432
- new characterRange(
433
- new characterWalker( this.searchRange ),
434
- pattern.length );
435
- else
436
- {
437
- this.matchRange.removeHighlight();
438
- this.matchRange = this.matchRange.getNextCharacterRange( pattern.length );
439
- }
440
-
441
- var matcher = new kmpMatcher( pattern, !matchCase ),
442
- matchState = KMP_NOMATCH,
443
- character = '%';
444
-
445
- while ( character !== null )
446
- {
447
- this.matchRange.moveNext();
448
- while ( ( character = this.matchRange.getEndCharacter() ) )
449
- {
450
- matchState = matcher.feedCharacter( character );
451
- if ( matchState == KMP_MATCHED )
452
- break;
453
- if ( this.matchRange.moveNext().hitMatchBoundary )
454
- matcher.reset();
455
- }
456
-
457
- if ( matchState == KMP_MATCHED )
458
- {
459
- if ( matchWord )
460
- {
461
- var cursors = this.matchRange.getCursors(),
462
- tail = cursors[ cursors.length - 1 ],
463
- head = cursors[ 0 ];
464
-
465
- var headWalker = new characterWalker( getRangeBeforeCursor( head ), true ),
466
- tailWalker = new characterWalker( getRangeAfterCursor( tail ), true );
467
-
468
- if ( ! ( isWordSeparator( headWalker.back().character )
469
- && isWordSeparator( tailWalker.next().character ) ) )
470
- continue;
471
- }
472
- this.matchRange.setMatched();
473
- if ( highlightMatched !== false )
474
- this.matchRange.highlight();
475
- return true;
476
- }
477
- }
478
-
479
- this.matchRange.clearMatched();
480
- this.matchRange.removeHighlight();
481
- // Clear current session and restart with the default search
482
- // range.
483
- if ( matchCyclic )
484
- {
485
- this.searchRange = getSearchRange( true );
486
- this.matchRange = null;
487
- }
488
-
489
- return false;
490
- },
491
-
492
- /**
493
- * Record how much replacement occurred toward one replacing.
494
- */
495
- replaceCounter : 0,
496
-
497
- replace : function( dialog, pattern, newString, matchCase, matchWord,
498
- matchCyclic , isReplaceAll )
499
- {
500
- // Successiveness of current replace/find.
501
- var result = false;
502
-
503
- // 1. Perform the replace when there's already a match here.
504
- // 2. Otherwise perform the find but don't replace it immediately.
505
- if ( this.matchRange && this.matchRange.isMatched()
506
- && !this.matchRange._.isReplaced )
507
- {
508
- // Turn off highlight for a while when saving snapshots.
509
- this.matchRange.removeHighlight();
510
- var domRange = this.matchRange.toDomRange();
511
- var text = editor.document.createText( newString );
512
- if ( !isReplaceAll )
513
- {
514
- // Save undo snaps before and after the replacement.
515
- var selection = editor.getSelection();
516
- selection.selectRanges( [ domRange ] );
517
- editor.fire( 'saveSnapshot' );
518
- }
519
- domRange.deleteContents();
520
- domRange.insertNode( text );
521
- if ( !isReplaceAll )
522
- {
523
- selection.selectRanges( [ domRange ] );
524
- editor.fire( 'saveSnapshot' );
525
- }
526
- this.matchRange.updateFromDomRange( domRange );
527
- if ( !isReplaceAll )
528
- this.matchRange.highlight();
529
- this.matchRange._.isReplaced = true;
530
- this.replaceCounter++;
531
- result = true;
532
- }
533
- else
534
- result = this.find( pattern, matchCase, matchWord, matchCyclic, !isReplaceAll );
535
-
536
- return result;
537
- }
538
- };
539
-
540
- /**
541
- * The range in which find/replace happened, receive from user
542
- * selection prior.
543
- */
544
- function getSearchRange( isDefault )
545
- {
546
- var searchRange,
547
- sel = editor.getSelection(),
548
- body = editor.document.getBody();
549
- if ( sel && !isDefault )
550
- {
551
- searchRange = sel.getRanges()[ 0 ].clone();
552
- searchRange.collapse( true );
553
- }
554
- else
555
- {
556
- searchRange = new CKEDITOR.dom.range();
557
- searchRange.setStartAt( body, CKEDITOR.POSITION_AFTER_START );
558
- }
559
- searchRange.setEndAt( body, CKEDITOR.POSITION_BEFORE_END );
560
- return searchRange;
561
- }
562
-
563
- return {
564
- title : editor.lang.findAndReplace.title,
565
- resizable : CKEDITOR.DIALOG_RESIZE_NONE,
566
- minWidth : 350,
567
- minHeight : 165,
568
- buttons : [ CKEDITOR.dialog.cancelButton ], //Cancel button only.
569
- contents : [
570
- {
571
- id : 'find',
572
- label : editor.lang.findAndReplace.find,
573
- title : editor.lang.findAndReplace.find,
574
- accessKey : '',
575
- elements : [
576
- {
577
- type : 'hbox',
578
- widths : [ '230px', '90px' ],
579
- children :
580
- [
581
- {
582
- type : 'text',
583
- id : 'txtFindFind',
584
- label : editor.lang.findAndReplace.findWhat,
585
- isChanged : false,
586
- labelLayout : 'horizontal',
587
- accessKey : 'F'
588
- },
589
- {
590
- type : 'button',
591
- align : 'left',
592
- style : 'width:100%',
593
- label : editor.lang.findAndReplace.find,
594
- onClick : function()
595
- {
596
- var dialog = this.getDialog();
597
- if ( !finder.find( dialog.getValueOf( 'find', 'txtFindFind' ),
598
- dialog.getValueOf( 'find', 'txtFindCaseChk' ),
599
- dialog.getValueOf( 'find', 'txtFindWordChk' ),
600
- dialog.getValueOf( 'find', 'txtFindCyclic' ) ) )
601
- alert( editor.lang.findAndReplace
602
- .notFoundMsg );
603
- }
604
- }
605
- ]
606
- },
607
- {
608
- type : 'vbox',
609
- padding : 0,
610
- children :
611
- [
612
- {
613
- type : 'checkbox',
614
- id : 'txtFindCaseChk',
615
- isChanged : false,
616
- style : 'margin-top:28px',
617
- label : editor.lang.findAndReplace.matchCase
618
- },
619
- {
620
- type : 'checkbox',
621
- id : 'txtFindWordChk',
622
- isChanged : false,
623
- label : editor.lang.findAndReplace.matchWord
624
- },
625
- {
626
- type : 'checkbox',
627
- id : 'txtFindCyclic',
628
- isChanged : false,
629
- 'default' : true,
630
- label : editor.lang.findAndReplace.matchCyclic
631
- }
632
- ]
633
- }
634
- ]
635
- },
636
- {
637
- id : 'replace',
638
- label : editor.lang.findAndReplace.replace,
639
- accessKey : 'M',
640
- elements : [
641
- {
642
- type : 'hbox',
643
- widths : [ '230px', '90px' ],
644
- children :
645
- [
646
- {
647
- type : 'text',
648
- id : 'txtFindReplace',
649
- label : editor.lang.findAndReplace.findWhat,
650
- isChanged : false,
651
- labelLayout : 'horizontal',
652
- accessKey : 'F'
653
- },
654
- {
655
- type : 'button',
656
- align : 'left',
657
- style : 'width:100%',
658
- label : editor.lang.findAndReplace.replace,
659
- onClick : function()
660
- {
661
- var dialog = this.getDialog();
662
- if ( !finder.replace( dialog,
663
- dialog.getValueOf( 'replace', 'txtFindReplace' ),
664
- dialog.getValueOf( 'replace', 'txtReplace' ),
665
- dialog.getValueOf( 'replace', 'txtReplaceCaseChk' ),
666
- dialog.getValueOf( 'replace', 'txtReplaceWordChk' ),
667
- dialog.getValueOf( 'replace', 'txtReplaceCyclic' ) ) )
668
- alert( editor.lang.findAndReplace
669
- .notFoundMsg );
670
- }
671
- }
672
- ]
673
- },
674
- {
675
- type : 'hbox',
676
- widths : [ '230px', '90px' ],
677
- children :
678
- [
679
- {
680
- type : 'text',
681
- id : 'txtReplace',
682
- label : editor.lang.findAndReplace.replaceWith,
683
- isChanged : false,
684
- labelLayout : 'horizontal',
685
- accessKey : 'R'
686
- },
687
- {
688
- type : 'button',
689
- align : 'left',
690
- style : 'width:100%',
691
- label : editor.lang.findAndReplace.replaceAll,
692
- isChanged : false,
693
- onClick : function()
694
- {
695
- var dialog = this.getDialog();
696
- var replaceNums;
697
-
698
- finder.replaceCounter = 0;
699
-
700
- // Scope to full document.
701
- finder.searchRange = getSearchRange( true );
702
- if ( finder.matchRange )
703
- {
704
- finder.matchRange.removeHighlight();
705
- finder.matchRange = null;
706
- }
707
- editor.fire( 'saveSnapshot' );
708
- while( finder.replace( dialog,
709
- dialog.getValueOf( 'replace', 'txtFindReplace' ),
710
- dialog.getValueOf( 'replace', 'txtReplace' ),
711
- dialog.getValueOf( 'replace', 'txtReplaceCaseChk' ),
712
- dialog.getValueOf( 'replace', 'txtReplaceWordChk' ),
713
- false, true ) )
714
- { /*jsl:pass*/ }
715
-
716
- if ( finder.replaceCounter )
717
- {
718
- alert( editor.lang.findAndReplace.replaceSuccessMsg.replace( /%1/, finder.replaceCounter ) );
719
- editor.fire( 'saveSnapshot' );
720
- }
721
- else
722
- alert( editor.lang.findAndReplace.notFoundMsg );
723
- }
724
- }
725
- ]
726
- },
727
- {
728
- type : 'vbox',
729
- padding : 0,
730
- children :
731
- [
732
- {
733
- type : 'checkbox',
734
- id : 'txtReplaceCaseChk',
735
- isChanged : false,
736
- label : editor.lang.findAndReplace
737
- .matchCase
738
- },
739
- {
740
- type : 'checkbox',
741
- id : 'txtReplaceWordChk',
742
- isChanged : false,
743
- label : editor.lang.findAndReplace
744
- .matchWord
745
- },
746
- {
747
- type : 'checkbox',
748
- id : 'txtReplaceCyclic',
749
- isChanged : false,
750
- 'default' : true,
751
- label : editor.lang.findAndReplace
752
- .matchCyclic
753
- }
754
- ]
755
- }
756
- ]
757
- }
758
- ],
759
- onLoad : function()
760
- {
761
- var dialog = this;
762
-
763
- //keep track of the current pattern field in use.
764
- var patternField, wholeWordChkField;
765
-
766
- //Ignore initial page select on dialog show
767
- var isUserSelect = false;
768
- this.on('hide', function()
769
- {
770
- isUserSelect = false;
771
- } );
772
- this.on('show', function()
773
- {
774
- isUserSelect = true;
775
- } );
776
-
777
- this.selectPage = CKEDITOR.tools.override( this.selectPage, function( originalFunc )
778
- {
779
- return function( pageId )
780
- {
781
- originalFunc.call( dialog, pageId );
782
-
783
- var currPage = dialog._.tabs[ pageId ];
784
- var patternFieldInput, patternFieldId, wholeWordChkFieldId;
785
- patternFieldId = pageId === 'find' ? 'txtFindFind' : 'txtFindReplace';
786
- wholeWordChkFieldId = pageId === 'find' ? 'txtFindWordChk' : 'txtReplaceWordChk';
787
-
788
- patternField = dialog.getContentElement( pageId,
789
- patternFieldId );
790
- wholeWordChkField = dialog.getContentElement( pageId,
791
- wholeWordChkFieldId );
792
-
793
- // prepare for check pattern text filed 'keyup' event
794
- if ( !currPage.initialized )
795
- {
796
- patternFieldInput = CKEDITOR.document
797
- .getById( patternField._.inputId );
798
- currPage.initialized = true;
799
- }
800
-
801
- if( isUserSelect )
802
- // synchronize fields on tab switch.
803
- syncFieldsBetweenTabs.call( this, pageId );
804
- };
805
- } );
806
-
807
- },
808
- onShow : function()
809
- {
810
- // Establish initial searching start position.
811
- finder.searchRange = getSearchRange();
812
-
813
- if ( startupPage == 'replace' )
814
- this.getContentElement( 'replace', 'txtFindReplace' ).focus();
815
- else
816
- this.getContentElement( 'find', 'txtFindFind' ).focus();
817
- },
818
- onHide : function()
819
- {
820
- if ( finder.matchRange && finder.matchRange.isMatched() )
821
- {
822
- finder.matchRange.removeHighlight();
823
- editor.focus();
824
- editor.getSelection().selectRanges(
825
- [ finder.matchRange.toDomRange() ] );
826
- }
827
-
828
- // Clear current session before dialog close
829
- delete finder.matchRange;
830
- }
831
- };
832
- };
833
-
834
- CKEDITOR.dialog.add( 'find', function( editor )
835
- {
836
- return findDialog( editor, 'find' );
837
- });
838
-
839
- CKEDITOR.dialog.add( 'replace', function( editor )
840
- {
841
- return findDialog( editor, 'replace' );
842
- });
843
- })();