browsercms 3.0.6 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/cms/application_controller.rb +2 -12
- data/app/controllers/cms/content_block_controller.rb +1 -1
- data/app/controllers/cms/content_controller.rb +3 -83
- data/app/controllers/cms/dashboard_controller.rb +1 -1
- data/app/controllers/cms/pages_controller.rb +2 -0
- data/app/controllers/tests/pretend_controller.rb +32 -0
- data/app/helpers/application_helper.rb +2 -0
- data/app/helpers/cms/application_helper.rb +0 -32
- data/app/helpers/cms/form_builder.rb +131 -54
- data/app/helpers/cms/menu_helper.rb +13 -2
- data/app/helpers/cms/page_helper.rb +26 -2
- data/app/helpers/cms/rendering_helper.rb +42 -0
- data/app/models/forgot_password_mailer.rb +12 -0
- data/app/models/guest_user.rb +11 -3
- data/app/models/page.rb +1 -1
- data/app/models/page_template.rb +1 -18
- data/app/models/portlet.rb +10 -1
- data/app/models/section.rb +41 -33
- data/app/models/task.rb +32 -26
- data/app/models/templates.rb +31 -0
- data/app/models/user.rb +27 -9
- data/app/portlets/forgot_password_portlet.rb +29 -0
- data/app/portlets/reset_password_portlet.rb +28 -0
- data/app/views/cms/blocks/_toolbar_for_member.html.erb +1 -1
- data/app/views/cms/blocks/edit.html.erb +5 -0
- data/app/views/cms/blocks/show.html.erb +3 -0
- data/app/views/cms/dynamic_views/index.html.erb +3 -2
- data/app/views/cms/forgot_password_mailer/reset_password.text.html.erb +3 -0
- data/app/views/cms/forgot_password_mailer/reset_password.text.plain.erb +3 -0
- data/app/views/cms/form_builder/_cms_check_box.html.erb +7 -0
- data/app/views/cms/form_builder/_cms_drop_down.html.erb +0 -7
- data/app/views/cms/form_builder/_cms_fancy_drop_down.html.erb +9 -0
- data/app/views/cms/form_builder/_cms_file_field.html.erb +11 -7
- data/app/views/cms/form_builder/_cms_instructions.html.erb +4 -0
- data/app/views/cms/form_builder/_cms_template_editor.html.erb +8 -0
- data/app/views/cms/groups/_permissions.html.erb +1 -1
- data/app/views/cms/page_routes/index.html.erb +2 -2
- data/app/views/cms/page_routes/show.html.erb +2 -2
- data/app/views/cms/redirects/index.html.erb +1 -1
- data/app/views/layouts/cms/_footer.erb +1 -1
- data/app/views/layouts/cms/_head.html.erb +1 -1
- data/app/views/layouts/cms/content_library.html.erb +7 -7
- data/app/views/layouts/cms/thickbox.html.erb +2 -2
- data/app/views/portlets/forgot_password/_form.html.erb +6 -0
- data/app/views/portlets/forgot_password/render.html.erb +14 -0
- data/app/views/portlets/reset_password/_form.html.erb +3 -0
- data/app/views/portlets/reset_password/render.html.erb +24 -0
- data/app/views/tests/pretend/open_with_layout.html.erb +5 -0
- data/bin/bcms +6 -0
- data/bin/browsercms +73 -0
- data/browsercms.gemspec +493 -379
- data/db/demo/page_templates/sub_page.html.erb +1 -1
- data/db/migrate/20081114172307_load_seed_data.rb +0 -29
- data/db/migrate/20091109175123_browsercms_3_0_5.rb +9 -0
- data/doc/app/classes/AbstractFileBlock.html +32 -6
- data/doc/app/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html +136 -85
- data/doc/app/classes/ActiveSupport/Cache/FileStore.html +6 -6
- data/doc/app/classes/ActsAsList.html +6 -6
- data/doc/app/classes/ActsAsList/ClassMethods.html +8 -8
- data/doc/app/classes/ActsAsList/InstanceMethods.html +143 -119
- data/doc/app/classes/ApplicationHelper.html +4 -0
- data/doc/app/classes/Attachment.html +134 -134
- data/doc/app/classes/Category.html +24 -24
- data/doc/app/classes/CategoryType.html +18 -18
- data/doc/app/classes/Cms.html +227 -94
- data/doc/app/classes/Cms/Acts.html +5 -0
- data/doc/app/classes/Cms/Acts/ContentBlock.html +6 -6
- data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html +6 -6
- data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods/InstanceMethods.html +6 -6
- data/doc/app/classes/Cms/Acts/ContentPage.html +187 -0
- data/doc/app/classes/Cms/Acts/ContentPage/ClassMethods.html +188 -0
- data/doc/app/classes/Cms/ApplicationController.html +69 -118
- data/doc/app/classes/Cms/ApplicationHelper.html +277 -393
- data/doc/app/classes/Cms/AttachmentsController.html +6 -6
- data/doc/app/classes/Cms/Authentication/Controller.html +226 -228
- data/doc/app/classes/Cms/Authentication/Model.html +6 -6
- data/doc/app/classes/Cms/Authentication/Model/ClassMethods.html +30 -30
- data/doc/app/classes/Cms/Authentication/Model/InstanceMethods.html +66 -66
- data/doc/app/classes/Cms/Behaviors/Archiving.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Archiving/InstanceMethods.html +24 -24
- data/doc/app/classes/Cms/Behaviors/Archiving/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Attaching.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Attaching/InstanceMethods.html +123 -123
- data/doc/app/classes/Cms/Behaviors/Attaching/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Categorizing.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Categorizing/InstanceMethods.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Categorizing/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/ClassMethods.html +60 -60
- data/doc/app/classes/Cms/Behaviors/Connecting.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Connecting/ClassMethods.html +18 -18
- data/doc/app/classes/Cms/Behaviors/Connecting/InstanceMethods.html +42 -42
- data/doc/app/classes/Cms/Behaviors/Connecting/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/DynamicAttributes.html +6 -6
- data/doc/app/classes/Cms/Behaviors/DynamicAttributes/InstanceMethods.html +14 -14
- data/doc/app/classes/Cms/Behaviors/DynamicAttributes/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange.html +12 -12
- data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/InstanceMethods.html +6 -6
- data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Hiding.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Hiding/InstanceMethods.html +24 -24
- data/doc/app/classes/Cms/Behaviors/Hiding/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/InstanceMethods.html +127 -74
- data/doc/app/classes/Cms/Behaviors/Pagination.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Pagination/ClassMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Pagination/Collection.html +55 -55
- data/doc/app/classes/Cms/Behaviors/Pagination/InvalidPage.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Publishing.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Publishing/InstanceMethods.html +119 -119
- data/doc/app/classes/Cms/Behaviors/Publishing/MacroMethods.html +25 -14
- data/doc/app/classes/Cms/Behaviors/Rendering.html +10 -13
- data/doc/app/classes/Cms/Behaviors/Rendering/MacroMethods.html +33 -33
- data/doc/app/classes/Cms/Behaviors/Searching.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Searching/ClassMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Searching/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/SoftDeleting.html +6 -6
- data/doc/app/classes/Cms/Behaviors/SoftDeleting/ClassMethods.html +24 -24
- data/doc/app/classes/Cms/Behaviors/SoftDeleting/InstanceMethods.html +30 -30
- data/doc/app/classes/Cms/Behaviors/SoftDeleting/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Taggable.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Taggable/ClassMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Taggable/InstanceMethods.html +34 -33
- data/doc/app/classes/Cms/Behaviors/Taggable/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Userstamping.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Userstamping/InstanceMethods.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Userstamping/MacroMethods.html +12 -12
- data/doc/app/classes/Cms/Behaviors/Versioning.html +6 -6
- data/doc/app/classes/Cms/Behaviors/Versioning/ClassMethods.html +30 -30
- data/doc/app/classes/Cms/Behaviors/Versioning/InstanceMethods.html +322 -294
- data/doc/app/classes/Cms/Behaviors/Versioning/MacroMethods.html +31 -31
- data/doc/app/classes/Cms/CacheController.html +12 -12
- data/doc/app/classes/Cms/Caching.html +12 -12
- data/doc/app/classes/Cms/CategoriesController.html +35 -0
- data/doc/app/classes/Cms/CategoryTypesController.html +6 -6
- data/doc/app/classes/Cms/ConnectorsController.html +19 -19
- data/doc/app/classes/Cms/ContentBlockController.html +486 -440
- data/doc/app/classes/Cms/ContentController.html +48 -121
- data/doc/app/classes/Cms/ContentRenderingSupport.html +222 -0
- data/doc/app/classes/Cms/ContentTypesController.html +6 -6
- data/doc/app/classes/Cms/DashboardController.html +12 -11
- data/doc/app/classes/Cms/DataLoader.html +12 -12
- data/doc/app/classes/Cms/DomainSupport.html +166 -0
- data/doc/app/classes/Cms/DynamicViewsController.html +54 -54
- data/doc/app/classes/Cms/EmailMessagesController.html +12 -12
- data/doc/app/classes/Cms/ErrorHandling.html +50 -23
- data/doc/app/classes/Cms/Errors/AccessDenied.html +10 -10
- data/doc/app/classes/Cms/Extensions/ActionView/Base.html +6 -6
- data/doc/app/classes/Cms/Extensions/ActiveRecord/Base.html +6 -6
- data/doc/app/classes/Cms/Extensions/ActiveRecord/Errors.html +6 -6
- data/doc/app/classes/Cms/Extensions/Hash.html +12 -12
- data/doc/app/classes/Cms/Extensions/Integer.html +6 -6
- data/doc/app/classes/Cms/Extensions/NilClass.html +24 -24
- data/doc/app/classes/Cms/Extensions/String.html +24 -24
- data/doc/app/classes/Cms/FormBuilder.html +258 -90
- data/doc/app/classes/Cms/FormTagHelper.html +30 -30
- data/doc/app/classes/Cms/GroupsController.html +24 -24
- data/doc/app/classes/Cms/HomeController.html +6 -6
- data/doc/app/classes/Cms/LinksController.html +64 -62
- data/doc/app/classes/Cms/MenuHelper.html +210 -165
- data/doc/app/classes/Cms/PageHelper.html +178 -91
- data/doc/app/classes/Cms/PageRouteOptionsController.html +54 -54
- data/doc/app/classes/Cms/PageRoutesController.html +36 -36
- data/doc/app/classes/Cms/PagesController.html +111 -109
- data/doc/app/classes/Cms/PathHelper.html +36 -36
- data/doc/app/classes/Cms/PortletController.html +6 -6
- data/doc/app/classes/Cms/PortletsController.html +43 -43
- data/doc/app/classes/Cms/RedirectsController.html +12 -12
- data/doc/app/classes/Cms/RenderingHelper.html +214 -0
- data/doc/app/classes/Cms/ResourceController.html +114 -114
- data/doc/app/classes/Cms/Routes.html +151 -143
- data/doc/app/classes/Cms/RoutesController.html +6 -6
- data/doc/app/classes/Cms/SectionNodesController.html +36 -36
- data/doc/app/classes/Cms/SectionNodesHelper.html +6 -6
- data/doc/app/classes/Cms/SectionsController.html +212 -188
- data/doc/app/classes/Cms/SessionsController.html +68 -39
- data/doc/app/classes/Cms/TagsController.html +30 -6
- data/doc/app/classes/Cms/TasksController.html +18 -18
- data/doc/app/classes/Cms/TemplateSupport.html +185 -0
- data/doc/app/classes/Cms/ToolbarController.html +6 -6
- data/doc/app/classes/Cms/UsersController.html +129 -153
- data/doc/app/classes/CommandLine.html +226 -0
- data/doc/app/classes/Connector.html +75 -71
- data/doc/app/classes/ContentType.html +72 -72
- data/doc/app/classes/DynamicPortlet.html +6 -6
- data/doc/app/classes/DynamicView.html +130 -133
- data/doc/app/classes/EmailMessage.html +24 -24
- data/doc/app/classes/EmailMessageMailer.html +6 -6
- data/doc/app/classes/EmailPagePortlet.html +12 -12
- data/doc/app/classes/FileBlock.html +18 -18
- data/doc/app/classes/ForgotPasswordMailer.html +151 -0
- data/doc/app/classes/ForgotPasswordPortlet.html +162 -0
- data/doc/app/classes/Group.html +72 -20
- data/doc/app/classes/GuestUser.html +138 -93
- data/doc/app/classes/HtmlBlock.html +12 -12
- data/doc/app/classes/ImageBlock.html +18 -18
- data/doc/app/classes/InitialData.html +6 -6
- data/doc/app/classes/Link.html +30 -30
- data/doc/app/classes/LoginPortlet.html +6 -6
- data/doc/app/classes/Page.html +185 -185
- data/doc/app/classes/PagePartial.html +18 -18
- data/doc/app/classes/PageRoute.html +48 -48
- data/doc/app/classes/PageTemplate.html +60 -78
- data/doc/app/classes/Portlet.html +339 -267
- data/doc/app/classes/ResetPasswordPortlet.html +169 -0
- data/doc/app/classes/Section.html +257 -200
- data/doc/app/classes/SectionNode.html +60 -60
- data/doc/app/classes/Sequence.html +6 -6
- data/doc/app/classes/Site.html +30 -30
- data/doc/app/classes/Tag.html +31 -31
- data/doc/app/classes/TagCloudPortlet.html +12 -12
- data/doc/app/classes/Tagging.html +6 -6
- data/doc/app/classes/Task.html +37 -37
- data/doc/app/classes/Templates.html +151 -0
- data/doc/app/classes/Tests.html +107 -0
- data/doc/app/classes/Tests/PretendController.html +275 -0
- data/doc/app/classes/User.html +344 -205
- data/doc/app/created.rid +1 -1
- data/doc/app/files/app/controllers/cms/application_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/categories_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/connectors_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/content_block_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/content_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/dashboard_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/error_handling_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/links_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/pages_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/portlets_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/section_nodes_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/sections_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/sessions_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/tags_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/cms/users_controller_rb.html +1 -1
- data/doc/app/files/app/controllers/tests/pretend_controller_rb.html +112 -0
- data/doc/app/files/app/helpers/application_helper_rb.html +5 -1
- data/doc/app/files/app/helpers/cms/application_helper_rb.html +1 -1
- data/doc/app/files/app/helpers/cms/form_builder_rb.html +8 -1
- data/doc/app/files/app/helpers/cms/menu_helper_rb.html +1 -1
- data/doc/app/files/app/helpers/cms/page_helper_rb.html +1 -1
- data/doc/app/files/app/helpers/cms/rendering_helper_rb.html +111 -0
- data/doc/app/files/app/helpers/cms/template_support_rb.html +108 -0
- data/doc/app/files/app/models/abstract_file_block_rb.html +1 -1
- data/doc/app/files/app/models/attachment_rb.html +2 -2
- data/doc/app/files/app/models/connector_rb.html +1 -1
- data/doc/app/files/app/models/content_type_rb.html +1 -1
- data/doc/app/files/app/models/dynamic_view_rb.html +1 -1
- data/doc/app/files/app/models/forgot_password_mailer_rb.html +101 -0
- data/doc/app/files/app/models/group_rb.html +10 -1
- data/doc/app/files/app/models/guest_user_rb.html +14 -1
- data/doc/app/files/app/models/link_rb.html +1 -1
- data/doc/app/files/app/models/page_rb.html +1 -1
- data/doc/app/files/app/models/page_template_rb.html +1 -1
- data/doc/app/files/app/models/portlet_rb.html +1 -1
- data/doc/app/files/app/models/section_rb.html +1 -1
- data/doc/app/files/app/models/tag_rb.html +1 -1
- data/doc/app/files/app/models/task_rb.html +1 -1
- data/doc/app/files/app/models/templates_rb.html +108 -0
- data/doc/app/files/app/models/user_rb.html +1 -1
- data/doc/app/files/app/portlets/forgot_password_portlet_rb.html +108 -0
- data/doc/app/files/app/portlets/reset_password_portlet_rb.html +101 -0
- data/doc/app/files/doc/README_FOR_APP.html +7 -6
- data/doc/app/files/lib/acts_as_list_rb.html +1 -1
- data/doc/app/files/lib/browsercms_rb.html +1 -1
- data/doc/app/files/lib/cms/acts/content_block_rb.html +1 -1
- data/doc/app/files/lib/cms/acts/content_page_rb.html +125 -0
- data/doc/app/files/lib/cms/authentication/controller_rb.html +61 -1
- data/doc/app/files/lib/cms/behaviors/attaching_rb.html +1 -1
- data/doc/app/files/lib/cms/behaviors/publishing_rb.html +1 -1
- data/doc/app/files/lib/cms/behaviors/rendering_rb.html +1 -1
- data/doc/app/files/lib/cms/behaviors/taggable_rb.html +1 -1
- data/doc/app/files/lib/cms/behaviors/versioning_rb.html +1 -1
- data/doc/app/files/lib/cms/content_rendering_support_rb.html +108 -0
- data/doc/app/files/lib/cms/domain_support_rb.html +108 -0
- data/doc/app/files/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements_rb.html +1 -1
- data/doc/app/files/lib/cms/init_rb.html +8 -1
- data/doc/app/files/lib/cms/routes_rb.html +1 -1
- data/doc/app/files/lib/cms/version_rb.html +107 -0
- data/doc/app/files/lib/command_line_rb.html +101 -0
- data/doc/app/fr_class_index.html +13 -0
- data/doc/app/fr_file_index.html +12 -0
- data/doc/app/fr_method_index.html +761 -712
- data/doc/guides/html/authentication.html +201 -0
- data/doc/guides/html/build_it_yourself.html +21 -18
- data/doc/guides/html/building_modules.html +107 -51
- data/doc/guides/html/building_templates.html +507 -0
- data/doc/guides/html/content_blocks.html +477 -0
- data/doc/guides/html/customizing_browsercms.html +173 -0
- data/doc/guides/html/deployment_guide.html +31 -5
- data/doc/guides/html/getting_started.html +62 -27
- data/doc/guides/html/images/content_blocks/add_field_to_form.png +0 -0
- data/doc/guides/html/images/content_blocks/add_second_block.png +0 -0
- data/doc/guides/html/images/nfl_sitemap.png +0 -0
- data/doc/guides/html/index.html +31 -22
- data/doc/guides/html/installing_modules.html +25 -17
- data/doc/guides/html/portlets.html +238 -0
- data/doc/guides/html/user_guide.html +11 -2
- data/doc/guides/html/{designer_guide.html → writing_guides.html} +21 -20
- data/lib/cms/acts/content_page.rb +69 -0
- data/lib/cms/authentication/controller.rb +1 -1
- data/lib/cms/behaviors/rendering.rb +9 -2
- data/lib/cms/behaviors/versioning.rb +1 -1
- data/lib/cms/content_rendering_support.rb +96 -0
- data/lib/cms/domain_support.rb +20 -0
- data/lib/cms/init.rb +22 -5
- data/lib/cms/version.rb +6 -0
- data/lib/command_line.rb +39 -0
- data/lib/tasks/cms.rake +4 -2
- data/public/bcms/ckeditor/ckeditor.js +108 -0
- data/public/bcms/ckeditor/config.js +18 -0
- data/public/bcms/ckeditor/core/_bootstrap.js +64 -0
- data/public/bcms/ckeditor/core/ajax.js +143 -0
- data/public/bcms/ckeditor/core/ckeditor.js +96 -0
- data/public/bcms/ckeditor/core/ckeditor_base.js +190 -0
- data/public/bcms/ckeditor/core/ckeditor_basic.js +241 -0
- data/public/bcms/ckeditor/core/command.js +70 -0
- data/public/bcms/ckeditor/core/commanddefinition.js +72 -0
- data/public/bcms/ckeditor/core/config.js +287 -0
- data/public/bcms/ckeditor/core/dom.js +21 -0
- data/public/bcms/ckeditor/core/dom/document.js +210 -0
- data/public/bcms/ckeditor/core/dom/documentfragment.js +49 -0
- data/public/bcms/ckeditor/core/dom/domobject.js +204 -0
- data/public/bcms/ckeditor/core/dom/element.js +1384 -0
- data/public/bcms/ckeditor/core/dom/elementpath.js +104 -0
- data/public/bcms/ckeditor/core/dom/event.js +137 -0
- data/public/bcms/ckeditor/core/dom/node.js +649 -0
- data/public/bcms/ckeditor/core/dom/nodelist.js +23 -0
- data/public/bcms/ckeditor/core/dom/range.js +1668 -0
- data/public/bcms/ckeditor/core/dom/text.js +123 -0
- data/public/bcms/ckeditor/core/dom/walker.js +411 -0
- data/public/bcms/ckeditor/core/dom/window.js +96 -0
- data/public/bcms/ckeditor/core/dtd.js +200 -0
- data/public/bcms/ckeditor/core/editor.js +650 -0
- data/public/bcms/ckeditor/core/editor_basic.js +178 -0
- data/public/bcms/ckeditor/core/env.js +219 -0
- data/public/bcms/ckeditor/core/event.js +335 -0
- data/public/bcms/ckeditor/core/eventInfo.js +120 -0
- data/public/bcms/ckeditor/core/focusmanager.js +123 -0
- data/public/bcms/ckeditor/core/htmlparser.js +212 -0
- data/public/bcms/ckeditor/core/htmlparser/basicwriter.js +140 -0
- data/public/bcms/ckeditor/core/htmlparser/cdata.js +44 -0
- data/public/bcms/ckeditor/core/htmlparser/comment.js +59 -0
- data/public/bcms/ckeditor/core/htmlparser/element.js +196 -0
- data/public/bcms/ckeditor/core/htmlparser/filter.js +233 -0
- data/public/bcms/ckeditor/core/htmlparser/fragment.js +434 -0
- data/public/bcms/ckeditor/core/htmlparser/text.js +55 -0
- data/public/bcms/ckeditor/core/imagecacher.js +58 -0
- data/public/bcms/ckeditor/core/lang.js +147 -0
- data/public/bcms/ckeditor/core/loader.js +238 -0
- data/public/bcms/ckeditor/core/plugindefinition.js +66 -0
- data/public/bcms/ckeditor/core/plugins.js +82 -0
- data/public/bcms/ckeditor/core/resourcemanager.js +233 -0
- data/public/bcms/ckeditor/core/scriptloader.js +194 -0
- data/public/bcms/ckeditor/core/skins.js +185 -0
- data/public/bcms/ckeditor/core/test.js +184 -0
- data/public/bcms/ckeditor/core/themes.js +18 -0
- data/public/bcms/ckeditor/core/tools.js +531 -0
- data/public/bcms/ckeditor/core/ui.js +106 -0
- data/public/bcms/ckeditor/core/xml.js +165 -0
- data/public/bcms/ckeditor/editor.js +51 -0
- data/public/bcms/ckeditor/lang/_languages.js +82 -0
- data/public/bcms/ckeditor/lang/_translationstatus.txt +59 -0
- data/public/bcms/ckeditor/lang/af.js +674 -0
- data/public/bcms/ckeditor/lang/ar.js +674 -0
- data/public/bcms/ckeditor/lang/bg.js +674 -0
- data/public/bcms/ckeditor/lang/bn.js +674 -0
- data/public/bcms/ckeditor/lang/bs.js +674 -0
- data/public/bcms/ckeditor/lang/ca.js +674 -0
- data/public/bcms/ckeditor/lang/cs.js +674 -0
- data/public/bcms/ckeditor/lang/da.js +674 -0
- data/public/bcms/ckeditor/lang/de.js +674 -0
- data/public/bcms/ckeditor/lang/el.js +674 -0
- data/public/bcms/ckeditor/lang/en-au.js +674 -0
- data/public/bcms/ckeditor/lang/en-ca.js +674 -0
- data/public/bcms/ckeditor/lang/en-uk.js +674 -0
- data/public/bcms/ckeditor/lang/en.js +674 -0
- data/public/bcms/ckeditor/lang/eo.js +674 -0
- data/public/bcms/ckeditor/lang/es.js +674 -0
- data/public/bcms/ckeditor/lang/et.js +674 -0
- data/public/bcms/ckeditor/lang/eu.js +674 -0
- data/public/bcms/ckeditor/lang/fa.js +674 -0
- data/public/bcms/ckeditor/lang/fi.js +674 -0
- data/public/bcms/ckeditor/lang/fo.js +674 -0
- data/public/bcms/ckeditor/lang/fr-ca.js +674 -0
- data/public/bcms/ckeditor/lang/fr.js +674 -0
- data/public/bcms/ckeditor/lang/gl.js +674 -0
- data/public/bcms/ckeditor/lang/gu.js +674 -0
- data/public/bcms/ckeditor/lang/he.js +674 -0
- data/public/bcms/ckeditor/lang/hi.js +674 -0
- data/public/bcms/ckeditor/lang/hr.js +674 -0
- data/public/bcms/ckeditor/lang/hu.js +674 -0
- data/public/bcms/ckeditor/lang/is.js +674 -0
- data/public/bcms/ckeditor/lang/it.js +674 -0
- data/public/bcms/ckeditor/lang/ja.js +674 -0
- data/public/bcms/ckeditor/lang/km.js +674 -0
- data/public/bcms/ckeditor/lang/ko.js +674 -0
- data/public/bcms/ckeditor/lang/lt.js +674 -0
- data/public/bcms/ckeditor/lang/lv.js +674 -0
- data/public/bcms/ckeditor/lang/mn.js +674 -0
- data/public/bcms/ckeditor/lang/ms.js +674 -0
- data/public/bcms/ckeditor/lang/nb.js +674 -0
- data/public/bcms/ckeditor/lang/nl.js +674 -0
- data/public/bcms/ckeditor/lang/no.js +674 -0
- data/public/bcms/ckeditor/lang/pl.js +674 -0
- data/public/bcms/ckeditor/lang/pt-br.js +674 -0
- data/public/bcms/ckeditor/lang/pt.js +674 -0
- data/public/bcms/ckeditor/lang/ro.js +674 -0
- data/public/bcms/ckeditor/lang/ru.js +674 -0
- data/public/bcms/ckeditor/lang/sk.js +674 -0
- data/public/bcms/ckeditor/lang/sl.js +674 -0
- data/public/bcms/ckeditor/lang/sr-latn.js +674 -0
- data/public/bcms/ckeditor/lang/sr.js +674 -0
- data/public/bcms/ckeditor/lang/sv.js +674 -0
- data/public/bcms/ckeditor/lang/th.js +674 -0
- data/public/bcms/ckeditor/lang/tr.js +674 -0
- data/public/bcms/ckeditor/lang/uk.js +674 -0
- data/public/bcms/ckeditor/lang/vi.js +674 -0
- data/public/bcms/ckeditor/lang/zh-cn.js +674 -0
- data/public/bcms/ckeditor/lang/zh.js +674 -0
- data/public/bcms/ckeditor/plugins/about/dialogs/about.js +73 -0
- data/public/bcms/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/public/bcms/ckeditor/plugins/about/plugin.js +22 -0
- data/public/bcms/ckeditor/plugins/basicstyles/plugin.js +50 -0
- data/public/bcms/ckeditor/plugins/blockquote/plugin.js +301 -0
- data/public/bcms/ckeditor/plugins/button/plugin.js +264 -0
- data/public/bcms/ckeditor/plugins/clipboard/dialogs/paste.js +167 -0
- data/public/bcms/ckeditor/plugins/clipboard/plugin.js +208 -0
- data/public/bcms/ckeditor/plugins/colorbutton/plugin.js +202 -0
- data/public/bcms/ckeditor/plugins/contextmenu/plugin.js +178 -0
- data/public/bcms/ckeditor/plugins/dialog/dialogDefinition.js +315 -0
- data/public/bcms/ckeditor/plugins/dialog/plugin.js +2742 -0
- data/public/bcms/ckeditor/plugins/dialogui/plugin.js +1319 -0
- data/public/bcms/ckeditor/plugins/domiterator/plugin.js +354 -0
- data/public/bcms/ckeditor/plugins/editingblock/plugin.js +236 -0
- data/public/bcms/ckeditor/plugins/elementspath/plugin.js +182 -0
- data/public/bcms/ckeditor/plugins/enterkey/plugin.js +324 -0
- data/public/bcms/ckeditor/plugins/entities/plugin.js +200 -0
- data/public/bcms/ckeditor/plugins/fakeobjects/plugin.js +111 -0
- data/public/bcms/ckeditor/plugins/filebrowser/plugin.js +383 -0
- data/public/bcms/ckeditor/plugins/find/dialogs/find.js +843 -0
- data/public/bcms/ckeditor/plugins/find/plugin.js +46 -0
- data/public/bcms/ckeditor/plugins/flash/dialogs/flash.js +682 -0
- data/public/bcms/ckeditor/plugins/flash/images/placeholder.png +0 -0
- data/public/bcms/ckeditor/plugins/flash/plugin.js +165 -0
- data/public/bcms/ckeditor/plugins/floatpanel/plugin.js +325 -0
- data/public/bcms/ckeditor/plugins/font/plugin.js +227 -0
- data/public/bcms/ckeditor/plugins/format/plugin.js +191 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/button.js +135 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/checkbox.js +138 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/form.js +177 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/hiddenfield.js +91 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/radio.js +135 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/select.js +541 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/textarea.js +114 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/textfield.js +193 -0
- data/public/bcms/ckeditor/plugins/forms/plugin.js +193 -0
- data/public/bcms/ckeditor/plugins/horizontalrule/plugin.js +35 -0
- data/public/bcms/ckeditor/plugins/htmldataprocessor/plugin.js +373 -0
- data/public/bcms/ckeditor/plugins/htmlwriter/plugin.js +289 -0
- data/public/bcms/ckeditor/plugins/iframedialog/plugin.js +136 -0
- data/public/bcms/ckeditor/plugins/image/dialogs/image.js +1225 -0
- data/public/bcms/ckeditor/plugins/image/plugin.js +64 -0
- data/public/bcms/ckeditor/plugins/indent/plugin.js +323 -0
- data/public/bcms/ckeditor/plugins/justify/plugin.js +164 -0
- data/public/bcms/ckeditor/plugins/keystrokes/plugin.js +217 -0
- data/public/bcms/ckeditor/plugins/link/dialogs/anchor.js +98 -0
- data/public/bcms/ckeditor/plugins/link/dialogs/link.js +1217 -0
- data/public/{fckeditor/editor → bcms/ckeditor/plugins/link}/images/anchor.gif +0 -0
- data/public/bcms/ckeditor/plugins/link/plugin.js +188 -0
- data/public/bcms/ckeditor/plugins/list/plugin.js +570 -0
- data/public/bcms/ckeditor/plugins/listblock/plugin.js +231 -0
- data/public/bcms/ckeditor/plugins/maximize/plugin.js +267 -0
- data/public/bcms/ckeditor/plugins/menu/plugin.js +377 -0
- data/public/bcms/ckeditor/plugins/menubutton/plugin.js +93 -0
- data/public/bcms/ckeditor/plugins/newpage/plugin.js +65 -0
- data/public/{fckeditor/editor/css/images/fck_pagebreak.gif → bcms/ckeditor/plugins/pagebreak/images/pagebreak.gif} +0 -0
- data/public/bcms/ckeditor/plugins/pagebreak/plugin.js +96 -0
- data/public/bcms/ckeditor/plugins/panel/plugin.js +330 -0
- data/public/bcms/ckeditor/plugins/panelbutton/plugin.js +140 -0
- data/public/bcms/ckeditor/plugins/pastefromword/dialogs/pastefromword.js +307 -0
- data/public/bcms/ckeditor/plugins/pastefromword/plugin.js +54 -0
- data/public/bcms/ckeditor/plugins/pastetext/dialogs/pastetext.js +65 -0
- data/public/bcms/ckeditor/plugins/pastetext/plugin.js +142 -0
- data/public/bcms/ckeditor/plugins/popup/plugin.js +62 -0
- data/public/bcms/ckeditor/plugins/preview/plugin.js +97 -0
- data/public/bcms/ckeditor/plugins/print/plugin.js +41 -0
- data/public/bcms/ckeditor/plugins/removeformat/plugin.js +132 -0
- data/public/bcms/ckeditor/plugins/resize/plugin.js +115 -0
- data/public/bcms/ckeditor/plugins/richcombo/plugin.js +357 -0
- data/public/bcms/ckeditor/plugins/save/plugin.js +55 -0
- data/public/bcms/ckeditor/plugins/scayt/dialogs/options.js +494 -0
- data/public/bcms/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
- data/public/bcms/ckeditor/plugins/scayt/plugin.js +511 -0
- data/public/bcms/ckeditor/plugins/selection/plugin.js +1072 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_address.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_blockquote.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_div.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h1.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h2.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h3.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h4.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h5.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_h6.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_p.png +0 -0
- data/public/{fckeditor/editor/css → bcms/ckeditor/plugins/showblocks}/images/block_pre.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/plugin.js +153 -0
- data/public/bcms/ckeditor/plugins/smiley/dialogs/smiley.js +219 -0
- data/public/bcms/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/envelope.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/heart.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/kiss.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/plugin.js +74 -0
- data/public/bcms/ckeditor/plugins/sourcearea/plugin.js +185 -0
- data/public/bcms/ckeditor/plugins/specialchar/dialogs/specialchar.js +362 -0
- data/public/bcms/ckeditor/plugins/specialchar/plugin.js +29 -0
- data/public/bcms/ckeditor/plugins/styles/plugin.js +1242 -0
- data/public/bcms/ckeditor/plugins/stylescombo/plugin.js +295 -0
- data/public/bcms/ckeditor/plugins/stylescombo/styles/default.js +85 -0
- data/public/bcms/ckeditor/plugins/tab/plugin.js +266 -0
- data/public/bcms/ckeditor/plugins/table/dialogs/table.js +550 -0
- data/public/bcms/ckeditor/plugins/table/plugin.js +70 -0
- data/public/bcms/ckeditor/plugins/tabletools/dialogs/tableCell.js +328 -0
- data/public/bcms/ckeditor/plugins/tabletools/plugin.js +701 -0
- data/public/bcms/ckeditor/plugins/templates/dialogs/templates.js +170 -0
- data/public/bcms/ckeditor/plugins/templates/plugin.js +99 -0
- data/public/bcms/ckeditor/plugins/templates/templates/default.js +94 -0
- data/public/{fckeditor/editor/dialog/fck_template → bcms/ckeditor/plugins/templates/templates}/images/template1.gif +0 -0
- data/public/{fckeditor/editor/dialog/fck_template → bcms/ckeditor/plugins/templates/templates}/images/template2.gif +0 -0
- data/public/{fckeditor/editor/dialog/fck_template → bcms/ckeditor/plugins/templates/templates}/images/template3.gif +0 -0
- data/public/bcms/ckeditor/plugins/toolbar/plugin.js +412 -0
- data/public/bcms/ckeditor/plugins/uicolor/dialogs/uicolor.js +203 -0
- data/public/bcms/ckeditor/plugins/uicolor/lang/en.js +15 -0
- data/public/bcms/ckeditor/plugins/uicolor/plugin.js +35 -0
- data/public/bcms/ckeditor/plugins/uicolor/uicolor.gif +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/yui.css +15 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/yui.js +71 -0
- data/public/bcms/ckeditor/plugins/undo/plugin.js +490 -0
- data/public/bcms/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
- data/public/bcms/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
- data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.css +83 -0
- data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.js +169 -0
- data/public/bcms/ckeditor/plugins/wsc/plugin.js +32 -0
- data/public/bcms/ckeditor/plugins/wysiwygarea/plugin.js +636 -0
- data/public/bcms/ckeditor/skins/kama/dialog.css +742 -0
- data/public/bcms/ckeditor/skins/kama/editor.css +21 -0
- data/public/bcms/ckeditor/skins/kama/elementspath.css +68 -0
- data/public/bcms/ckeditor/skins/kama/icons.css +309 -0
- data/public/bcms/ckeditor/skins/kama/icons.png +0 -0
- data/public/{fckeditor/editor/skins/default/images/dialog.sides.gif → bcms/ckeditor/skins/kama/images/dialog_sides.gif} +0 -0
- data/public/{fckeditor/editor/skins/default/images/dialog.sides.png → bcms/ckeditor/skins/kama/images/dialog_sides.png} +0 -0
- data/public/{fckeditor/editor/skins/default/images/dialog.sides.rtl.png → bcms/ckeditor/skins/kama/images/dialog_sides_rtl.png} +0 -0
- data/public/bcms/ckeditor/skins/kama/images/mini.gif +0 -0
- data/public/bcms/ckeditor/skins/kama/images/noimage.png +0 -0
- data/public/bcms/ckeditor/skins/kama/images/sprites.png +0 -0
- data/public/bcms/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
- data/public/{fckeditor/editor/skins/default/images/toolbar.start.gif → bcms/ckeditor/skins/kama/images/toolbar_start.gif} +0 -0
- data/public/bcms/ckeditor/skins/kama/mainui.css +139 -0
- data/public/bcms/ckeditor/skins/kama/menu.css +179 -0
- data/public/bcms/ckeditor/skins/kama/panel.css +203 -0
- data/public/bcms/ckeditor/skins/kama/presets.css +49 -0
- data/public/bcms/ckeditor/skins/kama/reset.css +78 -0
- data/public/bcms/ckeditor/skins/kama/richcombo.css +260 -0
- data/public/bcms/ckeditor/skins/kama/skin.js +291 -0
- data/public/bcms/ckeditor/skins/kama/templates.css +71 -0
- data/public/bcms/ckeditor/skins/kama/toolbar.css +384 -0
- data/public/bcms/ckeditor/skins/office2003/dialog.css +643 -0
- data/public/bcms/ckeditor/skins/office2003/editor.css +21 -0
- data/public/bcms/ckeditor/skins/office2003/elementspath.css +68 -0
- data/public/bcms/ckeditor/skins/office2003/icons.css +309 -0
- data/public/bcms/ckeditor/skins/office2003/icons.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/mini.gif +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/noimage.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/sprites.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/mainui.css +97 -0
- data/public/bcms/ckeditor/skins/office2003/menu.css +175 -0
- data/public/bcms/ckeditor/skins/office2003/panel.css +198 -0
- data/public/bcms/ckeditor/skins/office2003/presets.css +49 -0
- data/public/bcms/ckeditor/skins/office2003/reset.css +78 -0
- data/public/bcms/ckeditor/skins/office2003/richcombo.css +279 -0
- data/public/bcms/ckeditor/skins/office2003/skin.js +77 -0
- data/public/bcms/ckeditor/skins/office2003/templates.css +71 -0
- data/public/bcms/ckeditor/skins/office2003/toolbar.css +442 -0
- data/public/bcms/ckeditor/skins/v2/dialog.css +653 -0
- data/public/bcms/ckeditor/skins/v2/editor.css +21 -0
- data/public/bcms/ckeditor/skins/v2/elementspath.css +68 -0
- data/public/bcms/ckeditor/skins/v2/icons.css +309 -0
- data/public/bcms/ckeditor/skins/v2/icons.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
- data/public/bcms/ckeditor/skins/v2/images/dialog_sides.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/mini.gif +0 -0
- data/public/bcms/ckeditor/skins/v2/images/noimage.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/sprites.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
- data/public/{fckeditor/editor/skins/silver/images/toolbar.start.gif → bcms/ckeditor/skins/v2/images/toolbar_start.gif} +0 -0
- data/public/bcms/ckeditor/skins/v2/mainui.css +112 -0
- data/public/bcms/ckeditor/skins/v2/menu.css +178 -0
- data/public/bcms/ckeditor/skins/v2/panel.css +198 -0
- data/public/bcms/ckeditor/skins/v2/presets.css +50 -0
- data/public/bcms/ckeditor/skins/v2/reset.css +78 -0
- data/public/bcms/ckeditor/skins/v2/richcombo.css +275 -0
- data/public/bcms/ckeditor/skins/v2/skin.js +73 -0
- data/public/bcms/ckeditor/skins/v2/templates.css +71 -0
- data/public/bcms/ckeditor/skins/v2/toolbar.css +399 -0
- data/public/bcms/ckeditor/tests/_assets/sample.css +4 -0
- data/public/bcms/ckeditor/tests/_assets/sample.js +1 -0
- data/public/bcms/ckeditor/tests/_assets/sample.txt +1 -0
- data/public/bcms/ckeditor/tests/_assets/sample.xml +5 -0
- data/public/bcms/ckeditor/tests/_assets/sample_xml.txt +5 -0
- data/public/bcms/ckeditor/tests/core/_editor/custom_config_1.js +10 -0
- data/public/bcms/ckeditor/tests/core/_editor/custom_config_2.js +9 -0
- data/public/bcms/ckeditor/tests/core/ajax.html +163 -0
- data/public/bcms/ckeditor/tests/core/bootstrap.html +66 -0
- data/public/bcms/ckeditor/tests/core/ckeditor.html +160 -0
- data/public/bcms/ckeditor/tests/core/dom/document.html +126 -0
- data/public/bcms/ckeditor/tests/core/dom/documentfragment.html +292 -0
- data/public/bcms/ckeditor/tests/core/dom/element.html +637 -0
- data/public/bcms/ckeditor/tests/core/dom/node.html +164 -0
- data/public/bcms/ckeditor/tests/core/dom/range.html +2411 -0
- data/public/bcms/ckeditor/tests/core/dom/text.html +128 -0
- data/public/bcms/ckeditor/tests/core/dom/walker.html +340 -0
- data/public/bcms/ckeditor/tests/core/dom/window.html +53 -0
- data/public/bcms/ckeditor/tests/core/editor.html +123 -0
- data/public/bcms/ckeditor/tests/core/env.html +52 -0
- data/public/bcms/ckeditor/tests/core/event.html +487 -0
- data/public/bcms/ckeditor/tests/core/htmlparser/fragment.html +188 -0
- data/public/bcms/ckeditor/tests/core/htmlparser/htmlparser.html +91 -0
- data/public/bcms/ckeditor/tests/core/plugins.html +45 -0
- data/public/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js +3 -0
- data/public/bcms/ckeditor/tests/core/scriptloader.html +52 -0
- data/public/bcms/ckeditor/tests/core/tools.html +170 -0
- data/public/bcms/ckeditor/tests/core/xml.html +150 -0
- data/public/bcms/ckeditor/tests/plugins/domiterator/domiterator.html +236 -0
- data/public/bcms/ckeditor/tests/plugins/htmldataprocessor/htmldataprocessor.html +386 -0
- data/public/bcms/ckeditor/tests/plugins/link/link.html +123 -0
- data/public/bcms/ckeditor/tests/plugins/list/list.html +217 -0
- data/public/bcms/ckeditor/tests/plugins/selection/selection.html +49 -0
- data/public/bcms/ckeditor/tests/plugins/styles/styles.html +596 -0
- data/public/bcms/ckeditor/tests/test.css +81 -0
- data/public/bcms/ckeditor/tests/test.js +93 -0
- data/public/bcms/ckeditor/tests/testall.html +114 -0
- data/public/bcms/ckeditor/tests/yuitest.js +75 -0
- data/public/bcms/ckeditor/themes/default/theme.js +232 -0
- data/public/stylesheets/cms/application.css +2 -2
- data/public/stylesheets/cms/form_layout.css +2 -6
- data/rails_generators/content_block/templates/migration.rb +1 -1
- data/rails_generators/portlet/USAGE +3 -1
- data/rails_generators/portlet/portlet_generator.rb +4 -0
- data/rails_generators/portlet/templates/_form.html.erb +1 -2
- data/rails_generators/portlet/templates/portlet.rb +4 -1
- data/rails_generators/portlet/templates/portlet_helper.rb +5 -0
- data/rails_generators/template/USAGE +10 -0
- data/rails_generators/template/template_generator.rb +18 -0
- data/rails_generators/template/templates/template.erb +3 -0
- data/templates/blank.rb +11 -1
- data/templates/demo.rb +11 -1
- data/templates/module.rb +15 -4
- data/test/functional/cms/dashboard_controller_test.rb +1 -2
- data/test/functional/tests/pretend_controller_test.rb +54 -0
- data/test/integration/cms/ckeditor_test.rb +27 -0
- data/test/integration/cms/password_management_test.rb +56 -0
- data/test/test_helper.rb +14 -0
- data/test/unit/helpers/form_builder_test.rb +21 -2
- data/test/unit/helpers/menu_helper_test.rb +164 -142
- data/test/unit/helpers/page_helper_test.rb +11 -3
- data/test/unit/lib/acts_as_content_page_test.rb +72 -0
- data/test/unit/lib/cms/authentication/controller_test.rb +20 -0
- data/test/unit/lib/cms_domain_support_test.rb +43 -0
- data/test/unit/lib/command_line_test.rb +70 -0
- data/test/unit/lib/content_rendering_support_test.rb +40 -0
- data/test/unit/models/content_type_test.rb +19 -7
- data/test/unit/models/page_template_test.rb +4 -1
- data/test/unit/models/portlet_test.rb +49 -1
- data/test/unit/models/sections_test.rb +41 -2
- data/test/unit/models/task_test.rb +37 -22
- data/test/unit/models/user_test.rb +158 -55
- metadata +490 -378
- data/doc/guides/html/developer_guide.html +0 -308
- data/public/fckeditor/editor/css/behaviors/disablehandles.htc +0 -15
- data/public/fckeditor/editor/css/behaviors/showtableborders.htc +0 -36
- data/public/fckeditor/editor/css/fck_editorarea.css +0 -110
- data/public/fckeditor/editor/css/fck_internal.css +0 -199
- data/public/fckeditor/editor/css/fck_showtableborders_gecko.css +0 -49
- data/public/fckeditor/editor/css/images/fck_anchor.gif +0 -0
- data/public/fckeditor/editor/css/images/fck_flashlogo.gif +0 -0
- data/public/fckeditor/editor/css/images/fck_hiddenfield.gif +0 -0
- data/public/fckeditor/editor/css/images/fck_plugin.gif +0 -0
- data/public/fckeditor/editor/dialog/common/fck_dialog_common.css +0 -85
- data/public/fckeditor/editor/dialog/common/fck_dialog_common.js +0 -311
- data/public/fckeditor/editor/dialog/common/images/locked.gif +0 -0
- data/public/fckeditor/editor/dialog/common/images/reset.gif +0 -0
- data/public/fckeditor/editor/dialog/common/images/unlocked.gif +0 -0
- data/public/fckeditor/editor/dialog/fck_about.html +0 -161
- data/public/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif +0 -0
- data/public/fckeditor/editor/dialog/fck_about/logo_fredck.gif +0 -0
- data/public/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif +0 -0
- data/public/fckeditor/editor/dialog/fck_anchor.html +0 -220
- data/public/fckeditor/editor/dialog/fck_button.html +0 -104
- data/public/fckeditor/editor/dialog/fck_checkbox.html +0 -104
- data/public/fckeditor/editor/dialog/fck_colorselector.html +0 -172
- data/public/fckeditor/editor/dialog/fck_div.html +0 -364
- data/public/fckeditor/editor/dialog/fck_docprops.html +0 -600
- data/public/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +0 -113
- data/public/fckeditor/editor/dialog/fck_flash.html +0 -152
- data/public/fckeditor/editor/dialog/fck_flash/fck_flash.js +0 -300
- data/public/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +0 -50
- data/public/fckeditor/editor/dialog/fck_form.html +0 -109
- data/public/fckeditor/editor/dialog/fck_hiddenfield.html +0 -115
- data/public/fckeditor/editor/dialog/fck_image.html +0 -258
- data/public/fckeditor/editor/dialog/fck_image/fck_image.js +0 -512
- data/public/fckeditor/editor/dialog/fck_image/fck_image_preview.html +0 -72
- data/public/fckeditor/editor/dialog/fck_link.html +0 -295
- data/public/fckeditor/editor/dialog/fck_link/fck_link.js +0 -893
- data/public/fckeditor/editor/dialog/fck_listprop.html +0 -120
- data/public/fckeditor/editor/dialog/fck_paste.html +0 -346
- data/public/fckeditor/editor/dialog/fck_radiobutton.html +0 -104
- data/public/fckeditor/editor/dialog/fck_replace.html +0 -648
- data/public/fckeditor/editor/dialog/fck_select.html +0 -180
- data/public/fckeditor/editor/dialog/fck_select/fck_select.js +0 -194
- data/public/fckeditor/editor/dialog/fck_smiley.html +0 -111
- data/public/fckeditor/editor/dialog/fck_source.html +0 -68
- data/public/fckeditor/editor/dialog/fck_specialchar.html +0 -121
- data/public/fckeditor/editor/dialog/fck_spellerpages.html +0 -70
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html +0 -0
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +0 -87
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +0 -153
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +0 -148
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +0 -199
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +0 -181
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +0 -461
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +0 -71
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +0 -49
- data/public/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +0 -272
- data/public/fckeditor/editor/dialog/fck_table.html +0 -298
- data/public/fckeditor/editor/dialog/fck_tablecell.html +0 -257
- data/public/fckeditor/editor/dialog/fck_template.html +0 -242
- data/public/fckeditor/editor/dialog/fck_textarea.html +0 -94
- data/public/fckeditor/editor/dialog/fck_textfield.html +0 -136
- data/public/fckeditor/editor/dtd/fck_dtd_test.html +0 -41
- data/public/fckeditor/editor/dtd/fck_xhtml10strict.js +0 -116
- data/public/fckeditor/editor/dtd/fck_xhtml10transitional.js +0 -140
- data/public/fckeditor/editor/fckdebug.html +0 -153
- data/public/fckeditor/editor/fckdialog.html +0 -812
- data/public/fckeditor/editor/fckeditor.html +0 -317
- data/public/fckeditor/editor/fckeditor.original.html +0 -424
- data/public/fckeditor/editor/filemanager/browser/default/browser.css +0 -87
- data/public/fckeditor/editor/filemanager/browser/default/browser.html +0 -200
- data/public/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +0 -95
- data/public/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +0 -114
- data/public/fckeditor/editor/filemanager/browser/default/frmfolders.html +0 -198
- data/public/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +0 -169
- data/public/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +0 -68
- data/public/fckeditor/editor/filemanager/browser/default/frmupload.html +0 -115
- data/public/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/Folder.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/Folder32.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/html.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/js.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/png.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/images/spacer.gif +0 -0
- data/public/fckeditor/editor/filemanager/browser/default/js/common.js +0 -88
- data/public/fckeditor/editor/filemanager/browser/default/js/fckxml.js +0 -147
- data/public/fckeditor/editor/images/arrow_ltr.gif +0 -0
- data/public/fckeditor/editor/images/arrow_rtl.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/angel_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/angry_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/broken_heart.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/cake.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/confused_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/cry_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/devil_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/embaressed_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/envelope.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/heart.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/kiss.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/lightbulb.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/omg_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/regular_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/sad_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/shades_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/teeth_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/thumbs_down.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/thumbs_up.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/tounge_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif +0 -0
- data/public/fckeditor/editor/images/smiley/msn/wink_smile.gif +0 -0
- data/public/fckeditor/editor/images/spacer.gif +0 -0
- data/public/fckeditor/editor/js/fckadobeair.js +0 -176
- data/public/fckeditor/editor/js/fckeditorcode_gecko.js +0 -108
- data/public/fckeditor/editor/js/fckeditorcode_ie.js +0 -109
- data/public/fckeditor/editor/lang/_translationstatus.txt +0 -78
- data/public/fckeditor/editor/lang/af.js +0 -526
- data/public/fckeditor/editor/lang/ar.js +0 -526
- data/public/fckeditor/editor/lang/bg.js +0 -526
- data/public/fckeditor/editor/lang/bn.js +0 -526
- data/public/fckeditor/editor/lang/bs.js +0 -526
- data/public/fckeditor/editor/lang/ca.js +0 -526
- data/public/fckeditor/editor/lang/cs.js +0 -526
- data/public/fckeditor/editor/lang/da.js +0 -526
- data/public/fckeditor/editor/lang/de.js +0 -526
- data/public/fckeditor/editor/lang/el.js +0 -526
- data/public/fckeditor/editor/lang/en-au.js +0 -526
- data/public/fckeditor/editor/lang/en-ca.js +0 -526
- data/public/fckeditor/editor/lang/en-uk.js +0 -526
- data/public/fckeditor/editor/lang/en.js +0 -526
- data/public/fckeditor/editor/lang/eo.js +0 -526
- data/public/fckeditor/editor/lang/es.js +0 -526
- data/public/fckeditor/editor/lang/et.js +0 -526
- data/public/fckeditor/editor/lang/eu.js +0 -527
- data/public/fckeditor/editor/lang/fa.js +0 -526
- data/public/fckeditor/editor/lang/fi.js +0 -526
- data/public/fckeditor/editor/lang/fo.js +0 -526
- data/public/fckeditor/editor/lang/fr-ca.js +0 -526
- data/public/fckeditor/editor/lang/fr.js +0 -526
- data/public/fckeditor/editor/lang/gl.js +0 -526
- data/public/fckeditor/editor/lang/gu.js +0 -526
- data/public/fckeditor/editor/lang/he.js +0 -526
- data/public/fckeditor/editor/lang/hi.js +0 -526
- data/public/fckeditor/editor/lang/hr.js +0 -526
- data/public/fckeditor/editor/lang/hu.js +0 -526
- data/public/fckeditor/editor/lang/it.js +0 -526
- data/public/fckeditor/editor/lang/ja.js +0 -526
- data/public/fckeditor/editor/lang/km.js +0 -526
- data/public/fckeditor/editor/lang/ko.js +0 -526
- data/public/fckeditor/editor/lang/lt.js +0 -526
- data/public/fckeditor/editor/lang/lv.js +0 -526
- data/public/fckeditor/editor/lang/mn.js +0 -526
- data/public/fckeditor/editor/lang/ms.js +0 -526
- data/public/fckeditor/editor/lang/nb.js +0 -526
- data/public/fckeditor/editor/lang/nl.js +0 -526
- data/public/fckeditor/editor/lang/no.js +0 -526
- data/public/fckeditor/editor/lang/pl.js +0 -526
- data/public/fckeditor/editor/lang/pt-br.js +0 -526
- data/public/fckeditor/editor/lang/pt.js +0 -526
- data/public/fckeditor/editor/lang/ro.js +0 -526
- data/public/fckeditor/editor/lang/ru.js +0 -526
- data/public/fckeditor/editor/lang/sk.js +0 -526
- data/public/fckeditor/editor/lang/sl.js +0 -526
- data/public/fckeditor/editor/lang/sr-latn.js +0 -526
- data/public/fckeditor/editor/lang/sr.js +0 -526
- data/public/fckeditor/editor/lang/sv.js +0 -526
- data/public/fckeditor/editor/lang/th.js +0 -526
- data/public/fckeditor/editor/lang/tr.js +0 -526
- data/public/fckeditor/editor/lang/uk.js +0 -526
- data/public/fckeditor/editor/lang/vi.js +0 -526
- data/public/fckeditor/editor/lang/zh-cn.js +0 -526
- data/public/fckeditor/editor/lang/zh.js +0 -526
- data/public/fckeditor/editor/plugins/autogrow/fckplugin.js +0 -99
- data/public/fckeditor/editor/plugins/bbcode/_sample/sample.config.js +0 -26
- data/public/fckeditor/editor/plugins/bbcode/_sample/sample.html +0 -67
- data/public/fckeditor/editor/plugins/bbcode/fckplugin.js +0 -123
- data/public/fckeditor/editor/plugins/dragresizetable/fckplugin.js +0 -524
- data/public/fckeditor/editor/plugins/placeholder/fck_placeholder.html +0 -105
- data/public/fckeditor/editor/plugins/placeholder/fckplugin.js +0 -187
- data/public/fckeditor/editor/plugins/placeholder/lang/de.js +0 -27
- data/public/fckeditor/editor/plugins/placeholder/lang/en.js +0 -27
- data/public/fckeditor/editor/plugins/placeholder/lang/es.js +0 -27
- data/public/fckeditor/editor/plugins/placeholder/lang/fr.js +0 -27
- data/public/fckeditor/editor/plugins/placeholder/lang/it.js +0 -27
- data/public/fckeditor/editor/plugins/placeholder/lang/pl.js +0 -27
- data/public/fckeditor/editor/plugins/placeholder/placeholder.gif +0 -0
- data/public/fckeditor/editor/plugins/simplecommands/fckplugin.js +0 -29
- data/public/fckeditor/editor/plugins/tablecommands/fckplugin.js +0 -33
- data/public/fckeditor/editor/skins/_fckviewstrips.html +0 -121
- data/public/fckeditor/editor/skins/default/fck_dialog.css +0 -402
- data/public/fckeditor/editor/skins/default/fck_dialog_ie6.js +0 -110
- data/public/fckeditor/editor/skins/default/fck_editor.css +0 -464
- data/public/fckeditor/editor/skins/default/fck_strip.gif +0 -0
- data/public/fckeditor/editor/skins/default/images/sprites.gif +0 -0
- data/public/fckeditor/editor/skins/default/images/sprites.png +0 -0
- data/public/fckeditor/editor/skins/default/images/toolbar.arrowright.gif +0 -0
- data/public/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif +0 -0
- data/public/fckeditor/editor/skins/default/images/toolbar.collapse.gif +0 -0
- data/public/fckeditor/editor/skins/default/images/toolbar.end.gif +0 -0
- data/public/fckeditor/editor/skins/default/images/toolbar.expand.gif +0 -0
- data/public/fckeditor/editor/skins/default/images/toolbar.separator.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/fck_dialog.css +0 -402
- data/public/fckeditor/editor/skins/office2003/fck_dialog_ie6.js +0 -110
- data/public/fckeditor/editor/skins/office2003/fck_editor.css +0 -476
- data/public/fckeditor/editor/skins/office2003/fck_strip.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/dialog.sides.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/dialog.sides.png +0 -0
- data/public/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png +0 -0
- data/public/fckeditor/editor/skins/office2003/images/sprites.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/sprites.png +0 -0
- data/public/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/toolbar.bg.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/toolbar.end.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/toolbar.expand.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/toolbar.separator.gif +0 -0
- data/public/fckeditor/editor/skins/office2003/images/toolbar.start.gif +0 -0
- data/public/fckeditor/editor/skins/silver/fck_dialog.css +0 -402
- data/public/fckeditor/editor/skins/silver/fck_dialog_ie6.js +0 -110
- data/public/fckeditor/editor/skins/silver/fck_editor.css +0 -473
- data/public/fckeditor/editor/skins/silver/fck_strip.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/dialog.sides.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/dialog.sides.png +0 -0
- data/public/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png +0 -0
- data/public/fckeditor/editor/skins/silver/images/sprites.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/sprites.png +0 -0
- data/public/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/toolbar.collapse.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/toolbar.end.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/toolbar.expand.gif +0 -0
- data/public/fckeditor/editor/skins/silver/images/toolbar.separator.gif +0 -0
- data/public/fckeditor/fckconfig.js +0 -364
- data/public/fckeditor/fckdebug.html +0 -153
- data/public/fckeditor/fckdialog.html +0 -812
- data/public/fckeditor/fckeditor.html +0 -317
- data/public/fckeditor/fckeditor.js +0 -328
- data/public/fckeditor/fckeditor.original.html +0 -424
- data/public/fckeditor/fckpackager.xml +0 -262
- data/public/fckeditor/fckstyles.xml +0 -111
- data/public/fckeditor/fcktemplates.xml +0 -103
- data/public/javascripts/cms/editor.js +0 -56
@@ -0,0 +1,70 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
|
6
|
+
CKEDITOR.plugins.add( 'table',
|
7
|
+
{
|
8
|
+
init : function( editor )
|
9
|
+
{
|
10
|
+
var table = CKEDITOR.plugins.table,
|
11
|
+
lang = editor.lang.table;
|
12
|
+
|
13
|
+
editor.addCommand( 'table', new CKEDITOR.dialogCommand( 'table' ) );
|
14
|
+
editor.addCommand( 'tableProperties', new CKEDITOR.dialogCommand( 'tableProperties' ) );
|
15
|
+
|
16
|
+
editor.ui.addButton( 'Table',
|
17
|
+
{
|
18
|
+
label : lang.toolbar,
|
19
|
+
command : 'table'
|
20
|
+
});
|
21
|
+
|
22
|
+
CKEDITOR.dialog.add( 'table', this.path + 'dialogs/table.js' );
|
23
|
+
CKEDITOR.dialog.add( 'tableProperties', this.path + 'dialogs/table.js' );
|
24
|
+
|
25
|
+
// If the "menu" plugin is loaded, register the menu items.
|
26
|
+
if ( editor.addMenuItems )
|
27
|
+
{
|
28
|
+
editor.addMenuItems(
|
29
|
+
{
|
30
|
+
table :
|
31
|
+
{
|
32
|
+
label : lang.menu,
|
33
|
+
command : 'tableProperties',
|
34
|
+
group : 'table',
|
35
|
+
order : 5
|
36
|
+
},
|
37
|
+
|
38
|
+
tabledelete :
|
39
|
+
{
|
40
|
+
label : lang.deleteTable,
|
41
|
+
command : 'tableDelete',
|
42
|
+
group : 'table',
|
43
|
+
order : 1
|
44
|
+
}
|
45
|
+
} );
|
46
|
+
}
|
47
|
+
|
48
|
+
// If the "contextmenu" plugin is loaded, register the listeners.
|
49
|
+
if ( editor.contextMenu )
|
50
|
+
{
|
51
|
+
editor.contextMenu.addListener( function( element, selection )
|
52
|
+
{
|
53
|
+
if ( !element )
|
54
|
+
return null;
|
55
|
+
|
56
|
+
var isTable = element.is( 'table' ) || element.hasAscendant( 'table' );
|
57
|
+
|
58
|
+
if ( isTable )
|
59
|
+
{
|
60
|
+
return {
|
61
|
+
tabledelete : CKEDITOR.TRISTATE_OFF,
|
62
|
+
table : CKEDITOR.TRISTATE_OFF
|
63
|
+
};
|
64
|
+
}
|
65
|
+
|
66
|
+
return null;
|
67
|
+
} );
|
68
|
+
}
|
69
|
+
}
|
70
|
+
} );
|
@@ -0,0 +1,328 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
|
6
|
+
CKEDITOR.dialog.add( 'cellProperties', function( editor )
|
7
|
+
{
|
8
|
+
var langTable = editor.lang.table;
|
9
|
+
var langCell = langTable.cell;
|
10
|
+
var langCommon = editor.lang.common;
|
11
|
+
var validate = CKEDITOR.dialog.validate;
|
12
|
+
var widthPattern = /^(\d+(?:\.\d+)?)(px|%)$/,
|
13
|
+
heightPattern = /^(\d+(?:\.\d+)?)px$/;
|
14
|
+
var bind = CKEDITOR.tools.bind;
|
15
|
+
|
16
|
+
function spacer()
|
17
|
+
{
|
18
|
+
return { type : 'html', html : ' ' };
|
19
|
+
}
|
20
|
+
|
21
|
+
return {
|
22
|
+
title : langCell.title,
|
23
|
+
minWidth : 480,
|
24
|
+
minHeight : 140,
|
25
|
+
contents : [
|
26
|
+
{
|
27
|
+
id : 'info',
|
28
|
+
label : langCell.title,
|
29
|
+
accessKey : 'I',
|
30
|
+
elements :
|
31
|
+
[
|
32
|
+
{
|
33
|
+
type : 'hbox',
|
34
|
+
widths : [ '45%', '10%', '45%' ],
|
35
|
+
children :
|
36
|
+
[
|
37
|
+
{
|
38
|
+
type : 'vbox',
|
39
|
+
padding : 0,
|
40
|
+
children :
|
41
|
+
[
|
42
|
+
{
|
43
|
+
type : 'hbox',
|
44
|
+
widths : [ '70%', '30%' ],
|
45
|
+
children :
|
46
|
+
[
|
47
|
+
{
|
48
|
+
type : 'text',
|
49
|
+
id : 'width',
|
50
|
+
label : langTable.width,
|
51
|
+
widths : [ '71%', '29%' ],
|
52
|
+
labelLayout : 'horizontal',
|
53
|
+
validate : validate[ 'number' ]( langCell.invalidWidth ),
|
54
|
+
setup : function( selectedCell )
|
55
|
+
{
|
56
|
+
var widthMatch = widthPattern.exec( selectedCell.$.style.width );
|
57
|
+
if ( widthMatch )
|
58
|
+
this.setValue( widthMatch[1] );
|
59
|
+
},
|
60
|
+
commit : function( selectedCell )
|
61
|
+
{
|
62
|
+
var unit = this.getDialog().getValueOf( 'info', 'widthType' );
|
63
|
+
if ( this.getValue() !== '' )
|
64
|
+
selectedCell.$.style.width = this.getValue() + unit;
|
65
|
+
else
|
66
|
+
selectedCell.$.style.width = '';
|
67
|
+
},
|
68
|
+
'default' : ''
|
69
|
+
},
|
70
|
+
{
|
71
|
+
type : 'select',
|
72
|
+
id : 'widthType',
|
73
|
+
labelLayout : 'horizontal',
|
74
|
+
widths : [ '0%', '100%' ],
|
75
|
+
label : '',
|
76
|
+
'default' : 'px',
|
77
|
+
items :
|
78
|
+
[
|
79
|
+
[ langTable.widthPx, 'px' ],
|
80
|
+
[ langTable.widthPc, '%' ]
|
81
|
+
],
|
82
|
+
setup : function( selectedCell )
|
83
|
+
{
|
84
|
+
var widthMatch = widthPattern.exec( selectedCell.$.style.width );
|
85
|
+
if ( widthMatch )
|
86
|
+
this.setValue( widthMatch[2] );
|
87
|
+
}
|
88
|
+
}
|
89
|
+
]
|
90
|
+
},
|
91
|
+
{
|
92
|
+
type : 'hbox',
|
93
|
+
widths : [ '70%', '30%' ],
|
94
|
+
children :
|
95
|
+
[
|
96
|
+
{
|
97
|
+
type : 'text',
|
98
|
+
id : 'height',
|
99
|
+
label : langTable.height,
|
100
|
+
'default' : '',
|
101
|
+
widths : [ '71%', '29%' ],
|
102
|
+
labelLayout : 'horizontal',
|
103
|
+
validate : validate[ 'number' ]( langCell.invalidHeight ),
|
104
|
+
setup : function( selectedCell )
|
105
|
+
{
|
106
|
+
var heightMatch = heightPattern.exec( selectedCell.$.style.height );
|
107
|
+
if ( heightMatch )
|
108
|
+
this.setValue( heightMatch[1] );
|
109
|
+
},
|
110
|
+
commit : function( selectedCell )
|
111
|
+
{
|
112
|
+
if ( this.getValue() !== '' )
|
113
|
+
selectedCell.$.style.height = this.getValue() + 'px';
|
114
|
+
else
|
115
|
+
selectedCell.$.style.height = '';
|
116
|
+
}
|
117
|
+
},
|
118
|
+
{
|
119
|
+
type : 'html',
|
120
|
+
html : langTable.widthPx
|
121
|
+
}
|
122
|
+
]
|
123
|
+
},
|
124
|
+
spacer(),
|
125
|
+
{
|
126
|
+
type : 'select',
|
127
|
+
id : 'wordWrap',
|
128
|
+
labelLayout : 'horizontal',
|
129
|
+
label : langCell.wordWrap,
|
130
|
+
widths : [ '50%', '50%' ],
|
131
|
+
'default' : 'yes',
|
132
|
+
items :
|
133
|
+
[
|
134
|
+
[ langCell.yes, 'yes' ],
|
135
|
+
[ langCell.no, 'no' ]
|
136
|
+
],
|
137
|
+
commit : function( selectedCell )
|
138
|
+
{
|
139
|
+
if ( this.getValue() == 'no' )
|
140
|
+
selectedCell.setAttribute( 'noWrap', 'nowrap' );
|
141
|
+
else
|
142
|
+
selectedCell.removeAttribute( 'noWrap' );
|
143
|
+
}
|
144
|
+
},
|
145
|
+
spacer(),
|
146
|
+
{
|
147
|
+
type : 'select',
|
148
|
+
id : 'hAlign',
|
149
|
+
labelLayout : 'horizontal',
|
150
|
+
label : langCell.hAlign,
|
151
|
+
widths : [ '50%', '50%' ],
|
152
|
+
'default' : '',
|
153
|
+
items :
|
154
|
+
[
|
155
|
+
[ langCommon.notSet, '' ],
|
156
|
+
[ langTable.alignLeft, 'left' ],
|
157
|
+
[ langTable.alignCenter, 'center' ],
|
158
|
+
[ langTable.alignRight, 'right' ]
|
159
|
+
],
|
160
|
+
setup : function( selectedCell )
|
161
|
+
{
|
162
|
+
this.setValue( selectedCell.getAttribute( 'align' ) || '' );
|
163
|
+
},
|
164
|
+
commit : function( selectedCell )
|
165
|
+
{
|
166
|
+
if ( this.getValue() )
|
167
|
+
selectedCell.setAttribute( 'align', this.getValue() );
|
168
|
+
else
|
169
|
+
selectedCell.removeAttribute( 'align' );
|
170
|
+
}
|
171
|
+
},
|
172
|
+
{
|
173
|
+
type : 'select',
|
174
|
+
id : 'vAlign',
|
175
|
+
labelLayout : 'horizontal',
|
176
|
+
label : langCell.vAlign,
|
177
|
+
widths : [ '50%', '50%' ],
|
178
|
+
'default' : '',
|
179
|
+
items :
|
180
|
+
[
|
181
|
+
[ langCommon.notSet, '' ],
|
182
|
+
[ langCell.alignTop, 'top' ],
|
183
|
+
[ langCell.alignMiddle, 'middle' ],
|
184
|
+
[ langCell.alignBottom, 'bottom' ],
|
185
|
+
[ langCell.alignBaseline, 'baseline' ]
|
186
|
+
],
|
187
|
+
setup : function( selectedCell )
|
188
|
+
{
|
189
|
+
this.setValue( selectedCell.getAttribute( 'vAlign' ) || '' );
|
190
|
+
},
|
191
|
+
commit : function( selectedCell )
|
192
|
+
{
|
193
|
+
if ( this.getValue() )
|
194
|
+
selectedCell.setAttribute( 'vAlign', this.getValue() );
|
195
|
+
else
|
196
|
+
selectedCell.removeAttribute( 'vAlign' );
|
197
|
+
}
|
198
|
+
}
|
199
|
+
]
|
200
|
+
},
|
201
|
+
spacer(),
|
202
|
+
{
|
203
|
+
type : 'vbox',
|
204
|
+
padding : 0,
|
205
|
+
children :
|
206
|
+
[
|
207
|
+
{
|
208
|
+
type : 'select',
|
209
|
+
id : 'cellType',
|
210
|
+
label : langCell.cellType,
|
211
|
+
labelLayout : 'horizontal',
|
212
|
+
widths : [ '50%', '50%' ],
|
213
|
+
'default' : 'td',
|
214
|
+
items :
|
215
|
+
[
|
216
|
+
[ langCell.data, 'td' ],
|
217
|
+
[ langCell.header, 'th' ]
|
218
|
+
],
|
219
|
+
setup : function( selectedCell )
|
220
|
+
{
|
221
|
+
this.setValue( selectedCell.getName() );
|
222
|
+
},
|
223
|
+
commit : function( selectedCell )
|
224
|
+
{
|
225
|
+
selectedCell.renameNode( this.getValue() );
|
226
|
+
}
|
227
|
+
},
|
228
|
+
spacer(),
|
229
|
+
{
|
230
|
+
type : 'text',
|
231
|
+
id : 'rowSpan',
|
232
|
+
label : langCell.rowSpan,
|
233
|
+
labelLayout : 'horizontal',
|
234
|
+
widths : [ '50%', '50%' ],
|
235
|
+
'default' : '',
|
236
|
+
validate : validate.integer( langCell.invalidRowSpan ),
|
237
|
+
setup : function( selectedCell )
|
238
|
+
{
|
239
|
+
this.setValue( selectedCell.getAttribute( 'rowSpan' ) || '' );
|
240
|
+
},
|
241
|
+
commit : function( selectedCell )
|
242
|
+
{
|
243
|
+
if ( this.getValue() )
|
244
|
+
selectedCell.setAttribute( 'rowSpan', this.getValue() );
|
245
|
+
else
|
246
|
+
selectedCell.removeAttribute( 'rowSpan' );
|
247
|
+
}
|
248
|
+
},
|
249
|
+
{
|
250
|
+
type : 'text',
|
251
|
+
id : 'colSpan',
|
252
|
+
label : langCell.colSpan,
|
253
|
+
labelLayout : 'horizontal',
|
254
|
+
widths : [ '50%', '50%' ],
|
255
|
+
'default' : '',
|
256
|
+
validate : validate.integer( langCell.invalidColSpan ),
|
257
|
+
setup : function( selectedCell )
|
258
|
+
{
|
259
|
+
this.setValue( selectedCell.getAttribute( 'colSpan' ) || '' );
|
260
|
+
},
|
261
|
+
commit : function( selectedCell )
|
262
|
+
{
|
263
|
+
if ( this.getValue() )
|
264
|
+
selectedCell.setAttribute( 'colSpan', this.getValue() );
|
265
|
+
else
|
266
|
+
selectedCell.removeAttribute( 'colSpan' );
|
267
|
+
}
|
268
|
+
},
|
269
|
+
spacer(),
|
270
|
+
{
|
271
|
+
type : 'text',
|
272
|
+
id : 'bgColor',
|
273
|
+
label : langCell.bgColor,
|
274
|
+
labelLayout : 'horizontal',
|
275
|
+
widths : [ '50%', '50%' ],
|
276
|
+
'default' : '',
|
277
|
+
setup : function( selectedCell )
|
278
|
+
{
|
279
|
+
this.setValue( selectedCell.getAttribute( 'bgColor' ) || '' );
|
280
|
+
},
|
281
|
+
commit : function( selectedCell )
|
282
|
+
{
|
283
|
+
if ( this.getValue() )
|
284
|
+
selectedCell.setAttribute( 'bgColor', this.getValue() );
|
285
|
+
else
|
286
|
+
selectedCell.removeAttribute( 'bgColor' );
|
287
|
+
}
|
288
|
+
},
|
289
|
+
{
|
290
|
+
type : 'text',
|
291
|
+
id : 'borderColor',
|
292
|
+
label : langCell.borderColor,
|
293
|
+
labelLayout : 'horizontal',
|
294
|
+
widths : [ '50%', '50%' ],
|
295
|
+
'default' : '',
|
296
|
+
setup : function( selectedCell )
|
297
|
+
{
|
298
|
+
this.setValue( selectedCell.getAttribute( 'borderColor' ) || '' );
|
299
|
+
},
|
300
|
+
commit : function( selectedCell )
|
301
|
+
{
|
302
|
+
if ( this.getValue() )
|
303
|
+
selectedCell.setAttribute( 'borderColor', this.getValue() );
|
304
|
+
else
|
305
|
+
selectedCell.removeAttribute( 'borderColor' );
|
306
|
+
}
|
307
|
+
}
|
308
|
+
]
|
309
|
+
}
|
310
|
+
]
|
311
|
+
}
|
312
|
+
]
|
313
|
+
}
|
314
|
+
],
|
315
|
+
onShow : function()
|
316
|
+
{
|
317
|
+
this.cells = CKEDITOR.plugins.tabletools.getSelectedCells(
|
318
|
+
this._.editor.getSelection() );
|
319
|
+
this.setupContent( this.cells[ 0 ] );
|
320
|
+
},
|
321
|
+
onOk : function()
|
322
|
+
{
|
323
|
+
var cells = this.cells;
|
324
|
+
for ( var i = 0 ; i < cells.length ; i++ )
|
325
|
+
this.commitContent( cells[ i ] );
|
326
|
+
}
|
327
|
+
};
|
328
|
+
} );
|
@@ -0,0 +1,701 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
|
6
|
+
(function()
|
7
|
+
{
|
8
|
+
function removeRawAttribute( $node, attr )
|
9
|
+
{
|
10
|
+
if ( CKEDITOR.env.ie )
|
11
|
+
$node.removeAttribute( attr );
|
12
|
+
else
|
13
|
+
delete $node[ attr ];
|
14
|
+
}
|
15
|
+
|
16
|
+
var cellNodeRegex = /^(?:td|th)$/;
|
17
|
+
|
18
|
+
function getSelectedCells( selection )
|
19
|
+
{
|
20
|
+
// Walker will try to split text nodes, which will make the current selection
|
21
|
+
// invalid. So save bookmarks before doing anything.
|
22
|
+
var bookmarks = selection.createBookmarks();
|
23
|
+
|
24
|
+
var ranges = selection.getRanges();
|
25
|
+
var retval = [];
|
26
|
+
var database = {};
|
27
|
+
|
28
|
+
function moveOutOfCellGuard( node )
|
29
|
+
{
|
30
|
+
// Apply to the first cell only.
|
31
|
+
if ( retval.length > 0 )
|
32
|
+
return;
|
33
|
+
|
34
|
+
// If we are exiting from the first </td>, then the td should definitely be
|
35
|
+
// included.
|
36
|
+
if ( node.type == CKEDITOR.NODE_ELEMENT && cellNodeRegex.test( node.getName() )
|
37
|
+
&& !node.getCustomData( 'selected_cell' ) )
|
38
|
+
{
|
39
|
+
CKEDITOR.dom.element.setMarker( database, node, 'selected_cell', true );
|
40
|
+
retval.push( node );
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
for ( var i = 0 ; i < ranges.length ; i++ )
|
45
|
+
{
|
46
|
+
var range = ranges[ i ];
|
47
|
+
|
48
|
+
if ( range.collapsed )
|
49
|
+
{
|
50
|
+
// Walker does not handle collapsed ranges yet - fall back to old API.
|
51
|
+
var startNode = range.getCommonAncestor();
|
52
|
+
var nearestCell = startNode.getAscendant( 'td', true ) || startNode.getAscendant( 'th', true );
|
53
|
+
if ( nearestCell )
|
54
|
+
retval.push( nearestCell );
|
55
|
+
}
|
56
|
+
else
|
57
|
+
{
|
58
|
+
var walker = new CKEDITOR.dom.walker( range );
|
59
|
+
var node;
|
60
|
+
walker.guard = moveOutOfCellGuard;
|
61
|
+
|
62
|
+
while ( ( node = walker.next() ) )
|
63
|
+
{
|
64
|
+
// If may be possible for us to have a range like this:
|
65
|
+
// <td>^1</td><td>^2</td>
|
66
|
+
// The 2nd td shouldn't be included.
|
67
|
+
//
|
68
|
+
// So we have to take care to include a td we've entered only when we've
|
69
|
+
// walked into its children.
|
70
|
+
|
71
|
+
var parent = node.getParent();
|
72
|
+
if ( parent && cellNodeRegex.test( parent.getName() ) && !parent.getCustomData( 'selected_cell' ) )
|
73
|
+
{
|
74
|
+
CKEDITOR.dom.element.setMarker( database, parent, 'selected_cell', true );
|
75
|
+
retval.push( parent );
|
76
|
+
}
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
CKEDITOR.dom.element.clearAllMarkers( database );
|
82
|
+
|
83
|
+
// Restore selection position.
|
84
|
+
selection.selectBookmarks( bookmarks );
|
85
|
+
|
86
|
+
return retval;
|
87
|
+
}
|
88
|
+
|
89
|
+
function createTableMap( $refCell )
|
90
|
+
{
|
91
|
+
var refCell = new CKEDITOR.dom.element( $refCell );
|
92
|
+
var $table = ( refCell.getName() == 'table' ? $refCell : refCell.getAscendant( 'table' ) ).$;
|
93
|
+
var $rows = $table.rows;
|
94
|
+
|
95
|
+
// Row and column counters.
|
96
|
+
var r = -1;
|
97
|
+
var map = [];
|
98
|
+
for ( var i = 0 ; i < $rows.length ; i++ )
|
99
|
+
{
|
100
|
+
r++;
|
101
|
+
if ( !map[ r ] )
|
102
|
+
map[ r ] = [];
|
103
|
+
|
104
|
+
var c = -1;
|
105
|
+
|
106
|
+
for ( var j = 0 ; j < $rows[ i ].cells.length ; j++ )
|
107
|
+
{
|
108
|
+
var $cell = $rows[ i ].cells[ j ];
|
109
|
+
|
110
|
+
c++;
|
111
|
+
while ( map[ r ][ c ] )
|
112
|
+
c++;
|
113
|
+
|
114
|
+
var colSpan = isNaN( $cell.colSpan ) ? 1 : $cell.colSpan;
|
115
|
+
var rowSpan = isNaN( $cell.rowSpan ) ? 1 : $cell.rowSpan;
|
116
|
+
|
117
|
+
for ( var rs = 0 ; rs < rowSpan ; rs++ )
|
118
|
+
{
|
119
|
+
if ( !map[ r + rs ] )
|
120
|
+
map[ r + rs ] = [];
|
121
|
+
|
122
|
+
for ( var cs = 0 ; cs < colSpan ; cs++ )
|
123
|
+
map [ r + rs ][ c + cs ] = $rows[ i ].cells[ j ];
|
124
|
+
}
|
125
|
+
|
126
|
+
c += colSpan - 1;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
return map;
|
131
|
+
}
|
132
|
+
|
133
|
+
function installTableMap( tableMap, $table )
|
134
|
+
{
|
135
|
+
/*
|
136
|
+
* IE BUG: rowSpan is always 1 in IE if the cell isn't attached to a row. So
|
137
|
+
* store is separately in another attribute. (#1917)
|
138
|
+
*/
|
139
|
+
var rowSpanAttr = CKEDITOR.env.ie ? '_cke_rowspan' : 'rowSpan';
|
140
|
+
|
141
|
+
/*
|
142
|
+
* Disconnect all the cells in tableMap from their parents, set all colSpan
|
143
|
+
* and rowSpan attributes to 1.
|
144
|
+
*/
|
145
|
+
for ( var i = 0 ; i < tableMap.length ; i++ )
|
146
|
+
{
|
147
|
+
for ( var j = 0 ; j < tableMap[ i ].length ; j++ )
|
148
|
+
{
|
149
|
+
var $cell = tableMap[ i ][ j ];
|
150
|
+
if ( $cell.parentNode )
|
151
|
+
$cell.parentNode.removeChild( $cell );
|
152
|
+
$cell.colSpan = $cell[ rowSpanAttr ] = 1;
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
// Scan by rows and set colSpan.
|
157
|
+
var maxCol = 0;
|
158
|
+
for ( i = 0 ; i < tableMap.length ; i++ )
|
159
|
+
{
|
160
|
+
for ( j = 0 ; j < tableMap[ i ].length ; j++ )
|
161
|
+
{
|
162
|
+
$cell = tableMap[ i ][ j ];
|
163
|
+
if ( !$cell )
|
164
|
+
continue;
|
165
|
+
if ( j > maxCol )
|
166
|
+
maxCol = j;
|
167
|
+
if ( $cell[ '_cke_colScanned' ] )
|
168
|
+
continue;
|
169
|
+
if ( tableMap[ i ][ j - 1 ] == $cell )
|
170
|
+
$cell.colSpan++;
|
171
|
+
if ( tableMap[ i ][ j + 1 ] != $cell )
|
172
|
+
$cell[ '_cke_colScanned' ] = 1;
|
173
|
+
}
|
174
|
+
}
|
175
|
+
|
176
|
+
// Scan by columns and set rowSpan.
|
177
|
+
for ( i = 0 ; i <= maxCol ; i++ )
|
178
|
+
{
|
179
|
+
for ( j = 0 ; j < tableMap.length ; j++ )
|
180
|
+
{
|
181
|
+
if ( !tableMap[ j ] )
|
182
|
+
continue;
|
183
|
+
$cell = tableMap[ j ][ i ];
|
184
|
+
if ( !$cell || $cell[ '_cke_rowScanned' ] )
|
185
|
+
continue;
|
186
|
+
if ( tableMap[ j - 1 ] && tableMap[ j - 1 ][ i ] == $cell )
|
187
|
+
$cell[ rowSpanAttr ]++;
|
188
|
+
if ( !tableMap[ j + 1 ] || tableMap[ j + 1 ][ i ] != $cell )
|
189
|
+
$cell[ '_cke_rowScanned' ] = 1;
|
190
|
+
}
|
191
|
+
}
|
192
|
+
|
193
|
+
// Clear all temporary flags.
|
194
|
+
for ( i = 0 ; i < tableMap.length ; i++ )
|
195
|
+
{
|
196
|
+
for ( j = 0 ; j < tableMap[ i ].length ; j++ )
|
197
|
+
{
|
198
|
+
$cell = tableMap[ i ][ j ];
|
199
|
+
removeRawAttribute( $cell, '_cke_colScanned' );
|
200
|
+
removeRawAttribute( $cell, '_cke_rowScanned' );
|
201
|
+
}
|
202
|
+
}
|
203
|
+
|
204
|
+
// Insert physical rows and columns to table.
|
205
|
+
for ( i = 0 ; i < tableMap.length ; i++ )
|
206
|
+
{
|
207
|
+
var $row = $table.ownerDocument.createElement( 'tr' );
|
208
|
+
for ( j = 0 ; j < tableMap[ i ].length ; )
|
209
|
+
{
|
210
|
+
$cell = tableMap[ i ][ j ];
|
211
|
+
if ( tableMap[ i - 1 ] && tableMap[ i - 1 ][ j ] == $cell )
|
212
|
+
{
|
213
|
+
j += $cell.colSpan;
|
214
|
+
continue;
|
215
|
+
}
|
216
|
+
$row.appendChild( $cell );
|
217
|
+
if ( rowSpanAttr != 'rowSpan' )
|
218
|
+
{
|
219
|
+
$cell.rowSpan = $cell[ rowSpanAttr ];
|
220
|
+
$cell.removeAttribute( rowSpanAttr );
|
221
|
+
}
|
222
|
+
j += $cell.colSpan;
|
223
|
+
if ( $cell.colSpan == 1 )
|
224
|
+
$cell.removeAttribute( 'colSpan' );
|
225
|
+
if ( $cell.rowSpan == 1 )
|
226
|
+
$cell.removeAttribute( 'rowSpan' );
|
227
|
+
}
|
228
|
+
|
229
|
+
if ( CKEDITOR.env.ie )
|
230
|
+
$table.rows[ i ].replaceNode( $row );
|
231
|
+
else
|
232
|
+
{
|
233
|
+
var dest = new CKEDITOR.dom.element( $table.rows[ i ] );
|
234
|
+
var src = new CKEDITOR.dom.element( $row );
|
235
|
+
dest.setHtml( '' );
|
236
|
+
src.moveChildren( dest );
|
237
|
+
}
|
238
|
+
}
|
239
|
+
}
|
240
|
+
|
241
|
+
function clearRow( $tr )
|
242
|
+
{
|
243
|
+
// Get the array of row's cells.
|
244
|
+
var $cells = $tr.cells;
|
245
|
+
|
246
|
+
// Empty all cells.
|
247
|
+
for ( var i = 0 ; i < $cells.length ; i++ )
|
248
|
+
{
|
249
|
+
$cells[ i ].innerHTML = '';
|
250
|
+
|
251
|
+
if ( !CKEDITOR.env.ie )
|
252
|
+
( new CKEDITOR.dom.element( $cells[ i ] ) ).appendBogus();
|
253
|
+
}
|
254
|
+
}
|
255
|
+
|
256
|
+
function insertRow( selection, insertBefore )
|
257
|
+
{
|
258
|
+
// Get the row where the selection is placed in.
|
259
|
+
var row = selection.getStartElement().getAscendant( 'tr' );
|
260
|
+
if ( !row )
|
261
|
+
return;
|
262
|
+
|
263
|
+
// Create a clone of the row.
|
264
|
+
var newRow = row.clone( true );
|
265
|
+
|
266
|
+
// Insert the new row before of it.
|
267
|
+
newRow.insertBefore( row );
|
268
|
+
|
269
|
+
// Clean one of the rows to produce the illusion of inserting an empty row
|
270
|
+
// before or after.
|
271
|
+
clearRow( insertBefore ? newRow.$ : row.$ );
|
272
|
+
}
|
273
|
+
|
274
|
+
function deleteRows( selectionOrRow )
|
275
|
+
{
|
276
|
+
if ( selectionOrRow instanceof CKEDITOR.dom.selection )
|
277
|
+
{
|
278
|
+
var cells = getSelectedCells( selectionOrRow );
|
279
|
+
var rowsToDelete = [];
|
280
|
+
|
281
|
+
// Queue up the rows - it's possible and likely that we have duplicates.
|
282
|
+
for ( var i = 0 ; i < cells.length ; i++ )
|
283
|
+
{
|
284
|
+
var row = cells[ i ].getParent();
|
285
|
+
rowsToDelete[ row.$.rowIndex ] = row;
|
286
|
+
}
|
287
|
+
|
288
|
+
for ( i = rowsToDelete.length ; i >= 0 ; i-- )
|
289
|
+
{
|
290
|
+
if ( rowsToDelete[ i ] )
|
291
|
+
deleteRows( rowsToDelete[ i ] );
|
292
|
+
}
|
293
|
+
}
|
294
|
+
else if ( selectionOrRow instanceof CKEDITOR.dom.element )
|
295
|
+
{
|
296
|
+
var table = selectionOrRow.getAscendant( 'table' );
|
297
|
+
|
298
|
+
if ( table.$.rows.length == 1 )
|
299
|
+
table.remove();
|
300
|
+
else
|
301
|
+
selectionOrRow.remove();
|
302
|
+
}
|
303
|
+
}
|
304
|
+
|
305
|
+
function insertColumn( selection, insertBefore )
|
306
|
+
{
|
307
|
+
// Get the cell where the selection is placed in.
|
308
|
+
var startElement = selection.getStartElement();
|
309
|
+
var cell = startElement.getAscendant( 'td', true ) || startElement.getAscendant( 'th', true );
|
310
|
+
|
311
|
+
if ( !cell )
|
312
|
+
return;
|
313
|
+
|
314
|
+
// Get the cell's table.
|
315
|
+
var table = cell.getAscendant( 'table' );
|
316
|
+
var cellIndex = cell.$.cellIndex;
|
317
|
+
|
318
|
+
// Loop through all rows available in the table.
|
319
|
+
for ( var i = 0 ; i < table.$.rows.length ; i++ )
|
320
|
+
{
|
321
|
+
var $row = table.$.rows[ i ];
|
322
|
+
|
323
|
+
// If the row doesn't have enough cells, ignore it.
|
324
|
+
if ( $row.cells.length < ( cellIndex + 1 ) )
|
325
|
+
continue;
|
326
|
+
|
327
|
+
cell = new CKEDITOR.dom.element( $row.cells[ cellIndex ].cloneNode( false ) );
|
328
|
+
|
329
|
+
if ( !CKEDITOR.env.ie )
|
330
|
+
cell.appendBogus();
|
331
|
+
|
332
|
+
// Get back the currently selected cell.
|
333
|
+
var baseCell = new CKEDITOR.dom.element( $row.cells[ cellIndex ] );
|
334
|
+
if ( insertBefore )
|
335
|
+
cell.insertBefore( baseCell );
|
336
|
+
else
|
337
|
+
cell.insertAfter( baseCell );
|
338
|
+
}
|
339
|
+
}
|
340
|
+
|
341
|
+
function deleteColumns( selectionOrCell )
|
342
|
+
{
|
343
|
+
if ( selectionOrCell instanceof CKEDITOR.dom.selection )
|
344
|
+
{
|
345
|
+
var colsToDelete = getSelectedCells( selectionOrCell );
|
346
|
+
for ( var i = colsToDelete.length ; i >= 0 ; i-- )
|
347
|
+
{
|
348
|
+
if ( colsToDelete[ i ] )
|
349
|
+
deleteColumns( colsToDelete[ i ] );
|
350
|
+
}
|
351
|
+
}
|
352
|
+
else if ( selectionOrCell instanceof CKEDITOR.dom.element )
|
353
|
+
{
|
354
|
+
// Get the cell's table.
|
355
|
+
var table = selectionOrCell.getAscendant( 'table' );
|
356
|
+
|
357
|
+
// Get the cell index.
|
358
|
+
var cellIndex = selectionOrCell.$.cellIndex;
|
359
|
+
|
360
|
+
/*
|
361
|
+
* Loop through all rows from down to up, coz it's possible that some rows
|
362
|
+
* will be deleted.
|
363
|
+
*/
|
364
|
+
for ( i = table.$.rows.length - 1 ; i >= 0 ; i-- )
|
365
|
+
{
|
366
|
+
// Get the row.
|
367
|
+
var row = new CKEDITOR.dom.element( table.$.rows[ i ] );
|
368
|
+
|
369
|
+
// If the cell to be removed is the first one and the row has just one cell.
|
370
|
+
if ( !cellIndex && row.$.cells.length == 1 )
|
371
|
+
{
|
372
|
+
deleteRows( row );
|
373
|
+
continue;
|
374
|
+
}
|
375
|
+
|
376
|
+
// Else, just delete the cell.
|
377
|
+
if ( row.$.cells[ cellIndex ] )
|
378
|
+
row.$.removeChild( row.$.cells[ cellIndex ] );
|
379
|
+
}
|
380
|
+
}
|
381
|
+
}
|
382
|
+
|
383
|
+
function insertCell( selection, insertBefore )
|
384
|
+
{
|
385
|
+
var startElement = selection.getStartElement();
|
386
|
+
var cell = startElement.getAscendant( 'td', true ) || startElement.getAscendant( 'th', true );
|
387
|
+
|
388
|
+
if ( !cell )
|
389
|
+
return;
|
390
|
+
|
391
|
+
// Create the new cell element to be added.
|
392
|
+
var newCell = cell.clone();
|
393
|
+
if ( !CKEDITOR.env.ie )
|
394
|
+
newCell.appendBogus();
|
395
|
+
|
396
|
+
if ( insertBefore )
|
397
|
+
newCell.insertBefore( cell );
|
398
|
+
else
|
399
|
+
newCell.insertAfter( cell );
|
400
|
+
}
|
401
|
+
|
402
|
+
function deleteCells( selectionOrCell )
|
403
|
+
{
|
404
|
+
if ( selectionOrCell instanceof CKEDITOR.dom.selection )
|
405
|
+
{
|
406
|
+
var cellsToDelete = getSelectedCells( selectionOrCell );
|
407
|
+
for ( var i = cellsToDelete.length - 1 ; i >= 0 ; i-- )
|
408
|
+
deleteCells( cellsToDelete[ i ] );
|
409
|
+
}
|
410
|
+
else if ( selectionOrCell instanceof CKEDITOR.dom.element )
|
411
|
+
{
|
412
|
+
if ( selectionOrCell.getParent().getChildCount() == 1 )
|
413
|
+
selectionOrCell.getParent().remove();
|
414
|
+
else
|
415
|
+
selectionOrCell.remove();
|
416
|
+
}
|
417
|
+
}
|
418
|
+
|
419
|
+
// Context menu on table caption incorrect (#3834)
|
420
|
+
var contextMenuTags = { thead : 1, tbody : 1, tfoot : 1, td : 1, tr : 1, th : 1 };
|
421
|
+
|
422
|
+
CKEDITOR.plugins.tabletools =
|
423
|
+
{
|
424
|
+
init : function( editor )
|
425
|
+
{
|
426
|
+
var lang = editor.lang.table;
|
427
|
+
|
428
|
+
editor.addCommand( 'cellProperties', new CKEDITOR.dialogCommand( 'cellProperties' ) );
|
429
|
+
CKEDITOR.dialog.add( 'cellProperties', this.path + 'dialogs/tableCell.js' );
|
430
|
+
|
431
|
+
editor.addCommand( 'tableDelete',
|
432
|
+
{
|
433
|
+
exec : function( editor )
|
434
|
+
{
|
435
|
+
var selection = editor.getSelection();
|
436
|
+
var startElement = selection && selection.getStartElement();
|
437
|
+
var table = startElement && startElement.getAscendant( 'table', true );
|
438
|
+
|
439
|
+
if ( !table )
|
440
|
+
return;
|
441
|
+
|
442
|
+
// Maintain the selection point at where the table was deleted.
|
443
|
+
selection.selectElement( table );
|
444
|
+
var range = selection.getRanges()[0];
|
445
|
+
range.collapse();
|
446
|
+
selection.selectRanges( [ range ] );
|
447
|
+
|
448
|
+
// If the table's parent has only one child, remove it as well.
|
449
|
+
if ( table.getParent().getChildCount() == 1 )
|
450
|
+
table.getParent().remove();
|
451
|
+
else
|
452
|
+
table.remove();
|
453
|
+
}
|
454
|
+
} );
|
455
|
+
|
456
|
+
editor.addCommand( 'rowDelete',
|
457
|
+
{
|
458
|
+
exec : function( editor )
|
459
|
+
{
|
460
|
+
var selection = editor.getSelection();
|
461
|
+
deleteRows( selection );
|
462
|
+
}
|
463
|
+
} );
|
464
|
+
|
465
|
+
editor.addCommand( 'rowInsertBefore',
|
466
|
+
{
|
467
|
+
exec : function( editor )
|
468
|
+
{
|
469
|
+
var selection = editor.getSelection();
|
470
|
+
insertRow( selection, true );
|
471
|
+
}
|
472
|
+
} );
|
473
|
+
|
474
|
+
editor.addCommand( 'rowInsertAfter',
|
475
|
+
{
|
476
|
+
exec : function( editor )
|
477
|
+
{
|
478
|
+
var selection = editor.getSelection();
|
479
|
+
insertRow( selection );
|
480
|
+
}
|
481
|
+
} );
|
482
|
+
|
483
|
+
editor.addCommand( 'columnDelete',
|
484
|
+
{
|
485
|
+
exec : function( editor )
|
486
|
+
{
|
487
|
+
var selection = editor.getSelection();
|
488
|
+
deleteColumns( selection );
|
489
|
+
}
|
490
|
+
} );
|
491
|
+
|
492
|
+
editor.addCommand( 'columnInsertBefore',
|
493
|
+
{
|
494
|
+
exec : function( editor )
|
495
|
+
{
|
496
|
+
var selection = editor.getSelection();
|
497
|
+
insertColumn( selection, true );
|
498
|
+
}
|
499
|
+
} );
|
500
|
+
|
501
|
+
editor.addCommand( 'columnInsertAfter',
|
502
|
+
{
|
503
|
+
exec : function( editor )
|
504
|
+
{
|
505
|
+
var selection = editor.getSelection();
|
506
|
+
insertColumn( selection );
|
507
|
+
}
|
508
|
+
} );
|
509
|
+
|
510
|
+
editor.addCommand( 'cellDelete',
|
511
|
+
{
|
512
|
+
exec : function( editor )
|
513
|
+
{
|
514
|
+
var selection = editor.getSelection();
|
515
|
+
deleteCells( selection );
|
516
|
+
}
|
517
|
+
} );
|
518
|
+
|
519
|
+
editor.addCommand( 'cellInsertBefore',
|
520
|
+
{
|
521
|
+
exec : function( editor )
|
522
|
+
{
|
523
|
+
var selection = editor.getSelection();
|
524
|
+
insertCell( selection, true );
|
525
|
+
}
|
526
|
+
} );
|
527
|
+
|
528
|
+
editor.addCommand( 'cellInsertAfter',
|
529
|
+
{
|
530
|
+
exec : function( editor )
|
531
|
+
{
|
532
|
+
var selection = editor.getSelection();
|
533
|
+
insertCell( selection );
|
534
|
+
}
|
535
|
+
} );
|
536
|
+
|
537
|
+
// If the "menu" plugin is loaded, register the menu items.
|
538
|
+
if ( editor.addMenuItems )
|
539
|
+
{
|
540
|
+
editor.addMenuItems(
|
541
|
+
{
|
542
|
+
tablecell :
|
543
|
+
{
|
544
|
+
label : lang.cell.menu,
|
545
|
+
group : 'tablecell',
|
546
|
+
order : 1,
|
547
|
+
getItems : function()
|
548
|
+
{
|
549
|
+
var cells = getSelectedCells( editor.getSelection() );
|
550
|
+
return {
|
551
|
+
tablecell_insertBefore : CKEDITOR.TRISTATE_OFF,
|
552
|
+
tablecell_insertAfter : CKEDITOR.TRISTATE_OFF,
|
553
|
+
tablecell_delete : CKEDITOR.TRISTATE_OFF,
|
554
|
+
tablecell_properties : cells.length > 0 ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED
|
555
|
+
};
|
556
|
+
}
|
557
|
+
},
|
558
|
+
|
559
|
+
tablecell_insertBefore :
|
560
|
+
{
|
561
|
+
label : lang.cell.insertBefore,
|
562
|
+
group : 'tablecell',
|
563
|
+
command : 'cellInsertBefore',
|
564
|
+
order : 5
|
565
|
+
},
|
566
|
+
|
567
|
+
tablecell_insertAfter :
|
568
|
+
{
|
569
|
+
label : lang.cell.insertAfter,
|
570
|
+
group : 'tablecell',
|
571
|
+
command : 'cellInsertAfter',
|
572
|
+
order : 10
|
573
|
+
},
|
574
|
+
|
575
|
+
tablecell_delete :
|
576
|
+
{
|
577
|
+
label : lang.cell.deleteCell,
|
578
|
+
group : 'tablecell',
|
579
|
+
command : 'cellDelete',
|
580
|
+
order : 15
|
581
|
+
},
|
582
|
+
|
583
|
+
tablecell_properties :
|
584
|
+
{
|
585
|
+
label : lang.cell.title,
|
586
|
+
group : 'tablecellproperties',
|
587
|
+
command : 'cellProperties',
|
588
|
+
order : 20
|
589
|
+
},
|
590
|
+
|
591
|
+
tablerow :
|
592
|
+
{
|
593
|
+
label : lang.row.menu,
|
594
|
+
group : 'tablerow',
|
595
|
+
order : 1,
|
596
|
+
getItems : function()
|
597
|
+
{
|
598
|
+
return {
|
599
|
+
tablerow_insertBefore : CKEDITOR.TRISTATE_OFF,
|
600
|
+
tablerow_insertAfter : CKEDITOR.TRISTATE_OFF,
|
601
|
+
tablerow_delete : CKEDITOR.TRISTATE_OFF
|
602
|
+
};
|
603
|
+
}
|
604
|
+
},
|
605
|
+
|
606
|
+
tablerow_insertBefore :
|
607
|
+
{
|
608
|
+
label : lang.row.insertBefore,
|
609
|
+
group : 'tablerow',
|
610
|
+
command : 'rowInsertBefore',
|
611
|
+
order : 5
|
612
|
+
},
|
613
|
+
|
614
|
+
tablerow_insertAfter :
|
615
|
+
{
|
616
|
+
label : lang.row.insertAfter,
|
617
|
+
group : 'tablerow',
|
618
|
+
command : 'rowInsertAfter',
|
619
|
+
order : 10
|
620
|
+
},
|
621
|
+
|
622
|
+
tablerow_delete :
|
623
|
+
{
|
624
|
+
label : lang.row.deleteRow,
|
625
|
+
group : 'tablerow',
|
626
|
+
command : 'rowDelete',
|
627
|
+
order : 15
|
628
|
+
},
|
629
|
+
|
630
|
+
tablecolumn :
|
631
|
+
{
|
632
|
+
label : lang.column.menu,
|
633
|
+
group : 'tablecolumn',
|
634
|
+
order : 1,
|
635
|
+
getItems : function()
|
636
|
+
{
|
637
|
+
return {
|
638
|
+
tablecolumn_insertBefore : CKEDITOR.TRISTATE_OFF,
|
639
|
+
tablecolumn_insertAfter : CKEDITOR.TRISTATE_OFF,
|
640
|
+
tablecolumn_delete : CKEDITOR.TRISTATE_OFF
|
641
|
+
};
|
642
|
+
}
|
643
|
+
},
|
644
|
+
|
645
|
+
tablecolumn_insertBefore :
|
646
|
+
{
|
647
|
+
label : lang.column.insertBefore,
|
648
|
+
group : 'tablecolumn',
|
649
|
+
command : 'columnInsertBefore',
|
650
|
+
order : 5
|
651
|
+
},
|
652
|
+
|
653
|
+
tablecolumn_insertAfter :
|
654
|
+
{
|
655
|
+
label : lang.column.insertAfter,
|
656
|
+
group : 'tablecolumn',
|
657
|
+
command : 'columnInsertAfter',
|
658
|
+
order : 10
|
659
|
+
},
|
660
|
+
|
661
|
+
tablecolumn_delete :
|
662
|
+
{
|
663
|
+
label : lang.column.deleteColumn,
|
664
|
+
group : 'tablecolumn',
|
665
|
+
command : 'columnDelete',
|
666
|
+
order : 15
|
667
|
+
}
|
668
|
+
});
|
669
|
+
}
|
670
|
+
|
671
|
+
// If the "contextmenu" plugin is laoded, register the listeners.
|
672
|
+
if ( editor.contextMenu )
|
673
|
+
{
|
674
|
+
editor.contextMenu.addListener( function( element, selection )
|
675
|
+
{
|
676
|
+
if ( !element )
|
677
|
+
return null;
|
678
|
+
|
679
|
+
while ( element )
|
680
|
+
{
|
681
|
+
if ( element.getName() in contextMenuTags )
|
682
|
+
{
|
683
|
+
return {
|
684
|
+
tablecell : CKEDITOR.TRISTATE_OFF,
|
685
|
+
tablerow : CKEDITOR.TRISTATE_OFF,
|
686
|
+
tablecolumn : CKEDITOR.TRISTATE_OFF
|
687
|
+
};
|
688
|
+
}
|
689
|
+
element = element.getParent();
|
690
|
+
}
|
691
|
+
|
692
|
+
return null;
|
693
|
+
} );
|
694
|
+
}
|
695
|
+
},
|
696
|
+
|
697
|
+
getSelectedCells : getSelectedCells
|
698
|
+
|
699
|
+
};
|
700
|
+
CKEDITOR.plugins.add( 'tabletools', CKEDITOR.plugins.tabletools );
|
701
|
+
})();
|