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,1319 +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
- /** @fileoverview The "dialogui" plugin. */
7
-
8
- CKEDITOR.plugins.add( 'dialogui' );
9
-
10
- (function()
11
- {
12
- var initPrivateObject = function( elementDefinition )
13
- {
14
- this._ || ( this._ = {} );
15
- this._['default'] = this._.initValue = elementDefinition['default'] || '';
16
- var args = [ this._ ];
17
- for ( var i = 1 ; i < arguments.length ; i++ )
18
- args.push( arguments[i] );
19
- args.push( true );
20
- CKEDITOR.tools.extend.apply( CKEDITOR.tools, args );
21
- return this._;
22
- },
23
- textBuilder =
24
- {
25
- build : function( dialog, elementDefinition, output )
26
- {
27
- return new CKEDITOR.ui.dialog.textInput( dialog, elementDefinition, output );
28
- }
29
- },
30
- commonBuilder =
31
- {
32
- build : function( dialog, elementDefinition, output )
33
- {
34
- return new CKEDITOR.ui.dialog[elementDefinition.type]( dialog, elementDefinition, output );
35
- }
36
- },
37
- commonPrototype =
38
- {
39
- isChanged : function()
40
- {
41
- return this.getValue() != this.getInitValue();
42
- },
43
-
44
- reset : function()
45
- {
46
- this.setValue( this.getInitValue() );
47
- },
48
-
49
- setInitValue : function()
50
- {
51
- this._.initValue = this.getValue();
52
- },
53
-
54
- resetInitValue : function()
55
- {
56
- this._.initValue = this._['default'];
57
- },
58
-
59
- getInitValue : function()
60
- {
61
- return this._.initValue;
62
- }
63
- },
64
- commonEventProcessors = CKEDITOR.tools.extend( {}, CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,
65
- {
66
- onChange : function( dialog, func )
67
- {
68
- if ( !this._.domOnChangeRegistered )
69
- {
70
- dialog.on( 'load', function()
71
- {
72
- this.getInputElement().on( 'change', function(){ this.fire( 'change', { value : this.getValue() } ); }, this );
73
- }, this );
74
- this._.domOnChangeRegistered = true;
75
- }
76
-
77
- this.on( 'change', func );
78
- }
79
- }, true ),
80
- eventRegex = /^on([A-Z]\w+)/,
81
- cleanInnerDefinition = function( def )
82
- {
83
- // An inner UI element should not have the parent's type, title or events.
84
- for ( var i in def )
85
- {
86
- if ( eventRegex.test( i ) || i == 'title' || i == 'type' )
87
- delete def[i];
88
- }
89
- return def;
90
- };
91
-
92
- CKEDITOR.tools.extend( CKEDITOR.ui.dialog,
93
- /** @lends CKEDITOR.ui.dialog */
94
- {
95
- /**
96
- * Base class for all dialog elements with a textual label on the left.
97
- * @constructor
98
- * @example
99
- * @extends CKEDITOR.ui.dialog.uiElement
100
- * @param {CKEDITOR.dialog} dialog
101
- * Parent dialog object.
102
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
103
- * The element definition. Accepted fields:
104
- * <ul>
105
- * <li><strong>label</strong> (Required) The label string.</li>
106
- * <li><strong>labelLayout</strong> (Optional) Put 'horizontal' here if the
107
- * label element is to be layed out horizontally. Otherwise a vertical
108
- * layout will be used.</li>
109
- * <li><strong>widths</strong> (Optional) This applies only for horizontal
110
- * layouts - an 2-element array of lengths to specify the widths of the
111
- * label and the content element.</li>
112
- * </ul>
113
- * @param {Array} htmlList
114
- * List of HTML code to output to.
115
- * @param {Function} contentHtml
116
- * A function returning the HTML code string to be added inside the content
117
- * cell.
118
- */
119
- labeledElement : function( dialog, elementDefinition, htmlList, contentHtml )
120
- {
121
- if ( arguments.length < 4 )
122
- return;
123
-
124
- var _ = initPrivateObject.call( this, elementDefinition );
125
- _.labelId = CKEDITOR.tools.getNextNumber() + '_label';
126
- var children = this._.children = [];
127
- /** @ignore */
128
- var innerHTML = function()
129
- {
130
- var html = [];
131
- if ( elementDefinition.labelLayout != 'horizontal' )
132
- html.push( '<div class="cke_dialog_ui_labeled_label" id="',
133
- _.labelId,
134
- '" >',
135
- elementDefinition.label,
136
- '</div>',
137
- '<div class="cke_dialog_ui_labeled_content">',
138
- contentHtml( dialog, elementDefinition ),
139
- '</div>' );
140
- else
141
- {
142
- var hboxDefinition = {
143
- type : 'hbox',
144
- widths : elementDefinition.widths,
145
- padding : 0,
146
- children :
147
- [
148
- {
149
- type : 'html',
150
- html : '<span class="cke_dialog_ui_labeled_label" ' +
151
- 'id="' + _.labelId + '">' + CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
152
- '</span>'
153
- },
154
- {
155
- type : 'html',
156
- html : '<span class="cke_dialog_ui_labeled_content">' +
157
- contentHtml( dialog, elementDefinition ) +
158
- '</span>'
159
- }
160
- ]
161
- };
162
- CKEDITOR.dialog._.uiElementBuilders.hbox.build( dialog, hboxDefinition, html );
163
- }
164
- return html.join( '' );
165
- };
166
- CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'div', null, null, innerHTML );
167
- },
168
-
169
- /**
170
- * A text input with a label. This UI element class represents both the
171
- * single-line text inputs and password inputs in dialog boxes.
172
- * @constructor
173
- * @example
174
- * @extends CKEDITOR.ui.dialog.labeledElement
175
- * @param {CKEDITOR.dialog} dialog
176
- * Parent dialog object.
177
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
178
- * The element definition. Accepted fields:
179
- * <ul>
180
- * <li><strong>default</strong> (Optional) The default value.</li>
181
- * <li><strong>validate</strong> (Optional) The validation function. </li>
182
- * <li><strong>maxLength</strong> (Optional) The maximum length of text box
183
- * contents.</li>
184
- * <li><strong>size</strong> (Optional) The size of the text box. This is
185
- * usually overridden by the size defined by the skin, however.</li>
186
- * </ul>
187
- * @param {Array} htmlList
188
- * List of HTML code to output to.
189
- */
190
- textInput : function( dialog, elementDefinition, htmlList )
191
- {
192
- if ( arguments.length < 3 )
193
- return;
194
-
195
- initPrivateObject.call( this, elementDefinition );
196
- var domId = this._.inputId = CKEDITOR.tools.getNextNumber() + '_textInput',
197
- attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId, type : 'text' },
198
- i;
199
-
200
- // Set the validator, if any.
201
- if ( elementDefinition.validate )
202
- this.validate = elementDefinition.validate;
203
-
204
- // Set the max length and size.
205
- if ( elementDefinition.maxLength )
206
- attributes.maxlength = elementDefinition.maxLength;
207
- if ( elementDefinition.size )
208
- attributes.size = elementDefinition.size;
209
-
210
- // If user presses Enter in a text box, it implies clicking OK for the dialog.
211
- var me = this, keyPressedOnMe = false;
212
- dialog.on( 'load', function()
213
- {
214
- me.getInputElement().on( 'keydown', function( evt )
215
- {
216
- if ( evt.data.getKeystroke() == 13 )
217
- keyPressedOnMe = true;
218
- } );
219
-
220
- // Lower the priority this 'keyup' since 'ok' will close the dialog.(#3749)
221
- me.getInputElement().on( 'keyup', function( evt )
222
- {
223
- if ( evt.data.getKeystroke() == 13 && keyPressedOnMe )
224
- {
225
- dialog.getButton( 'ok' ) && dialog.getButton( 'ok' ).click();
226
- keyPressedOnMe = false;
227
- }
228
- }, null, null, 1000 );
229
- } );
230
-
231
- /** @ignore */
232
- var innerHTML = function()
233
- {
234
- // IE BUG: Text input fields in IE at 100% would exceed a <td> or inline
235
- // container's width, so need to wrap it inside a <div>.
236
- var html = [ '<div class="cke_dialog_ui_input_', elementDefinition.type, '"' ];
237
-
238
- if ( elementDefinition.width )
239
- html.push( 'style="width:'+ elementDefinition.width +'" ' );
240
-
241
- html.push( '><input ' );
242
- for ( var i in attributes )
243
- html.push( i + '="' + attributes[i] + '" ' );
244
- html.push( ' /></div>' );
245
- return html.join( '' );
246
- };
247
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
248
- },
249
-
250
- /**
251
- * A text area with a label on the top or left.
252
- * @constructor
253
- * @extends CKEDITOR.ui.dialog.labeledElement
254
- * @example
255
- * @param {CKEDITOR.dialog} dialog
256
- * Parent dialog object.
257
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
258
- * The element definition. Accepted fields:
259
- * <ul>
260
- * <li><strong>rows</strong> (Optional) The number of rows displayed.
261
- * Defaults to 5 if not defined.</li>
262
- * <li><strong>cols</strong> (Optional) The number of cols displayed.
263
- * Defaults to 20 if not defined. Usually overridden by skins.</li>
264
- * <li><strong>default</strong> (Optional) The default value.</li>
265
- * <li><strong>validate</strong> (Optional) The validation function. </li>
266
- * </ul>
267
- * @param {Array} htmlList
268
- * List of HTML code to output to.
269
- */
270
- textarea : function( dialog, elementDefinition, htmlList )
271
- {
272
- if ( arguments.length < 3 )
273
- return;
274
-
275
- initPrivateObject.call( this, elementDefinition );
276
- var me = this,
277
- domId = this._.inputId = CKEDITOR.tools.getNextNumber() + '_textarea',
278
- attributes = {};
279
-
280
- if ( elementDefinition.validate )
281
- this.validate = elementDefinition.validate;
282
-
283
- // Generates the essential attributes for the textarea tag.
284
- attributes.rows = elementDefinition.rows || 5;
285
- attributes.cols = elementDefinition.cols || 20;
286
-
287
- /** @ignore */
288
- var innerHTML = function()
289
- {
290
- var html = [ '<div class="cke_dialog_ui_input_textarea"><textarea class="cke_dialog_ui_input_textarea" id="', domId, '" ' ];
291
- for ( var i in attributes )
292
- html.push( i + '="' + CKEDITOR.tools.htmlEncode( attributes[i] ) + '" ' );
293
- html.push( '>', CKEDITOR.tools.htmlEncode( me._['default'] ), '</textarea></div>' );
294
- return html.join( '' );
295
- };
296
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
297
- },
298
-
299
- /**
300
- * A single checkbox with a label on the right.
301
- * @constructor
302
- * @extends CKEDITOR.ui.dialog.uiElement
303
- * @example
304
- * @param {CKEDITOR.dialog} dialog
305
- * Parent dialog object.
306
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
307
- * The element definition. Accepted fields:
308
- * <ul>
309
- * <li><strong>checked</strong> (Optional) Whether the checkbox is checked
310
- * on instantiation. Defaults to false.</li>
311
- * <li><strong>validate</strong> (Optional) The validation function.</li>
312
- * <li><strong>label</strong> (Optional) The checkbox label.</li>
313
- * </ul>
314
- * @param {Array} htmlList
315
- * List of HTML code to output to.
316
- */
317
- checkbox : function( dialog, elementDefinition, htmlList )
318
- {
319
- if ( arguments.length < 3 )
320
- return;
321
-
322
- var _ = initPrivateObject.call( this, elementDefinition, { 'default' : !!elementDefinition[ 'default' ] } );
323
-
324
- if ( elementDefinition.validate )
325
- this.validate = elementDefinition.validate;
326
-
327
- /** @ignore */
328
- var innerHTML = function()
329
- {
330
- var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
331
- {
332
- id : elementDefinition.id ? elementDefinition.id + '_checkbox' : CKEDITOR.tools.getNextNumber() + '_checkbox'
333
- }, true ),
334
- html = [],
335
- attributes = { 'class' : 'cke_dialog_ui_checkbox_input', type : 'checkbox' };
336
- cleanInnerDefinition( myDefinition );
337
- if ( elementDefinition[ 'default' ] )
338
- attributes.checked = 'checked';
339
- _.checkbox = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'input', null, attributes );
340
- html.push( ' <label for="', attributes.id, '">',
341
- CKEDITOR.tools.htmlEncode( elementDefinition.label ),
342
- '</label>' );
343
- return html.join( '' );
344
- };
345
-
346
- CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'span', null, null, innerHTML );
347
- },
348
-
349
- /**
350
- * A group of radio buttons.
351
- * @constructor
352
- * @example
353
- * @extends CKEDITOR.ui.dialog.labeledElement
354
- * @param {CKEDITOR.dialog} dialog
355
- * Parent dialog object.
356
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
357
- * The element definition. Accepted fields:
358
- * <ul>
359
- * <li><strong>default</strong> (Required) The default value.</li>
360
- * <li><strong>validate</strong> (Optional) The validation function.</li>
361
- * <li><strong>items</strong> (Required) An array of options. Each option
362
- * is a 1- or 2-item array of format [ 'Description', 'Value' ]. If 'Value'
363
- * is missing, then the value would be assumed to be the same as the
364
- * description.</li>
365
- * </ul>
366
- * @param {Array} htmlList
367
- * List of HTML code to output to.
368
- */
369
- radio : function( dialog, elementDefinition, htmlList )
370
- {
371
- if ( arguments.length < 3)
372
- return;
373
-
374
- initPrivateObject.call( this, elementDefinition );
375
- if ( !this._['default'] )
376
- this._['default'] = this._.initValue = elementDefinition.items[0][1];
377
- if ( elementDefinition.validate )
378
- this.validate = elementDefinition.valdiate;
379
- var children = [], me = this;
380
-
381
- /** @ignore */
382
- var innerHTML = function()
383
- {
384
- var inputHtmlList = [], html = [],
385
- commonAttributes = { 'class' : 'cke_dialog_ui_radio_item' },
386
- commonName = elementDefinition.id ? elementDefinition.id + '_radio' : CKEDITOR.tools.getNextNumber() + '_radio';
387
- for ( var i = 0 ; i < elementDefinition.items.length ; i++ )
388
- {
389
- var item = elementDefinition.items[i],
390
- title = item[2] !== undefined ? item[2] : item[0],
391
- value = item[1] !== undefined ? item[1] : item[0],
392
- inputDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
393
- {
394
- id : CKEDITOR.tools.getNextNumber() + '_radio_input',
395
- title : null,
396
- type : null
397
- }, true ),
398
- labelDefinition = CKEDITOR.tools.extend( {}, inputDefinition,
399
- {
400
- id : null,
401
- title : title
402
- }, true ),
403
- inputAttributes =
404
- {
405
- type : 'radio',
406
- 'class' : 'cke_dialog_ui_radio_input',
407
- name : commonName,
408
- value : value
409
- },
410
- inputHtml = [];
411
- if ( me._['default'] == value )
412
- inputAttributes.checked = 'checked';
413
- cleanInnerDefinition( inputDefinition );
414
- cleanInnerDefinition( labelDefinition );
415
- children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) );
416
- inputHtml.push( ' ' );
417
- new CKEDITOR.ui.dialog.uiElement( dialog, labelDefinition, inputHtml, 'label', null, { 'for' : inputAttributes.id },
418
- item[0] );
419
- inputHtmlList.push( inputHtml.join( '' ) );
420
- }
421
- new CKEDITOR.ui.dialog.hbox( dialog, [], inputHtmlList, html );
422
- return html.join( '' );
423
- };
424
-
425
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
426
- this._.children = children;
427
- },
428
-
429
- /**
430
- * A button with a label inside.
431
- * @constructor
432
- * @example
433
- * @extends CKEDITOR.ui.dialog.uiElement
434
- * @param {CKEDITOR.dialog} dialog
435
- * Parent dialog object.
436
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
437
- * The element definition. Accepted fields:
438
- * <ul>
439
- * <li><strong>label</strong> (Required) The button label.</li>
440
- * <li><strong>disabled</strong> (Optional) Set to true if you want the
441
- * button to appear in disabled state.</li>
442
- * </ul>
443
- * @param {Array} htmlList
444
- * List of HTML code to output to.
445
- */
446
- button : function( dialog, elementDefinition, htmlList )
447
- {
448
- if ( !arguments.length )
449
- return;
450
-
451
- if ( typeof elementDefinition == 'function' )
452
- elementDefinition = elementDefinition( dialog.getParentEditor() );
453
-
454
- initPrivateObject.call( this, elementDefinition, { disabled : elementDefinition.disabled || false } );
455
-
456
- // Add OnClick event to this input.
457
- CKEDITOR.event.implementOn( this );
458
-
459
- var me = this;
460
-
461
- // Register an event handler for processing button clicks.
462
- dialog.on( 'load', function( eventInfo )
463
- {
464
- var element = this.getElement();
465
-
466
- (function()
467
- {
468
- element.on( 'click', function( evt )
469
- {
470
- me.fire( 'click', { dialog : me.getDialog() } );
471
- evt.data.preventDefault();
472
- } );
473
- })();
474
-
475
- element.unselectable();
476
- }, this );
477
-
478
- var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
479
- delete outerDefinition.style;
480
-
481
- CKEDITOR.ui.dialog.uiElement.call(
482
- this,
483
- dialog,
484
- outerDefinition,
485
- htmlList,
486
- 'a',
487
- null,
488
- {
489
- style : elementDefinition.style,
490
- href : 'javascript:void(0)',
491
- title : elementDefinition.label,
492
- hidefocus : 'true',
493
- 'class' : elementDefinition['class']
494
- },
495
- '<span class="cke_dialog_ui_button">' +
496
- CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
497
- '</span>' );
498
- },
499
-
500
- /**
501
- * A select box.
502
- * @extends CKEDITOR.ui.dialog.uiElement
503
- * @example
504
- * @constructor
505
- * @param {CKEDITOR.dialog} dialog
506
- * Parent dialog object.
507
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
508
- * The element definition. Accepted fields:
509
- * <ul>
510
- * <li><strong>default</strong> (Required) The default value.</li>
511
- * <li><strong>validate</strong> (Optional) The validation function.</li>
512
- * <li><strong>items</strong> (Required) An array of options. Each option
513
- * is a 1- or 2-item array of format [ 'Description', 'Value' ]. If 'Value'
514
- * is missing, then the value would be assumed to be the same as the
515
- * description.</li>
516
- * <li><strong>multiple</strong> (Optional) Set this to true if you'd like
517
- * to have a multiple-choice select box.</li>
518
- * <li><strong>size</strong> (Optional) The number of items to display in
519
- * the select box.</li>
520
- * </ul>
521
- * @param {Array} htmlList
522
- * List of HTML code to output to.
523
- */
524
- select : function( dialog, elementDefinition, htmlList )
525
- {
526
- if ( arguments.length < 3 )
527
- return;
528
-
529
- var _ = initPrivateObject.call( this, elementDefinition );
530
-
531
- if ( elementDefinition.validate )
532
- this.validate = elementDefinition.validate;
533
-
534
- /** @ignore */
535
- var innerHTML = function()
536
- {
537
- var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
538
- {
539
- id : elementDefinition.id ? elementDefinition.id + '_select' : CKEDITOR.tools.getNextNumber() + '_select'
540
- }, true ),
541
- html = [],
542
- innerHTML = [],
543
- attributes = { 'class' : 'cke_dialog_ui_input_select' };
544
-
545
- // Add multiple and size attributes from element definition.
546
- if ( elementDefinition.size != undefined )
547
- attributes.size = elementDefinition.size;
548
- if ( elementDefinition.multiple != undefined )
549
- attributes.multiple = elementDefinition.multiple;
550
-
551
- cleanInnerDefinition( myDefinition );
552
- for ( var i = 0, item ; i < elementDefinition.items.length && ( item = elementDefinition.items[i] ) ; i++ )
553
- {
554
- innerHTML.push( '<option value="',
555
- CKEDITOR.tools.htmlEncode( item[1] !== undefined ? item[1] : item[0] ), '" /> ',
556
- CKEDITOR.tools.htmlEncode( item[0] ) );
557
- }
558
-
559
- _.select = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'select', null, attributes, innerHTML.join( '' ) );
560
- return html.join( '' );
561
- };
562
-
563
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
564
- },
565
-
566
- /**
567
- * A file upload input.
568
- * @extends CKEDITOR.ui.dialog.labeledElement
569
- * @example
570
- * @constructor
571
- * @param {CKEDITOR.dialog} dialog
572
- * Parent dialog object.
573
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
574
- * The element definition. Accepted fields:
575
- * <ul>
576
- * <li><strong>validate</strong> (Optional) The validation function.</li>
577
- * </ul>
578
- * @param {Array} htmlList
579
- * List of HTML code to output to.
580
- */
581
- file : function( dialog, elementDefinition, htmlList )
582
- {
583
- if ( arguments.length < 3 )
584
- return;
585
-
586
- if ( elementDefinition['default'] === undefined )
587
- elementDefinition['default'] = '';
588
-
589
- var _ = CKEDITOR.tools.extend( initPrivateObject.call( this, elementDefinition ), { definition : elementDefinition, buttons : [] } );
590
-
591
- if ( elementDefinition.validate )
592
- this.validate = elementDefinition.validate;
593
-
594
- /** @ignore */
595
- var innerHTML = function()
596
- {
597
- _.frameId = CKEDITOR.tools.getNextNumber() + '_fileInput';
598
-
599
- // Support for custom document.domain in IE.
600
- var isCustomDomain = CKEDITOR.env.ie && document.domain != window.location.hostname;
601
-
602
- var html = [
603
- '<iframe' +
604
- ' frameborder="0"' +
605
- ' allowtransparency="0"' +
606
- ' class="cke_dialog_ui_input_file"' +
607
- ' id="', _.frameId, '"' +
608
- ' title="', elementDefinition.label, '"' +
609
- ' src="javascript:void(' ];
610
-
611
- html.push(
612
- isCustomDomain ?
613
- '(function(){' +
614
- 'document.open();' +
615
- 'document.domain=\'' + document.domain + '\';' +
616
- 'document.close();' +
617
- '})()'
618
- :
619
- '0' );
620
-
621
- html.push(
622
- ')">' +
623
- '</iframe>' );
624
-
625
- return html.join( '' );
626
- };
627
-
628
- // IE BUG: Parent container does not resize to contain the iframe automatically.
629
- dialog.on( 'load', function()
630
- {
631
- var iframe = CKEDITOR.document.getById( _.frameId ),
632
- contentDiv = iframe.getParent();
633
- contentDiv.addClass( 'cke_dialog_ui_input_file' );
634
- } );
635
-
636
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
637
- },
638
-
639
- /**
640
- * A button for submitting the file in a file upload input.
641
- * @extends CKEDITOR.ui.dialog.button
642
- * @example
643
- * @constructor
644
- * @param {CKEDITOR.dialog} dialog
645
- * Parent dialog object.
646
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
647
- * The element definition. Accepted fields:
648
- * <ul>
649
- * <li><strong>for</strong> (Required) The file input's page and element Id
650
- * to associate to, in a 2-item array format: [ 'page_id', 'element_id' ].
651
- * </li>
652
- * <li><strong>validate</strong> (Optional) The validation function.</li>
653
- * </ul>
654
- * @param {Array} htmlList
655
- * List of HTML code to output to.
656
- */
657
- fileButton : function( dialog, elementDefinition, htmlList )
658
- {
659
- if ( arguments.length < 3 )
660
- return;
661
-
662
- var _ = initPrivateObject.call( this, elementDefinition ),
663
- me = this;
664
-
665
- if ( elementDefinition.validate )
666
- this.validate = elementDefinition.validate;
667
-
668
- var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
669
- var onClick = myDefinition.onClick;
670
- myDefinition.className = ( myDefinition.className ? myDefinition.className + ' ' : '' ) + 'cke_dialog_ui_button';
671
- myDefinition.onClick = function( evt )
672
- {
673
- var target = elementDefinition[ 'for' ]; // [ pageId, elementId ]
674
- if ( !onClick || onClick.call( this, evt ) !== false )
675
- {
676
- dialog.getContentElement( target[0], target[1] ).submit();
677
- this.disable();
678
- }
679
- };
680
-
681
- dialog.on( 'load', function()
682
- {
683
- dialog.getContentElement( elementDefinition[ 'for' ][0], elementDefinition[ 'for' ][1] )._.buttons.push( me );
684
- } );
685
-
686
- CKEDITOR.ui.dialog.button.call( this, dialog, myDefinition, htmlList );
687
- },
688
-
689
- html : (function()
690
- {
691
- var myHtmlRe = /^\s*<[\w:]+\s+([^>]*)?>/,
692
- theirHtmlRe = /^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,
693
- emptyTagRe = /\/$/;
694
- /**
695
- * A dialog element made from raw HTML code.
696
- * @extends CKEDITOR.ui.dialog.uiElement
697
- * @name CKEDITOR.ui.dialog.html
698
- * @param {CKEDITOR.dialog} dialog Parent dialog object.
699
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition Element definition.
700
- * Accepted fields:
701
- * <ul>
702
- * <li><strong>html</strong> (Required) HTML code of this element.</li>
703
- * </ul>
704
- * @param {Array} htmlList List of HTML code to be added to the dialog's content area.
705
- * @example
706
- * @constructor
707
- */
708
- return function( dialog, elementDefinition, htmlList )
709
- {
710
- if ( arguments.length < 3 )
711
- return;
712
-
713
- var myHtmlList = [],
714
- myHtml,
715
- theirHtml = elementDefinition.html,
716
- myMatch, theirMatch;
717
-
718
- // If the HTML input doesn't contain any tags at the beginning, add a <span> tag around it.
719
- if ( theirHtml.charAt( 0 ) != '<' )
720
- theirHtml = '<span>' + theirHtml + '</span>';
721
-
722
- // Look for focus function in definition.
723
- if ( elementDefinition.focus )
724
- {
725
- var oldFocus = this.focus;
726
- this.focus = function()
727
- {
728
- oldFocus.call( this );
729
- elementDefinition.focus.call( this );
730
- this.fire( 'focus' );
731
- };
732
- if ( elementDefinition.isFocusable )
733
- {
734
- var oldIsFocusable = this.isFocusable;
735
- this.isFocusable = oldIsFocusable;
736
- }
737
- this.keyboardFocusable = true;
738
- }
739
-
740
- CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, myHtmlList, 'span', null, null, '' );
741
-
742
- // Append the attributes created by the uiElement call to the real HTML.
743
- myHtml = myHtmlList.join( '' );
744
- myMatch = myHtml.match( myHtmlRe );
745
- theirMatch = theirHtml.match( theirHtmlRe ) || [ '', '', '' ];
746
-
747
- if ( emptyTagRe.test( theirMatch[1] ) )
748
- {
749
- theirMatch[1] = theirMatch[1].slice( 0, -1 );
750
- theirMatch[2] = '/' + theirMatch[2];
751
- }
752
-
753
- htmlList.push( [ theirMatch[1], ' ', myMatch[1] || '', theirMatch[2] ].join( '' ) );
754
- };
755
- })()
756
- }, true );
757
-
758
- CKEDITOR.ui.dialog.html.prototype = new CKEDITOR.ui.dialog.uiElement;
759
-
760
- CKEDITOR.ui.dialog.labeledElement.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
761
- /** @lends CKEDITOR.ui.dialog.labeledElement.prototype */
762
- {
763
- /**
764
- * Sets the label text of the element.
765
- * @param {String} label The new label text.
766
- * @returns {CKEDITOR.ui.dialog.labeledElement} The current labeled element.
767
- * @example
768
- */
769
- setLabel : function( label )
770
- {
771
- var node = CKEDITOR.document.getById( this._.labelId );
772
- if ( node.getChildCount() < 1 )
773
- ( new CKEDITOR.dom.text( label, CKEDITOR.document ) ).appendTo( node );
774
- else
775
- node.getChild( 0 ).$.nodeValue = label;
776
- return this;
777
- },
778
-
779
- /**
780
- * Retrieves the current label text of the elment.
781
- * @returns {String} The current label text.
782
- * @example
783
- */
784
- getLabel : function()
785
- {
786
- var node = CKEDITOR.document.getById( this._.labelId );
787
- if ( !node || node.getChildCount() < 1 )
788
- return '';
789
- else
790
- return node.getChild( 0 ).getText();
791
- },
792
-
793
- /**
794
- * Defines the onChange event for UI element definitions.
795
- * @field
796
- * @type Object
797
- * @example
798
- */
799
- eventProcessors : commonEventProcessors
800
- }, true );
801
-
802
- CKEDITOR.ui.dialog.button.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
803
- /** @lends CKEDITOR.ui.dialog.button.prototype */
804
- {
805
- /**
806
- * Simulates a click to the button.
807
- * @example
808
- * @returns {Object} Return value of the 'click' event.
809
- */
810
- click : function()
811
- {
812
- if ( !this._.disabled )
813
- return this.fire( 'click', { dialog : this._.dialog } );
814
- this.getElement().$.blur();
815
- return false;
816
- },
817
-
818
- /**
819
- * Enables the button.
820
- * @example
821
- */
822
- enable : function()
823
- {
824
- this._.disabled = false;
825
- var element = this.getElement();
826
- element && element.removeClass( 'disabled' );
827
- },
828
-
829
- /**
830
- * Disables the button.
831
- * @example
832
- */
833
- disable : function()
834
- {
835
- this._.disabled = true;
836
- this.getElement().addClass( 'disabled' );
837
- },
838
-
839
- isVisible : function()
840
- {
841
- return !!this.getElement().$.firstChild.offsetHeight;
842
- },
843
-
844
- isEnabled : function()
845
- {
846
- return !this._.disabled;
847
- },
848
-
849
- /**
850
- * Defines the onChange event and onClick for button element definitions.
851
- * @field
852
- * @type Object
853
- * @example
854
- */
855
- eventProcessors : CKEDITOR.tools.extend( {}, CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,
856
- {
857
- /** @ignore */
858
- onClick : function( dialog, func )
859
- {
860
- this.on( 'click', func );
861
- }
862
- }, true ),
863
-
864
- /**
865
- * Handler for the element's access key up event. Simulates a click to
866
- * the button.
867
- * @example
868
- */
869
- accessKeyUp : function()
870
- {
871
- this.click();
872
- },
873
-
874
- /**
875
- * Handler for the element's access key down event. Simulates a mouse
876
- * down to the button.
877
- * @example
878
- */
879
- accessKeyDown : function()
880
- {
881
- this.focus();
882
- },
883
-
884
- keyboardFocusable : true
885
- }, true );
886
-
887
- CKEDITOR.ui.dialog.textInput.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement,
888
- /** @lends CKEDITOR.ui.dialog.textInput.prototype */
889
- {
890
- /**
891
- * Gets the text input DOM element under this UI object.
892
- * @example
893
- * @returns {CKEDITOR.dom.element} The DOM element of the text input.
894
- */
895
- getInputElement : function()
896
- {
897
- return CKEDITOR.document.getById( this._.inputId );
898
- },
899
-
900
- /**
901
- * Puts focus into the text input.
902
- * @example
903
- */
904
- focus : function()
905
- {
906
- var me = this.selectParentTab();
907
-
908
- // GECKO BUG: setTimeout() is needed to workaround invisible selections.
909
- setTimeout( function()
910
- {
911
- var element = me.getInputElement();
912
- element && element.$.focus();
913
- }, 0 );
914
- },
915
-
916
- /**
917
- * Selects all the text in the text input.
918
- * @example
919
- */
920
- select : function()
921
- {
922
- var me = this.selectParentTab();
923
-
924
- // GECKO BUG: setTimeout() is needed to workaround invisible selections.
925
- setTimeout( function()
926
- {
927
- var e = me.getInputElement();
928
- if ( e )
929
- {
930
- e.$.focus();
931
- e.$.select();
932
- }
933
- }, 0 );
934
- },
935
-
936
- /**
937
- * Handler for the text input's access key up event. Makes a select()
938
- * call to the text input.
939
- * @example
940
- */
941
- accessKeyUp : function()
942
- {
943
- this.select();
944
- },
945
-
946
- /**
947
- * Sets the value of this text input object.
948
- * @param {Object} value The new value.
949
- * @returns {CKEDITOR.ui.dialog.textInput} The current UI element.
950
- * @example
951
- * uiElement.setValue( 'Blamo' );
952
- */
953
- setValue : function( value )
954
- {
955
- value = value || '';
956
- return CKEDITOR.ui.dialog.uiElement.prototype.setValue.call( this, value );
957
- },
958
-
959
- keyboardFocusable : true
960
- }, commonPrototype, true );
961
-
962
- CKEDITOR.ui.dialog.textarea.prototype = new CKEDITOR.ui.dialog.textInput();
963
-
964
- CKEDITOR.ui.dialog.select.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement,
965
- /** @lends CKEDITOR.ui.dialog.select.prototype */
966
- {
967
- /**
968
- * Gets the DOM element of the select box.
969
- * @returns {CKEDITOR.dom.element} The &lt;select&gt; element of this UI
970
- * element.
971
- * @example
972
- */
973
- getInputElement : function()
974
- {
975
- return this._.select.getElement();
976
- },
977
-
978
- /**
979
- * Adds an option to the select box.
980
- * @param {String} label Option label.
981
- * @param {String} value (Optional) Option value, if not defined it'll be
982
- * assumed to be the same as the label.
983
- * @param {Number} index (Optional) Position of the option to be inserted
984
- * to. If not defined the new option will be inserted to the end of list.
985
- * @example
986
- * @returns {CKEDITOR.ui.dialog.select} The current select UI element.
987
- */
988
- add : function( label, value, index )
989
- {
990
- var option = new CKEDITOR.dom.element( 'option', this.getDialog().getParentEditor().document ),
991
- selectElement = this.getInputElement().$;
992
- option.$.text = label;
993
- option.$.value = ( value === undefined || value === null ) ? label : value;
994
- if ( index === undefined || index === null )
995
- {
996
- if ( CKEDITOR.env.ie )
997
- selectElement.add( option.$ );
998
- else
999
- selectElement.add( option.$, null );
1000
- }
1001
- else
1002
- selectElement.add( option.$, index );
1003
- return this;
1004
- },
1005
-
1006
- /**
1007
- * Removes an option from the selection list.
1008
- * @param {Number} index Index of the option to be removed.
1009
- * @example
1010
- * @returns {CKEDITOR.ui.dialog.select} The current select UI element.
1011
- */
1012
- remove : function( index )
1013
- {
1014
- var selectElement = this.getInputElement().$;
1015
- selectElement.remove( index );
1016
- return this;
1017
- },
1018
-
1019
- /**
1020
- * Clears all options out of the selection list.
1021
- * @returns {CKEDITOR.ui.dialog.select} The current select UI element.
1022
- */
1023
- clear : function()
1024
- {
1025
- var selectElement = this.getInputElement().$;
1026
- while ( selectElement.length > 0 )
1027
- selectElement.remove( 0 );
1028
- return this;
1029
- },
1030
-
1031
- keyboardFocusable : true
1032
- }, commonPrototype, true );
1033
-
1034
- CKEDITOR.ui.dialog.checkbox.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
1035
- /** @lends CKEDITOR.ui.dialog.checkbox.prototype */
1036
- {
1037
- /**
1038
- * Gets the checkbox DOM element.
1039
- * @example
1040
- * @returns {CKEDITOR.dom.element} The DOM element of the checkbox.
1041
- */
1042
- getInputElement : function()
1043
- {
1044
- return this._.checkbox.getElement();
1045
- },
1046
-
1047
- /**
1048
- * Sets the state of the checkbox.
1049
- * @example
1050
- * @param {Boolean} true to tick the checkbox, false to untick it.
1051
- */
1052
- setValue : function( checked )
1053
- {
1054
- this.getInputElement().$.checked = checked;
1055
- this.fire( 'change', { value : checked } );
1056
- },
1057
-
1058
- /**
1059
- * Gets the state of the checkbox.
1060
- * @example
1061
- * @returns {Boolean} true means the checkbox is ticked, false means it's not ticked.
1062
- */
1063
- getValue : function()
1064
- {
1065
- return this.getInputElement().$.checked;
1066
- },
1067
-
1068
- /**
1069
- * Handler for the access key up event. Toggles the checkbox.
1070
- * @example
1071
- */
1072
- accessKeyUp : function()
1073
- {
1074
- this.setValue( !this.getValue() );
1075
- },
1076
-
1077
- /**
1078
- * Defines the onChange event for UI element definitions.
1079
- * @field
1080
- * @type Object
1081
- * @example
1082
- */
1083
- eventProcessors :
1084
- {
1085
- onChange : function( dialog, func )
1086
- {
1087
- if ( !CKEDITOR.env.ie )
1088
- return commonEventProcessors.onChange.apply( this, arguments );
1089
- else
1090
- {
1091
- dialog.on( 'load', function()
1092
- {
1093
- var element = this._.checkbox.getElement();
1094
- element.on( 'propertychange', function( evt )
1095
- {
1096
- evt = evt.data.$;
1097
- if ( evt.propertyName == 'checked' )
1098
- this.fire( 'change', { value : element.$.checked } );
1099
- }, this );
1100
- }, this );
1101
- this.on( 'change', func );
1102
- }
1103
- return null;
1104
- }
1105
- },
1106
-
1107
- keyboardFocusable : true
1108
- }, commonPrototype, true );
1109
-
1110
- CKEDITOR.ui.dialog.radio.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
1111
- /** @lends CKEDITOR.ui.dialog.radio.prototype */
1112
- {
1113
- /**
1114
- * Checks one of the radio buttons in this button group.
1115
- * @example
1116
- * @param {String} value The value of the button to be chcked.
1117
- */
1118
- setValue : function( value )
1119
- {
1120
- var children = this._.children,
1121
- item;
1122
- for ( var i = 0 ; ( i < children.length ) && ( item = children[i] ) ; i++ )
1123
- item.getElement().$.checked = ( item.getValue() == value );
1124
- this.fire( 'change', { value : value } );
1125
- },
1126
-
1127
- /**
1128
- * Gets the value of the currently checked radio button.
1129
- * @example
1130
- * @returns {String} The currently checked button's value.
1131
- */
1132
- getValue : function()
1133
- {
1134
- var children = this._.children;
1135
- for ( var i = 0 ; i < children.length ; i++ )
1136
- {
1137
- if ( children[i].getElement().$.checked )
1138
- return children[i].getValue();
1139
- }
1140
- return null;
1141
- },
1142
-
1143
- /**
1144
- * Handler for the access key up event. Focuses the currently
1145
- * selected radio button, or the first radio button if none is
1146
- * selected.
1147
- * @example
1148
- */
1149
- accessKeyUp : function()
1150
- {
1151
- var children = this._.children, i;
1152
- for ( i = 0 ; i < children.length ; i++ )
1153
- {
1154
- if ( children[i].getElement().$.checked )
1155
- {
1156
- children[i].getElement().focus();
1157
- return;
1158
- }
1159
- }
1160
- children[0].getElement().focus();
1161
- },
1162
-
1163
- /**
1164
- * Defines the onChange event for UI element definitions.
1165
- * @field
1166
- * @type Object
1167
- * @example
1168
- */
1169
- eventProcessors :
1170
- {
1171
- onChange : function( dialog, func )
1172
- {
1173
- if ( !CKEDITOR.env.ie )
1174
- return commonEventProcessors.onChange.apply( this, arguments );
1175
- else
1176
- {
1177
- dialog.on( 'load', function()
1178
- {
1179
- var children = this._.children, me = this;
1180
- for ( var i = 0 ; i < children.length ; i++ )
1181
- {
1182
- var element = children[i].getElement();
1183
- element.on( 'propertychange', function( evt )
1184
- {
1185
- evt = evt.data.$;
1186
- if ( evt.propertyName == 'checked' && this.$.checked )
1187
- me.fire( 'change', { value : this.getAttribute( 'value' ) } );
1188
- } );
1189
- }
1190
- }, this );
1191
- this.on( 'change', func );
1192
- }
1193
- return null;
1194
- }
1195
- },
1196
-
1197
- keyboardFocusable : true
1198
- }, commonPrototype, true );
1199
-
1200
- CKEDITOR.ui.dialog.file.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement,
1201
- commonPrototype,
1202
- /** @lends CKEDITOR.ui.dialog.file.prototype */
1203
- {
1204
- /**
1205
- * Gets the &lt;input&gt; element of this file input.
1206
- * @returns {CKEDITOR.dom.element} The file input element.
1207
- * @example
1208
- */
1209
- getInputElement : function()
1210
- {
1211
- var frameDocument = CKEDITOR.document.getById( this._.frameId ).getFrameDocument();
1212
- return frameDocument.$.forms.length > 0 ?
1213
- new CKEDITOR.dom.element( frameDocument.$.forms[0].elements[0] ) :
1214
- this.getElement();
1215
- },
1216
-
1217
- /**
1218
- * Uploads the file in the file input.
1219
- * @returns {CKEDITOR.ui.dialog.file} This object.
1220
- * @example
1221
- */
1222
- submit : function()
1223
- {
1224
- this.getInputElement().getParent().$.submit();
1225
- return this;
1226
- },
1227
-
1228
- /**
1229
- * Get the action assigned to the form.
1230
- * @returns {String} The value of the action.
1231
- * @example
1232
- */
1233
- getAction : function( action )
1234
- {
1235
- return this.getInputElement().getParent().$.action;
1236
- },
1237
-
1238
- /**
1239
- * Redraws the file input and resets the file path in the file input.
1240
- * The redraw logic is necessary because non-IE browsers tend to clear
1241
- * the &lt;iframe&gt; containing the file input after closing the dialog.
1242
- * @example
1243
- */
1244
- reset : function()
1245
- {
1246
- var frameElement = CKEDITOR.document.getById( this._.frameId ),
1247
- frameDocument = frameElement.getFrameDocument(),
1248
- elementDefinition = this._.definition,
1249
- buttons = this._.buttons;
1250
-
1251
- function generateFormField()
1252
- {
1253
- frameDocument.$.open();
1254
-
1255
- // Support for custom document.domain in IE.
1256
- if ( CKEDITOR.env.isCustomDomain() )
1257
- frameDocument.$.domain = document.domain;
1258
-
1259
- var size = '';
1260
- if ( elementDefinition.size )
1261
- size = elementDefinition.size - ( CKEDITOR.env.ie ? 7 : 0 ); // "Browse" button is bigger in IE.
1262
-
1263
- frameDocument.$.write( [ '<html><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">',
1264
- '<form enctype="multipart/form-data" method="POST" action="',
1265
- CKEDITOR.tools.htmlEncode( elementDefinition.action ),
1266
- '">',
1267
- '<input type="file" name="',
1268
- CKEDITOR.tools.htmlEncode( elementDefinition.id || 'cke_upload' ),
1269
- '" size="',
1270
- CKEDITOR.tools.htmlEncode( size > 0 ? size : "" ),
1271
- '" />',
1272
- '</form>',
1273
- '</body></html>' ].join( '' ) );
1274
-
1275
- frameDocument.$.close();
1276
-
1277
- for ( var i = 0 ; i < buttons.length ; i++ )
1278
- buttons[i].enable();
1279
- }
1280
-
1281
- // #3465: Wait for the browser to finish rendering the dialog first.
1282
- if ( CKEDITOR.env.gecko )
1283
- setTimeout( generateFormField, 500 );
1284
- else
1285
- generateFormField();
1286
- },
1287
-
1288
- getValue : function()
1289
- {
1290
- // The file path returned from the input tag is incomplete anyway, so it's
1291
- // safe to ignore it and prevent the confirmation dialog from appearing.
1292
- // (Part of #3465)
1293
- return '';
1294
- },
1295
-
1296
- /**
1297
- * Defines the onChange event for UI element definitions.
1298
- * @field
1299
- * @type Object
1300
- * @example
1301
- */
1302
- eventProcessors : commonEventProcessors,
1303
-
1304
- keyboardFocusable : true
1305
- }, true );
1306
-
1307
- CKEDITOR.ui.dialog.fileButton.prototype = new CKEDITOR.ui.dialog.button;
1308
-
1309
- CKEDITOR.dialog.addUIElement( 'text', textBuilder );
1310
- CKEDITOR.dialog.addUIElement( 'password', textBuilder );
1311
- CKEDITOR.dialog.addUIElement( 'textarea', commonBuilder );
1312
- CKEDITOR.dialog.addUIElement( 'checkbox', commonBuilder );
1313
- CKEDITOR.dialog.addUIElement( 'radio', commonBuilder );
1314
- CKEDITOR.dialog.addUIElement( 'button', commonBuilder );
1315
- CKEDITOR.dialog.addUIElement( 'select', commonBuilder );
1316
- CKEDITOR.dialog.addUIElement( 'file', commonBuilder );
1317
- CKEDITOR.dialog.addUIElement( 'fileButton', commonBuilder );
1318
- CKEDITOR.dialog.addUIElement( 'html', commonBuilder );
1319
- })();