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,70 +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
- CKEDITOR.plugins.add( 'table',
7
- {
8
- init : function( editor )
9
- {
10
- var table = CKEDITOR.plugins.table,
11
- lang = editor.lang.table;
12
-
13
- editor.addCommand( 'table', new CKEDITOR.dialogCommand( 'table' ) );
14
- editor.addCommand( 'tableProperties', new CKEDITOR.dialogCommand( 'tableProperties' ) );
15
-
16
- editor.ui.addButton( 'Table',
17
- {
18
- label : lang.toolbar,
19
- command : 'table'
20
- });
21
-
22
- CKEDITOR.dialog.add( 'table', this.path + 'dialogs/table.js' );
23
- CKEDITOR.dialog.add( 'tableProperties', this.path + 'dialogs/table.js' );
24
-
25
- // If the "menu" plugin is loaded, register the menu items.
26
- if ( editor.addMenuItems )
27
- {
28
- editor.addMenuItems(
29
- {
30
- table :
31
- {
32
- label : lang.menu,
33
- command : 'tableProperties',
34
- group : 'table',
35
- order : 5
36
- },
37
-
38
- tabledelete :
39
- {
40
- label : lang.deleteTable,
41
- command : 'tableDelete',
42
- group : 'table',
43
- order : 1
44
- }
45
- } );
46
- }
47
-
48
- // If the "contextmenu" plugin is loaded, register the listeners.
49
- if ( editor.contextMenu )
50
- {
51
- editor.contextMenu.addListener( function( element, selection )
52
- {
53
- if ( !element )
54
- return null;
55
-
56
- var isTable = element.is( 'table' ) || element.hasAscendant( 'table' );
57
-
58
- if ( isTable )
59
- {
60
- return {
61
- tabledelete : CKEDITOR.TRISTATE_OFF,
62
- table : CKEDITOR.TRISTATE_OFF
63
- };
64
- }
65
-
66
- return null;
67
- } );
68
- }
69
- }
70
- } );
@@ -1,328 +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
- CKEDITOR.dialog.add( 'cellProperties', function( editor )
7
- {
8
- var langTable = editor.lang.table;
9
- var langCell = langTable.cell;
10
- var langCommon = editor.lang.common;
11
- var validate = CKEDITOR.dialog.validate;
12
- var widthPattern = /^(\d+(?:\.\d+)?)(px|%)$/,
13
- heightPattern = /^(\d+(?:\.\d+)?)px$/;
14
- var bind = CKEDITOR.tools.bind;
15
-
16
- function spacer()
17
- {
18
- return { type : 'html', html : ' ' };
19
- }
20
-
21
- return {
22
- title : langCell.title,
23
- minWidth : 480,
24
- minHeight : 140,
25
- contents : [
26
- {
27
- id : 'info',
28
- label : langCell.title,
29
- accessKey : 'I',
30
- elements :
31
- [
32
- {
33
- type : 'hbox',
34
- widths : [ '45%', '10%', '45%' ],
35
- children :
36
- [
37
- {
38
- type : 'vbox',
39
- padding : 0,
40
- children :
41
- [
42
- {
43
- type : 'hbox',
44
- widths : [ '70%', '30%' ],
45
- children :
46
- [
47
- {
48
- type : 'text',
49
- id : 'width',
50
- label : langTable.width,
51
- widths : [ '71%', '29%' ],
52
- labelLayout : 'horizontal',
53
- validate : validate[ 'number' ]( langCell.invalidWidth ),
54
- setup : function( selectedCell )
55
- {
56
- var widthMatch = widthPattern.exec( selectedCell.$.style.width );
57
- if ( widthMatch )
58
- this.setValue( widthMatch[1] );
59
- },
60
- commit : function( selectedCell )
61
- {
62
- var unit = this.getDialog().getValueOf( 'info', 'widthType' );
63
- if ( this.getValue() !== '' )
64
- selectedCell.$.style.width = this.getValue() + unit;
65
- else
66
- selectedCell.$.style.width = '';
67
- },
68
- 'default' : ''
69
- },
70
- {
71
- type : 'select',
72
- id : 'widthType',
73
- labelLayout : 'horizontal',
74
- widths : [ '0%', '100%' ],
75
- label : '',
76
- 'default' : 'px',
77
- items :
78
- [
79
- [ langTable.widthPx, 'px' ],
80
- [ langTable.widthPc, '%' ]
81
- ],
82
- setup : function( selectedCell )
83
- {
84
- var widthMatch = widthPattern.exec( selectedCell.$.style.width );
85
- if ( widthMatch )
86
- this.setValue( widthMatch[2] );
87
- }
88
- }
89
- ]
90
- },
91
- {
92
- type : 'hbox',
93
- widths : [ '70%', '30%' ],
94
- children :
95
- [
96
- {
97
- type : 'text',
98
- id : 'height',
99
- label : langTable.height,
100
- 'default' : '',
101
- widths : [ '71%', '29%' ],
102
- labelLayout : 'horizontal',
103
- validate : validate[ 'number' ]( langCell.invalidHeight ),
104
- setup : function( selectedCell )
105
- {
106
- var heightMatch = heightPattern.exec( selectedCell.$.style.height );
107
- if ( heightMatch )
108
- this.setValue( heightMatch[1] );
109
- },
110
- commit : function( selectedCell )
111
- {
112
- if ( this.getValue() !== '' )
113
- selectedCell.$.style.height = this.getValue() + 'px';
114
- else
115
- selectedCell.$.style.height = '';
116
- }
117
- },
118
- {
119
- type : 'html',
120
- html : langTable.widthPx
121
- }
122
- ]
123
- },
124
- spacer(),
125
- {
126
- type : 'select',
127
- id : 'wordWrap',
128
- labelLayout : 'horizontal',
129
- label : langCell.wordWrap,
130
- widths : [ '50%', '50%' ],
131
- 'default' : 'yes',
132
- items :
133
- [
134
- [ langCell.yes, 'yes' ],
135
- [ langCell.no, 'no' ]
136
- ],
137
- commit : function( selectedCell )
138
- {
139
- if ( this.getValue() == 'no' )
140
- selectedCell.setAttribute( 'noWrap', 'nowrap' );
141
- else
142
- selectedCell.removeAttribute( 'noWrap' );
143
- }
144
- },
145
- spacer(),
146
- {
147
- type : 'select',
148
- id : 'hAlign',
149
- labelLayout : 'horizontal',
150
- label : langCell.hAlign,
151
- widths : [ '50%', '50%' ],
152
- 'default' : '',
153
- items :
154
- [
155
- [ langCommon.notSet, '' ],
156
- [ langTable.alignLeft, 'left' ],
157
- [ langTable.alignCenter, 'center' ],
158
- [ langTable.alignRight, 'right' ]
159
- ],
160
- setup : function( selectedCell )
161
- {
162
- this.setValue( selectedCell.getAttribute( 'align' ) || '' );
163
- },
164
- commit : function( selectedCell )
165
- {
166
- if ( this.getValue() )
167
- selectedCell.setAttribute( 'align', this.getValue() );
168
- else
169
- selectedCell.removeAttribute( 'align' );
170
- }
171
- },
172
- {
173
- type : 'select',
174
- id : 'vAlign',
175
- labelLayout : 'horizontal',
176
- label : langCell.vAlign,
177
- widths : [ '50%', '50%' ],
178
- 'default' : '',
179
- items :
180
- [
181
- [ langCommon.notSet, '' ],
182
- [ langCell.alignTop, 'top' ],
183
- [ langCell.alignMiddle, 'middle' ],
184
- [ langCell.alignBottom, 'bottom' ],
185
- [ langCell.alignBaseline, 'baseline' ]
186
- ],
187
- setup : function( selectedCell )
188
- {
189
- this.setValue( selectedCell.getAttribute( 'vAlign' ) || '' );
190
- },
191
- commit : function( selectedCell )
192
- {
193
- if ( this.getValue() )
194
- selectedCell.setAttribute( 'vAlign', this.getValue() );
195
- else
196
- selectedCell.removeAttribute( 'vAlign' );
197
- }
198
- }
199
- ]
200
- },
201
- spacer(),
202
- {
203
- type : 'vbox',
204
- padding : 0,
205
- children :
206
- [
207
- {
208
- type : 'select',
209
- id : 'cellType',
210
- label : langCell.cellType,
211
- labelLayout : 'horizontal',
212
- widths : [ '50%', '50%' ],
213
- 'default' : 'td',
214
- items :
215
- [
216
- [ langCell.data, 'td' ],
217
- [ langCell.header, 'th' ]
218
- ],
219
- setup : function( selectedCell )
220
- {
221
- this.setValue( selectedCell.getName() );
222
- },
223
- commit : function( selectedCell )
224
- {
225
- selectedCell.renameNode( this.getValue() );
226
- }
227
- },
228
- spacer(),
229
- {
230
- type : 'text',
231
- id : 'rowSpan',
232
- label : langCell.rowSpan,
233
- labelLayout : 'horizontal',
234
- widths : [ '50%', '50%' ],
235
- 'default' : '',
236
- validate : validate.integer( langCell.invalidRowSpan ),
237
- setup : function( selectedCell )
238
- {
239
- this.setValue( selectedCell.getAttribute( 'rowSpan' ) || '' );
240
- },
241
- commit : function( selectedCell )
242
- {
243
- if ( this.getValue() )
244
- selectedCell.setAttribute( 'rowSpan', this.getValue() );
245
- else
246
- selectedCell.removeAttribute( 'rowSpan' );
247
- }
248
- },
249
- {
250
- type : 'text',
251
- id : 'colSpan',
252
- label : langCell.colSpan,
253
- labelLayout : 'horizontal',
254
- widths : [ '50%', '50%' ],
255
- 'default' : '',
256
- validate : validate.integer( langCell.invalidColSpan ),
257
- setup : function( selectedCell )
258
- {
259
- this.setValue( selectedCell.getAttribute( 'colSpan' ) || '' );
260
- },
261
- commit : function( selectedCell )
262
- {
263
- if ( this.getValue() )
264
- selectedCell.setAttribute( 'colSpan', this.getValue() );
265
- else
266
- selectedCell.removeAttribute( 'colSpan' );
267
- }
268
- },
269
- spacer(),
270
- {
271
- type : 'text',
272
- id : 'bgColor',
273
- label : langCell.bgColor,
274
- labelLayout : 'horizontal',
275
- widths : [ '50%', '50%' ],
276
- 'default' : '',
277
- setup : function( selectedCell )
278
- {
279
- this.setValue( selectedCell.getAttribute( 'bgColor' ) || '' );
280
- },
281
- commit : function( selectedCell )
282
- {
283
- if ( this.getValue() )
284
- selectedCell.setAttribute( 'bgColor', this.getValue() );
285
- else
286
- selectedCell.removeAttribute( 'bgColor' );
287
- }
288
- },
289
- {
290
- type : 'text',
291
- id : 'borderColor',
292
- label : langCell.borderColor,
293
- labelLayout : 'horizontal',
294
- widths : [ '50%', '50%' ],
295
- 'default' : '',
296
- setup : function( selectedCell )
297
- {
298
- this.setValue( selectedCell.getAttribute( 'borderColor' ) || '' );
299
- },
300
- commit : function( selectedCell )
301
- {
302
- if ( this.getValue() )
303
- selectedCell.setAttribute( 'borderColor', this.getValue() );
304
- else
305
- selectedCell.removeAttribute( 'borderColor' );
306
- }
307
- }
308
- ]
309
- }
310
- ]
311
- }
312
- ]
313
- }
314
- ],
315
- onShow : function()
316
- {
317
- this.cells = CKEDITOR.plugins.tabletools.getSelectedCells(
318
- this._.editor.getSelection() );
319
- this.setupContent( this.cells[ 0 ] );
320
- },
321
- onOk : function()
322
- {
323
- var cells = this.cells;
324
- for ( var i = 0 ; i < cells.length ; i++ )
325
- this.commitContent( cells[ i ] );
326
- }
327
- };
328
- } );
@@ -1,701 +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 removeRawAttribute( $node, attr )
9
- {
10
- if ( CKEDITOR.env.ie )
11
- $node.removeAttribute( attr );
12
- else
13
- delete $node[ attr ];
14
- }
15
-
16
- var cellNodeRegex = /^(?:td|th)$/;
17
-
18
- function getSelectedCells( selection )
19
- {
20
- // Walker will try to split text nodes, which will make the current selection
21
- // invalid. So save bookmarks before doing anything.
22
- var bookmarks = selection.createBookmarks();
23
-
24
- var ranges = selection.getRanges();
25
- var retval = [];
26
- var database = {};
27
-
28
- function moveOutOfCellGuard( node )
29
- {
30
- // Apply to the first cell only.
31
- if ( retval.length > 0 )
32
- return;
33
-
34
- // If we are exiting from the first </td>, then the td should definitely be
35
- // included.
36
- if ( node.type == CKEDITOR.NODE_ELEMENT && cellNodeRegex.test( node.getName() )
37
- && !node.getCustomData( 'selected_cell' ) )
38
- {
39
- CKEDITOR.dom.element.setMarker( database, node, 'selected_cell', true );
40
- retval.push( node );
41
- }
42
- }
43
-
44
- for ( var i = 0 ; i < ranges.length ; i++ )
45
- {
46
- var range = ranges[ i ];
47
-
48
- if ( range.collapsed )
49
- {
50
- // Walker does not handle collapsed ranges yet - fall back to old API.
51
- var startNode = range.getCommonAncestor();
52
- var nearestCell = startNode.getAscendant( 'td', true ) || startNode.getAscendant( 'th', true );
53
- if ( nearestCell )
54
- retval.push( nearestCell );
55
- }
56
- else
57
- {
58
- var walker = new CKEDITOR.dom.walker( range );
59
- var node;
60
- walker.guard = moveOutOfCellGuard;
61
-
62
- while ( ( node = walker.next() ) )
63
- {
64
- // If may be possible for us to have a range like this:
65
- // <td>^1</td><td>^2</td>
66
- // The 2nd td shouldn't be included.
67
- //
68
- // So we have to take care to include a td we've entered only when we've
69
- // walked into its children.
70
-
71
- var parent = node.getParent();
72
- if ( parent && cellNodeRegex.test( parent.getName() ) && !parent.getCustomData( 'selected_cell' ) )
73
- {
74
- CKEDITOR.dom.element.setMarker( database, parent, 'selected_cell', true );
75
- retval.push( parent );
76
- }
77
- }
78
- }
79
- }
80
-
81
- CKEDITOR.dom.element.clearAllMarkers( database );
82
-
83
- // Restore selection position.
84
- selection.selectBookmarks( bookmarks );
85
-
86
- return retval;
87
- }
88
-
89
- function createTableMap( $refCell )
90
- {
91
- var refCell = new CKEDITOR.dom.element( $refCell );
92
- var $table = ( refCell.getName() == 'table' ? $refCell : refCell.getAscendant( 'table' ) ).$;
93
- var $rows = $table.rows;
94
-
95
- // Row and column counters.
96
- var r = -1;
97
- var map = [];
98
- for ( var i = 0 ; i < $rows.length ; i++ )
99
- {
100
- r++;
101
- if ( !map[ r ] )
102
- map[ r ] = [];
103
-
104
- var c = -1;
105
-
106
- for ( var j = 0 ; j < $rows[ i ].cells.length ; j++ )
107
- {
108
- var $cell = $rows[ i ].cells[ j ];
109
-
110
- c++;
111
- while ( map[ r ][ c ] )
112
- c++;
113
-
114
- var colSpan = isNaN( $cell.colSpan ) ? 1 : $cell.colSpan;
115
- var rowSpan = isNaN( $cell.rowSpan ) ? 1 : $cell.rowSpan;
116
-
117
- for ( var rs = 0 ; rs < rowSpan ; rs++ )
118
- {
119
- if ( !map[ r + rs ] )
120
- map[ r + rs ] = [];
121
-
122
- for ( var cs = 0 ; cs < colSpan ; cs++ )
123
- map [ r + rs ][ c + cs ] = $rows[ i ].cells[ j ];
124
- }
125
-
126
- c += colSpan - 1;
127
- }
128
- }
129
-
130
- return map;
131
- }
132
-
133
- function installTableMap( tableMap, $table )
134
- {
135
- /*
136
- * IE BUG: rowSpan is always 1 in IE if the cell isn't attached to a row. So
137
- * store is separately in another attribute. (#1917)
138
- */
139
- var rowSpanAttr = CKEDITOR.env.ie ? '_cke_rowspan' : 'rowSpan';
140
-
141
- /*
142
- * Disconnect all the cells in tableMap from their parents, set all colSpan
143
- * and rowSpan attributes to 1.
144
- */
145
- for ( var i = 0 ; i < tableMap.length ; i++ )
146
- {
147
- for ( var j = 0 ; j < tableMap[ i ].length ; j++ )
148
- {
149
- var $cell = tableMap[ i ][ j ];
150
- if ( $cell.parentNode )
151
- $cell.parentNode.removeChild( $cell );
152
- $cell.colSpan = $cell[ rowSpanAttr ] = 1;
153
- }
154
- }
155
-
156
- // Scan by rows and set colSpan.
157
- var maxCol = 0;
158
- for ( i = 0 ; i < tableMap.length ; i++ )
159
- {
160
- for ( j = 0 ; j < tableMap[ i ].length ; j++ )
161
- {
162
- $cell = tableMap[ i ][ j ];
163
- if ( !$cell )
164
- continue;
165
- if ( j > maxCol )
166
- maxCol = j;
167
- if ( $cell[ '_cke_colScanned' ] )
168
- continue;
169
- if ( tableMap[ i ][ j - 1 ] == $cell )
170
- $cell.colSpan++;
171
- if ( tableMap[ i ][ j + 1 ] != $cell )
172
- $cell[ '_cke_colScanned' ] = 1;
173
- }
174
- }
175
-
176
- // Scan by columns and set rowSpan.
177
- for ( i = 0 ; i <= maxCol ; i++ )
178
- {
179
- for ( j = 0 ; j < tableMap.length ; j++ )
180
- {
181
- if ( !tableMap[ j ] )
182
- continue;
183
- $cell = tableMap[ j ][ i ];
184
- if ( !$cell || $cell[ '_cke_rowScanned' ] )
185
- continue;
186
- if ( tableMap[ j - 1 ] && tableMap[ j - 1 ][ i ] == $cell )
187
- $cell[ rowSpanAttr ]++;
188
- if ( !tableMap[ j + 1 ] || tableMap[ j + 1 ][ i ] != $cell )
189
- $cell[ '_cke_rowScanned' ] = 1;
190
- }
191
- }
192
-
193
- // Clear all temporary flags.
194
- for ( i = 0 ; i < tableMap.length ; i++ )
195
- {
196
- for ( j = 0 ; j < tableMap[ i ].length ; j++ )
197
- {
198
- $cell = tableMap[ i ][ j ];
199
- removeRawAttribute( $cell, '_cke_colScanned' );
200
- removeRawAttribute( $cell, '_cke_rowScanned' );
201
- }
202
- }
203
-
204
- // Insert physical rows and columns to table.
205
- for ( i = 0 ; i < tableMap.length ; i++ )
206
- {
207
- var $row = $table.ownerDocument.createElement( 'tr' );
208
- for ( j = 0 ; j < tableMap[ i ].length ; )
209
- {
210
- $cell = tableMap[ i ][ j ];
211
- if ( tableMap[ i - 1 ] && tableMap[ i - 1 ][ j ] == $cell )
212
- {
213
- j += $cell.colSpan;
214
- continue;
215
- }
216
- $row.appendChild( $cell );
217
- if ( rowSpanAttr != 'rowSpan' )
218
- {
219
- $cell.rowSpan = $cell[ rowSpanAttr ];
220
- $cell.removeAttribute( rowSpanAttr );
221
- }
222
- j += $cell.colSpan;
223
- if ( $cell.colSpan == 1 )
224
- $cell.removeAttribute( 'colSpan' );
225
- if ( $cell.rowSpan == 1 )
226
- $cell.removeAttribute( 'rowSpan' );
227
- }
228
-
229
- if ( CKEDITOR.env.ie )
230
- $table.rows[ i ].replaceNode( $row );
231
- else
232
- {
233
- var dest = new CKEDITOR.dom.element( $table.rows[ i ] );
234
- var src = new CKEDITOR.dom.element( $row );
235
- dest.setHtml( '' );
236
- src.moveChildren( dest );
237
- }
238
- }
239
- }
240
-
241
- function clearRow( $tr )
242
- {
243
- // Get the array of row's cells.
244
- var $cells = $tr.cells;
245
-
246
- // Empty all cells.
247
- for ( var i = 0 ; i < $cells.length ; i++ )
248
- {
249
- $cells[ i ].innerHTML = '';
250
-
251
- if ( !CKEDITOR.env.ie )
252
- ( new CKEDITOR.dom.element( $cells[ i ] ) ).appendBogus();
253
- }
254
- }
255
-
256
- function insertRow( selection, insertBefore )
257
- {
258
- // Get the row where the selection is placed in.
259
- var row = selection.getStartElement().getAscendant( 'tr' );
260
- if ( !row )
261
- return;
262
-
263
- // Create a clone of the row.
264
- var newRow = row.clone( true );
265
-
266
- // Insert the new row before of it.
267
- newRow.insertBefore( row );
268
-
269
- // Clean one of the rows to produce the illusion of inserting an empty row
270
- // before or after.
271
- clearRow( insertBefore ? newRow.$ : row.$ );
272
- }
273
-
274
- function deleteRows( selectionOrRow )
275
- {
276
- if ( selectionOrRow instanceof CKEDITOR.dom.selection )
277
- {
278
- var cells = getSelectedCells( selectionOrRow );
279
- var rowsToDelete = [];
280
-
281
- // Queue up the rows - it's possible and likely that we have duplicates.
282
- for ( var i = 0 ; i < cells.length ; i++ )
283
- {
284
- var row = cells[ i ].getParent();
285
- rowsToDelete[ row.$.rowIndex ] = row;
286
- }
287
-
288
- for ( i = rowsToDelete.length ; i >= 0 ; i-- )
289
- {
290
- if ( rowsToDelete[ i ] )
291
- deleteRows( rowsToDelete[ i ] );
292
- }
293
- }
294
- else if ( selectionOrRow instanceof CKEDITOR.dom.element )
295
- {
296
- var table = selectionOrRow.getAscendant( 'table' );
297
-
298
- if ( table.$.rows.length == 1 )
299
- table.remove();
300
- else
301
- selectionOrRow.remove();
302
- }
303
- }
304
-
305
- function insertColumn( selection, insertBefore )
306
- {
307
- // Get the cell where the selection is placed in.
308
- var startElement = selection.getStartElement();
309
- var cell = startElement.getAscendant( 'td', true ) || startElement.getAscendant( 'th', true );
310
-
311
- if ( !cell )
312
- return;
313
-
314
- // Get the cell's table.
315
- var table = cell.getAscendant( 'table' );
316
- var cellIndex = cell.$.cellIndex;
317
-
318
- // Loop through all rows available in the table.
319
- for ( var i = 0 ; i < table.$.rows.length ; i++ )
320
- {
321
- var $row = table.$.rows[ i ];
322
-
323
- // If the row doesn't have enough cells, ignore it.
324
- if ( $row.cells.length < ( cellIndex + 1 ) )
325
- continue;
326
-
327
- cell = new CKEDITOR.dom.element( $row.cells[ cellIndex ].cloneNode( false ) );
328
-
329
- if ( !CKEDITOR.env.ie )
330
- cell.appendBogus();
331
-
332
- // Get back the currently selected cell.
333
- var baseCell = new CKEDITOR.dom.element( $row.cells[ cellIndex ] );
334
- if ( insertBefore )
335
- cell.insertBefore( baseCell );
336
- else
337
- cell.insertAfter( baseCell );
338
- }
339
- }
340
-
341
- function deleteColumns( selectionOrCell )
342
- {
343
- if ( selectionOrCell instanceof CKEDITOR.dom.selection )
344
- {
345
- var colsToDelete = getSelectedCells( selectionOrCell );
346
- for ( var i = colsToDelete.length ; i >= 0 ; i-- )
347
- {
348
- if ( colsToDelete[ i ] )
349
- deleteColumns( colsToDelete[ i ] );
350
- }
351
- }
352
- else if ( selectionOrCell instanceof CKEDITOR.dom.element )
353
- {
354
- // Get the cell's table.
355
- var table = selectionOrCell.getAscendant( 'table' );
356
-
357
- // Get the cell index.
358
- var cellIndex = selectionOrCell.$.cellIndex;
359
-
360
- /*
361
- * Loop through all rows from down to up, coz it's possible that some rows
362
- * will be deleted.
363
- */
364
- for ( i = table.$.rows.length - 1 ; i >= 0 ; i-- )
365
- {
366
- // Get the row.
367
- var row = new CKEDITOR.dom.element( table.$.rows[ i ] );
368
-
369
- // If the cell to be removed is the first one and the row has just one cell.
370
- if ( !cellIndex && row.$.cells.length == 1 )
371
- {
372
- deleteRows( row );
373
- continue;
374
- }
375
-
376
- // Else, just delete the cell.
377
- if ( row.$.cells[ cellIndex ] )
378
- row.$.removeChild( row.$.cells[ cellIndex ] );
379
- }
380
- }
381
- }
382
-
383
- function insertCell( selection, insertBefore )
384
- {
385
- var startElement = selection.getStartElement();
386
- var cell = startElement.getAscendant( 'td', true ) || startElement.getAscendant( 'th', true );
387
-
388
- if ( !cell )
389
- return;
390
-
391
- // Create the new cell element to be added.
392
- var newCell = cell.clone();
393
- if ( !CKEDITOR.env.ie )
394
- newCell.appendBogus();
395
-
396
- if ( insertBefore )
397
- newCell.insertBefore( cell );
398
- else
399
- newCell.insertAfter( cell );
400
- }
401
-
402
- function deleteCells( selectionOrCell )
403
- {
404
- if ( selectionOrCell instanceof CKEDITOR.dom.selection )
405
- {
406
- var cellsToDelete = getSelectedCells( selectionOrCell );
407
- for ( var i = cellsToDelete.length - 1 ; i >= 0 ; i-- )
408
- deleteCells( cellsToDelete[ i ] );
409
- }
410
- else if ( selectionOrCell instanceof CKEDITOR.dom.element )
411
- {
412
- if ( selectionOrCell.getParent().getChildCount() == 1 )
413
- selectionOrCell.getParent().remove();
414
- else
415
- selectionOrCell.remove();
416
- }
417
- }
418
-
419
- // Context menu on table caption incorrect (#3834)
420
- var contextMenuTags = { thead : 1, tbody : 1, tfoot : 1, td : 1, tr : 1, th : 1 };
421
-
422
- CKEDITOR.plugins.tabletools =
423
- {
424
- init : function( editor )
425
- {
426
- var lang = editor.lang.table;
427
-
428
- editor.addCommand( 'cellProperties', new CKEDITOR.dialogCommand( 'cellProperties' ) );
429
- CKEDITOR.dialog.add( 'cellProperties', this.path + 'dialogs/tableCell.js' );
430
-
431
- editor.addCommand( 'tableDelete',
432
- {
433
- exec : function( editor )
434
- {
435
- var selection = editor.getSelection();
436
- var startElement = selection && selection.getStartElement();
437
- var table = startElement && startElement.getAscendant( 'table', true );
438
-
439
- if ( !table )
440
- return;
441
-
442
- // Maintain the selection point at where the table was deleted.
443
- selection.selectElement( table );
444
- var range = selection.getRanges()[0];
445
- range.collapse();
446
- selection.selectRanges( [ range ] );
447
-
448
- // If the table's parent has only one child, remove it as well.
449
- if ( table.getParent().getChildCount() == 1 )
450
- table.getParent().remove();
451
- else
452
- table.remove();
453
- }
454
- } );
455
-
456
- editor.addCommand( 'rowDelete',
457
- {
458
- exec : function( editor )
459
- {
460
- var selection = editor.getSelection();
461
- deleteRows( selection );
462
- }
463
- } );
464
-
465
- editor.addCommand( 'rowInsertBefore',
466
- {
467
- exec : function( editor )
468
- {
469
- var selection = editor.getSelection();
470
- insertRow( selection, true );
471
- }
472
- } );
473
-
474
- editor.addCommand( 'rowInsertAfter',
475
- {
476
- exec : function( editor )
477
- {
478
- var selection = editor.getSelection();
479
- insertRow( selection );
480
- }
481
- } );
482
-
483
- editor.addCommand( 'columnDelete',
484
- {
485
- exec : function( editor )
486
- {
487
- var selection = editor.getSelection();
488
- deleteColumns( selection );
489
- }
490
- } );
491
-
492
- editor.addCommand( 'columnInsertBefore',
493
- {
494
- exec : function( editor )
495
- {
496
- var selection = editor.getSelection();
497
- insertColumn( selection, true );
498
- }
499
- } );
500
-
501
- editor.addCommand( 'columnInsertAfter',
502
- {
503
- exec : function( editor )
504
- {
505
- var selection = editor.getSelection();
506
- insertColumn( selection );
507
- }
508
- } );
509
-
510
- editor.addCommand( 'cellDelete',
511
- {
512
- exec : function( editor )
513
- {
514
- var selection = editor.getSelection();
515
- deleteCells( selection );
516
- }
517
- } );
518
-
519
- editor.addCommand( 'cellInsertBefore',
520
- {
521
- exec : function( editor )
522
- {
523
- var selection = editor.getSelection();
524
- insertCell( selection, true );
525
- }
526
- } );
527
-
528
- editor.addCommand( 'cellInsertAfter',
529
- {
530
- exec : function( editor )
531
- {
532
- var selection = editor.getSelection();
533
- insertCell( selection );
534
- }
535
- } );
536
-
537
- // If the "menu" plugin is loaded, register the menu items.
538
- if ( editor.addMenuItems )
539
- {
540
- editor.addMenuItems(
541
- {
542
- tablecell :
543
- {
544
- label : lang.cell.menu,
545
- group : 'tablecell',
546
- order : 1,
547
- getItems : function()
548
- {
549
- var cells = getSelectedCells( editor.getSelection() );
550
- return {
551
- tablecell_insertBefore : CKEDITOR.TRISTATE_OFF,
552
- tablecell_insertAfter : CKEDITOR.TRISTATE_OFF,
553
- tablecell_delete : CKEDITOR.TRISTATE_OFF,
554
- tablecell_properties : cells.length > 0 ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED
555
- };
556
- }
557
- },
558
-
559
- tablecell_insertBefore :
560
- {
561
- label : lang.cell.insertBefore,
562
- group : 'tablecell',
563
- command : 'cellInsertBefore',
564
- order : 5
565
- },
566
-
567
- tablecell_insertAfter :
568
- {
569
- label : lang.cell.insertAfter,
570
- group : 'tablecell',
571
- command : 'cellInsertAfter',
572
- order : 10
573
- },
574
-
575
- tablecell_delete :
576
- {
577
- label : lang.cell.deleteCell,
578
- group : 'tablecell',
579
- command : 'cellDelete',
580
- order : 15
581
- },
582
-
583
- tablecell_properties :
584
- {
585
- label : lang.cell.title,
586
- group : 'tablecellproperties',
587
- command : 'cellProperties',
588
- order : 20
589
- },
590
-
591
- tablerow :
592
- {
593
- label : lang.row.menu,
594
- group : 'tablerow',
595
- order : 1,
596
- getItems : function()
597
- {
598
- return {
599
- tablerow_insertBefore : CKEDITOR.TRISTATE_OFF,
600
- tablerow_insertAfter : CKEDITOR.TRISTATE_OFF,
601
- tablerow_delete : CKEDITOR.TRISTATE_OFF
602
- };
603
- }
604
- },
605
-
606
- tablerow_insertBefore :
607
- {
608
- label : lang.row.insertBefore,
609
- group : 'tablerow',
610
- command : 'rowInsertBefore',
611
- order : 5
612
- },
613
-
614
- tablerow_insertAfter :
615
- {
616
- label : lang.row.insertAfter,
617
- group : 'tablerow',
618
- command : 'rowInsertAfter',
619
- order : 10
620
- },
621
-
622
- tablerow_delete :
623
- {
624
- label : lang.row.deleteRow,
625
- group : 'tablerow',
626
- command : 'rowDelete',
627
- order : 15
628
- },
629
-
630
- tablecolumn :
631
- {
632
- label : lang.column.menu,
633
- group : 'tablecolumn',
634
- order : 1,
635
- getItems : function()
636
- {
637
- return {
638
- tablecolumn_insertBefore : CKEDITOR.TRISTATE_OFF,
639
- tablecolumn_insertAfter : CKEDITOR.TRISTATE_OFF,
640
- tablecolumn_delete : CKEDITOR.TRISTATE_OFF
641
- };
642
- }
643
- },
644
-
645
- tablecolumn_insertBefore :
646
- {
647
- label : lang.column.insertBefore,
648
- group : 'tablecolumn',
649
- command : 'columnInsertBefore',
650
- order : 5
651
- },
652
-
653
- tablecolumn_insertAfter :
654
- {
655
- label : lang.column.insertAfter,
656
- group : 'tablecolumn',
657
- command : 'columnInsertAfter',
658
- order : 10
659
- },
660
-
661
- tablecolumn_delete :
662
- {
663
- label : lang.column.deleteColumn,
664
- group : 'tablecolumn',
665
- command : 'columnDelete',
666
- order : 15
667
- }
668
- });
669
- }
670
-
671
- // If the "contextmenu" plugin is laoded, register the listeners.
672
- if ( editor.contextMenu )
673
- {
674
- editor.contextMenu.addListener( function( element, selection )
675
- {
676
- if ( !element )
677
- return null;
678
-
679
- while ( element )
680
- {
681
- if ( element.getName() in contextMenuTags )
682
- {
683
- return {
684
- tablecell : CKEDITOR.TRISTATE_OFF,
685
- tablerow : CKEDITOR.TRISTATE_OFF,
686
- tablecolumn : CKEDITOR.TRISTATE_OFF
687
- };
688
- }
689
- element = element.getParent();
690
- }
691
-
692
- return null;
693
- } );
694
- }
695
- },
696
-
697
- getSelectedCells : getSelectedCells
698
-
699
- };
700
- CKEDITOR.plugins.add( 'tabletools', CKEDITOR.plugins.tabletools );
701
- })();