skylinecms 3.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (978) hide show
  1. data/.yardopts +8 -0
  2. data/CHANGELOG +111 -0
  3. data/COPYING +674 -0
  4. data/COPYING.LESSER +165 -0
  5. data/COPYRIGHT +14 -0
  6. data/README.md +46 -0
  7. data/Rakefile +42 -0
  8. data/app/controllers/skyline/application_controller.rb +256 -0
  9. data/app/controllers/skyline/article_versions_controller.rb +39 -0
  10. data/app/controllers/skyline/articles_controller.rb +245 -0
  11. data/app/controllers/skyline/authentications_controller.rb +34 -0
  12. data/app/controllers/skyline/browser/files_controller.rb +18 -0
  13. data/app/controllers/skyline/browser/images_controller.rb +20 -0
  14. data/app/controllers/skyline/browser/links_controller.rb +26 -0
  15. data/app/controllers/skyline/browser/pages_controller.rb +10 -0
  16. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +31 -0
  17. data/app/controllers/skyline/content/editors/editable_list_controller.rb +23 -0
  18. data/app/controllers/skyline/content/editors/joinable_list_controller.rb +73 -0
  19. data/app/controllers/skyline/content_controller.rb +201 -0
  20. data/app/controllers/skyline/content_items_controller.rb +14 -0
  21. data/app/controllers/skyline/content_sections_controller.rb +15 -0
  22. data/app/controllers/skyline/link_section_links_controller.rb +14 -0
  23. data/app/controllers/skyline/locales_controller.rb +15 -0
  24. data/app/controllers/skyline/media_dirs_controller.rb +56 -0
  25. data/app/controllers/skyline/media_files_controller.rb +87 -0
  26. data/app/controllers/skyline/media_files_data_controller.rb +60 -0
  27. data/app/controllers/skyline/publications_controller.rb +45 -0
  28. data/app/controllers/skyline/published_publications_controller.rb +44 -0
  29. data/app/controllers/skyline/redirects_controller.rb +5 -0
  30. data/app/controllers/skyline/sections_controller.rb +24 -0
  31. data/app/controllers/skyline/settings_controller.rb +28 -0
  32. data/app/controllers/skyline/site/media_files_data_controller.rb +73 -0
  33. data/app/controllers/skyline/site/pages_controller.rb +50 -0
  34. data/app/controllers/skyline/skyline2_controller.rb +21 -0
  35. data/app/controllers/skyline/users_controller.rb +103 -0
  36. data/app/controllers/skyline/variant_current_editor_controller.rb +37 -0
  37. data/app/controllers/skyline/variants_controller.rb +71 -0
  38. data/app/helpers/skyline/application_helper.rb +82 -0
  39. data/app/helpers/skyline/browser/tabs/media_library/media_files_helper.rb +6 -0
  40. data/app/helpers/skyline/button_helper.rb +77 -0
  41. data/app/helpers/skyline/content_helper.rb +159 -0
  42. data/app/helpers/skyline/dialog_helper.rb +30 -0
  43. data/app/helpers/skyline/editors/boolean.rb +6 -0
  44. data/app/helpers/skyline/editors/checkable_list.rb +54 -0
  45. data/app/helpers/skyline/editors/date.rb +15 -0
  46. data/app/helpers/skyline/editors/date_time.rb +11 -0
  47. data/app/helpers/skyline/editors/display.rb +12 -0
  48. data/app/helpers/skyline/editors/editable_list.rb +81 -0
  49. data/app/helpers/skyline/editors/editor.rb +107 -0
  50. data/app/helpers/skyline/editors/file_browser.rb +54 -0
  51. data/app/helpers/skyline/editors/heading.rb +13 -0
  52. data/app/helpers/skyline/editors/inline_list.rb +9 -0
  53. data/app/helpers/skyline/editors/joinable_list.rb +118 -0
  54. data/app/helpers/skyline/editors/list.rb +15 -0
  55. data/app/helpers/skyline/editors/page_browser.rb +54 -0
  56. data/app/helpers/skyline/editors/text_field.rb +12 -0
  57. data/app/helpers/skyline/editors/textarea.rb +11 -0
  58. data/app/helpers/skyline/editors/textile.rb +12 -0
  59. data/app/helpers/skyline/editors/wysiwyg.rb +28 -0
  60. data/app/helpers/skyline/media_files_helper.rb +6 -0
  61. data/app/helpers/skyline/message_generator.rb +24 -0
  62. data/app/helpers/skyline/pages_helper.rb +44 -0
  63. data/app/helpers/skyline/presenters/article_list.rb +139 -0
  64. data/app/helpers/skyline/presenters/presenter.rb +127 -0
  65. data/app/helpers/skyline/presenters/table.rb +30 -0
  66. data/app/helpers/skyline/ref_object_helper.rb +84 -0
  67. data/app/helpers/skyline/translation_helper.rb +36 -0
  68. data/app/helpers/skyline/tree_helper.rb +62 -0
  69. data/app/helpers/skyline/users_helper.rb +2 -0
  70. data/app/middleware/skyline/flash_session_cookie_middleware.rb +16 -0
  71. data/app/middleware/skyline/plugins_loader_middleware.rb +10 -0
  72. data/app/middleware/skyline/sprockets_middleware.rb +71 -0
  73. data/app/models/skyline/article.rb +219 -0
  74. data/app/models/skyline/article_version.rb +95 -0
  75. data/app/models/skyline/associated_tag.rb +14 -0
  76. data/app/models/skyline/grant.rb +6 -0
  77. data/app/models/skyline/image_ref.rb +35 -0
  78. data/app/models/skyline/inline_ref.rb +182 -0
  79. data/app/models/skyline/link_ref.rb +34 -0
  80. data/app/models/skyline/link_section_link.rb +23 -0
  81. data/app/models/skyline/media_cache.rb +38 -0
  82. data/app/models/skyline/media_dir.rb +61 -0
  83. data/app/models/skyline/media_file.rb +132 -0
  84. data/app/models/skyline/media_node.rb +104 -0
  85. data/app/models/skyline/object_ref.rb +47 -0
  86. data/app/models/skyline/page.rb +256 -0
  87. data/app/models/skyline/page_fragment.rb +14 -0
  88. data/app/models/skyline/publication.rb +24 -0
  89. data/app/models/skyline/ref_object.rb +9 -0
  90. data/app/models/skyline/referable_uri.rb +17 -0
  91. data/app/models/skyline/right.rb +5 -0
  92. data/app/models/skyline/role.rb +8 -0
  93. data/app/models/skyline/section.rb +33 -0
  94. data/app/models/skyline/sections/content_collection_section.rb +26 -0
  95. data/app/models/skyline/sections/content_item_section.rb +27 -0
  96. data/app/models/skyline/sections/heading_section.rb +5 -0
  97. data/app/models/skyline/sections/iframe_section.rb +8 -0
  98. data/app/models/skyline/sections/link_section.rb +21 -0
  99. data/app/models/skyline/sections/media_section.rb +12 -0
  100. data/app/models/skyline/sections/page_fragment_section.rb +7 -0
  101. data/app/models/skyline/sections/raw_section.rb +7 -0
  102. data/app/models/skyline/sections/redirect_section.rb +16 -0
  103. data/app/models/skyline/sections/rss_section.rb +99 -0
  104. data/app/models/skyline/sections/splitter_section.rb +5 -0
  105. data/app/models/skyline/sections/wysiwyg_section.rb +12 -0
  106. data/app/models/skyline/site.rb +30 -0
  107. data/app/models/skyline/tag.rb +34 -0
  108. data/app/models/skyline/user.rb +192 -0
  109. data/app/models/skyline/variant.rb +178 -0
  110. data/app/observers/skyline/article_version_observer.rb +17 -0
  111. data/app/observers/skyline/file_cache_sweeper.rb +23 -0
  112. data/app/observers/skyline/media_file_observer.rb +32 -0
  113. data/app/observers/skyline/version_stamper.rb +42 -0
  114. data/app/templates/skyline/page/default/index.html.erb +19 -0
  115. data/app/templates/skyline/sections/content_collection_section/default/index.html.erb +2 -0
  116. data/app/templates/skyline/sections/content_item_section/default/index.html.erb +6 -0
  117. data/app/templates/skyline/sections/heading_section/default/index.html.erb +2 -0
  118. data/app/templates/skyline/sections/iframe_section/default/index.html.erb +1 -0
  119. data/app/templates/skyline/sections/link_section/default/index.html.erb +11 -0
  120. data/app/templates/skyline/sections/media_section/default/index.html.erb +15 -0
  121. data/app/templates/skyline/sections/page_fragment_section/default/index.html.erb +5 -0
  122. data/app/templates/skyline/sections/raw_section/default/index.html.erb +1 -0
  123. data/app/templates/skyline/sections/redirect_section/default/index.html.erb +0 -0
  124. data/app/templates/skyline/sections/rss_section/default/index.html.erb +11 -0
  125. data/app/templates/skyline/sections/splitter_section/default/index.html.erb +1 -0
  126. data/app/templates/skyline/sections/wysiwyg_section/default/index.html.erb +3 -0
  127. data/app/views/skyline/articles/_currently_editing.html.erb +18 -0
  128. data/app/views/skyline/articles/_meta.html.erb +146 -0
  129. data/app/views/skyline/articles/_security.html.erb +30 -0
  130. data/app/views/skyline/articles/_takeover_action.html.erb +36 -0
  131. data/app/views/skyline/articles/edit.html.erb +111 -0
  132. data/app/views/skyline/articles/edit_preview_only.html.erb +16 -0
  133. data/app/views/skyline/articles/index.html.erb +70 -0
  134. data/app/views/skyline/articles/page/_header.html.erb +72 -0
  135. data/app/views/skyline/articles/page/_index.html.erb +28 -0
  136. data/app/views/skyline/articles/page_fragment/_header.html.erb +23 -0
  137. data/app/views/skyline/articles/page_fragment/_index.html.erb +15 -0
  138. data/app/views/skyline/authentications/new.html.erb +58 -0
  139. data/app/views/skyline/browser/files/_index.html.erb +26 -0
  140. data/app/views/skyline/browser/images/_index.html.erb +62 -0
  141. data/app/views/skyline/browser/links/_index.html.erb +56 -0
  142. data/app/views/skyline/browser/pages/_index.html.erb +27 -0
  143. data/app/views/skyline/browser/tabs/external_image/_index.html.erb +18 -0
  144. data/app/views/skyline/browser/tabs/external_link/_index.html.erb +17 -0
  145. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +51 -0
  146. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +63 -0
  147. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +44 -0
  148. data/app/views/skyline/browser/tabs/pages/_index.html.erb +49 -0
  149. data/app/views/skyline/content/_add.rhtml +30 -0
  150. data/app/views/skyline/content/_filter.rhtml +41 -0
  151. data/app/views/skyline/content/_group.html.erb +6 -0
  152. data/app/views/skyline/content/_import.html.erb +18 -0
  153. data/app/views/skyline/content/_index.html.erb +28 -0
  154. data/app/views/skyline/content/_meta.html.erb +45 -0
  155. data/app/views/skyline/content/_submit.html.erb +15 -0
  156. data/app/views/skyline/content/create.rhtml +13 -0
  157. data/app/views/skyline/content/edit.rhtml +13 -0
  158. data/app/views/skyline/content/editors/joinable_list/_add.html.erb +13 -0
  159. data/app/views/skyline/content/editors/joinable_list/_list.html.erb +69 -0
  160. data/app/views/skyline/content/error.rhtml +2 -0
  161. data/app/views/skyline/content/index.html.erb +0 -0
  162. data/app/views/skyline/content/list.rhtml +22 -0
  163. data/app/views/skyline/content/show.rhtml +9 -0
  164. data/app/views/skyline/content_items/_content_item.html.erb +3 -0
  165. data/app/views/skyline/content_sections/_tags.html.erb +22 -0
  166. data/app/views/skyline/layouts/articles.html.erb +30 -0
  167. data/app/views/skyline/layouts/content.html.erb +66 -0
  168. data/app/views/skyline/layouts/media.html.erb +22 -0
  169. data/app/views/skyline/layouts/pages.html.erb +59 -0
  170. data/app/views/skyline/layouts/settings.html.erb +40 -0
  171. data/app/views/skyline/link_section_links/_form.html.erb +29 -0
  172. data/app/views/skyline/locales/show.js.erb +14 -0
  173. data/app/views/skyline/media_dirs/_edit.html.erb +25 -0
  174. data/app/views/skyline/media_dirs/_index.html.erb +14 -0
  175. data/app/views/skyline/media_dirs/index.html.erb +42 -0
  176. data/app/views/skyline/media_files/_edit.html.erb +75 -0
  177. data/app/views/skyline/media_files/_header.html.erb +3 -0
  178. data/app/views/skyline/media_files/_index.html.erb +51 -0
  179. data/app/views/skyline/media_files/_new.html.erb +50 -0
  180. data/app/views/skyline/publications/_index.html.erb +35 -0
  181. data/app/views/skyline/sections/_content_collection_section.html.erb +30 -0
  182. data/app/views/skyline/sections/_content_item_section.html.erb +27 -0
  183. data/app/views/skyline/sections/_form.html.erb +45 -0
  184. data/app/views/skyline/sections/_heading_section.html.erb +23 -0
  185. data/app/views/skyline/sections/_iframe_section.html.erb +12 -0
  186. data/app/views/skyline/sections/_link_section.html.erb +33 -0
  187. data/app/views/skyline/sections/_media_section.html.erb +16 -0
  188. data/app/views/skyline/sections/_page_fragment_section.html.erb +8 -0
  189. data/app/views/skyline/sections/_raw_section.html.erb +1 -0
  190. data/app/views/skyline/sections/_redirect_section.html.erb +10 -0
  191. data/app/views/skyline/sections/_rss_section.html.erb +12 -0
  192. data/app/views/skyline/sections/_splitter_section.html.erb +1 -0
  193. data/app/views/skyline/sections/_wysiwyg_section.html.erb +21 -0
  194. data/app/views/skyline/settings/edit.html.erb +46 -0
  195. data/app/views/skyline/shared/_head.html.erb +29 -0
  196. data/app/views/skyline/shared/_header_area.html.erb +49 -0
  197. data/app/views/skyline/tags/_available_tags.html.erb +5 -0
  198. data/app/views/skyline/users/_edit.html.erb +3 -0
  199. data/app/views/skyline/users/_form.html.erb +73 -0
  200. data/app/views/skyline/users/_new.html.erb +3 -0
  201. data/app/views/skyline/users/index.html.erb +70 -0
  202. data/bin/skylinecms +5 -0
  203. data/config/initializers/dependencies.rb +21 -0
  204. data/config/initializers/javascript_generator_methods.rb +4 -0
  205. data/config/initializers/locales.rb +11 -0
  206. data/config/initializers/middlewares.rb +20 -0
  207. data/config/initializers/mime_types.rb +225 -0
  208. data/config/initializers/observers.rb +5 -0
  209. data/config/initializers/rails_defaults.rb +2 -0
  210. data/config/locales/en-US.yml +819 -0
  211. data/config/locales/nl-NL.yml +818 -0
  212. data/config/routes.rb +89 -0
  213. data/db/fixtures/files/test.gif +0 -0
  214. data/db/fixtures/roles_and_rights.rb +81 -0
  215. data/db/fixtures/roots.rb +15 -0
  216. data/db/migrate/20090302102548_add_media_nodes.rb +17 -0
  217. data/db/migrate/20090309133933_add_description_to_media_nodes.rb +9 -0
  218. data/db/migrate/20090309134731_add_tags.rb +11 -0
  219. data/db/migrate/20090309135746_create_media_files_tags.rb +12 -0
  220. data/db/migrate/20090319091342_create_media_caches.rb +13 -0
  221. data/db/migrate/20090327083240_create_users.rb +16 -0
  222. data/db/migrate/20090327084656_create_roles.rb +12 -0
  223. data/db/migrate/20090327084719_create_rights.rb +12 -0
  224. data/db/migrate/20090327084739_create_grants.rb +12 -0
  225. data/db/migrate/20090327090918_create_rights_roles.rb +12 -0
  226. data/db/migrate/20090408115155_create_ref_objects.rb +19 -0
  227. data/db/migrate/20090504140044_create_test_sections.rb +14 -0
  228. data/db/migrate/20090506083107_add_refering_column_name_to_ref_objects.rb +9 -0
  229. data/db/migrate/20090508145820_create_skyline_pages.rb +17 -0
  230. data/db/migrate/20090508145852_create_skyline_page_versions.rb +27 -0
  231. data/db/migrate/20090508150149_create_skyline_sections.rb +17 -0
  232. data/db/migrate/20090508150204_create_skyline_wysiwyg_sections.rb +12 -0
  233. data/db/migrate/20090508150210_create_skyline_rss_sections.rb +13 -0
  234. data/db/migrate/20090511074702_create_test_content_objs.rb +14 -0
  235. data/db/migrate/20090519143912_add_skyline_pages_locked.rb +9 -0
  236. data/db/migrate/20090525081942_rename_test_content_objs.rb +9 -0
  237. data/db/migrate/20090526090049_add_pages_url_part.rb +11 -0
  238. data/db/migrate/20090527130112_create_skyline_iframe_sections.rb +14 -0
  239. data/db/migrate/20090528080308_create_skyline_versions.rb +14 -0
  240. data/db/migrate/20090528090319_create_skyline_actions.rb +14 -0
  241. data/db/migrate/20090603104115_prefix_tables_for_skyline.rb +30 -0
  242. data/db/migrate/20090608131055_add_skyline_pages_navigation_title.rb +9 -0
  243. data/db/migrate/20090610134844_create_skyline_content_collection_sections.rb +13 -0
  244. data/db/migrate/20090610142139_add_skyline_tags_taggable_type.rb +11 -0
  245. data/db/migrate/20090610143446_move_skyline_media_files_skyline_tags_to_skyline_associated_tags.rb +14 -0
  246. data/db/migrate/20090616091122_add_skyline_pages_persistent.rb +10 -0
  247. data/db/migrate/20090616091432_add_skyline_pages_identifier.rb +9 -0
  248. data/db/migrate/20090616134834_create_skyline_heading_section.rb +12 -0
  249. data/db/migrate/20090624113754_create_skyline_content_item_section.rb +13 -0
  250. data/db/migrate/20090624134548_create_skyline_splitter_section.rb +11 -0
  251. data/db/migrate/20090624154213_create_skyline_link_sections.rb +12 -0
  252. data/db/migrate/20090624154251_create_skyline_link_section_links.rb +17 -0
  253. data/db/migrate/20090625110837_remove_skyline_actions.rb +14 -0
  254. data/db/migrate/20090630100045_add_media_nodes_file_type.rb +10 -0
  255. data/db/migrate/20090702160937_add_media_node_dimensions.rb +18 -0
  256. data/db/migrate/20090703101812_rename_page_title_tag.rb +9 -0
  257. data/db/migrate/20090706124019_add_skyline_media_node_title.rb +11 -0
  258. data/db/migrate/20090709142235_add_system_users_flag.rb +9 -0
  259. data/db/migrate/20090710145157_add_skyline_users_destroyed.rb +9 -0
  260. data/db/migrate/20090713133240_add_skyline_grants_primary_key.rb +9 -0
  261. data/db/migrate/20090714084713_migrate_sections_in_module.rb +24 -0
  262. data/db/migrate/20090723132822_add_skyline_page_version_current_editor.rb +13 -0
  263. data/db/migrate/20090804072505_create_skyline_sections_raw_sections.rb +13 -0
  264. data/db/migrate/20090804074053_create_skyline_sections_media_sections.rb +16 -0
  265. data/db/migrate/20090806134610_migrate_pages_to_articles.rb +23 -0
  266. data/db/migrate/20090806155411_create_skyline_page_datas.rb +85 -0
  267. data/db/migrate/20090807074314_create_skyline_sections_redirect_sections.rb +13 -0
  268. data/db/migrate/20090807112358_add_roles_system.rb +9 -0
  269. data/db/migrate/20090807130819_add_article_data_pointers.rb +48 -0
  270. data/db/migrate/20090807143152_remove_articles_cached_fields.rb +9 -0
  271. data/db/migrate/20090810130159_remove_page_url_part_constraint.rb +11 -0
  272. data/db/migrate/20090810131440_create_skyline_page_fragement_data.rb +12 -0
  273. data/db/migrate/20090812154655_create_skyline_sections_page_fragment_sections.rb +12 -0
  274. data/db/migrate/20090814102107_add_associated_tag_id.rb +9 -0
  275. data/db/migrate/20090904121447_create_skyline_referable_uris.rb +62 -0
  276. data/db/migrate/20091008134448_article_position_no_default.rb +9 -0
  277. data/db/migrate/20091013135821_allow_null_for_position_in_articles.rb +9 -0
  278. data/db/migrate/20091202130512_rename_users_destroyed_to_is_destroyed.rb +9 -0
  279. data/db/migrate/20091202152514_add_media_nodes_date.rb +9 -0
  280. data/doc/INSTALL.md +64 -0
  281. data/doc/MIGRATION.md +45 -0
  282. data/lib/skyline.rb +22 -0
  283. data/lib/skyline/cli/base.rb +21 -0
  284. data/lib/skyline/cli/init.rb +118 -0
  285. data/lib/skyline/cli/init/templates/config/initializers/skyline_configuration.rb +5 -0
  286. data/lib/skyline/cli/init/templates/tasks/skyline.rake +2 -0
  287. data/lib/skyline/configuration.rb +112 -0
  288. data/lib/skyline/content/class_meta_data.rb +105 -0
  289. data/lib/skyline/content/content.rb +315 -0
  290. data/lib/skyline/content/exportable.rb +28 -0
  291. data/lib/skyline/content/field_meta_data.rb +336 -0
  292. data/lib/skyline/content/implementation.rb +57 -0
  293. data/lib/skyline/content/meta_data/class_settings.rb +18 -0
  294. data/lib/skyline/content/meta_data/field.rb +212 -0
  295. data/lib/skyline/content/meta_data/field_group.rb +83 -0
  296. data/lib/skyline/content/meta_data/field_page.rb +82 -0
  297. data/lib/skyline/content/orderable.rb +81 -0
  298. data/lib/skyline/content/stack.rb +111 -0
  299. data/lib/skyline/content/versioning/version.rb +42 -0
  300. data/lib/skyline/content/versioning/versionable.rb +38 -0
  301. data/lib/skyline/content_item.rb +197 -0
  302. data/lib/skyline/content_item_section_selectable.rb +32 -0
  303. data/lib/skyline/form_builder_with_errors.rb +182 -0
  304. data/lib/skyline/indexer.rb +36 -0
  305. data/lib/skyline/javascript_generator_methods.rb +13 -0
  306. data/lib/skyline/plugins_manager.rb +29 -0
  307. data/lib/skyline/positionable.rb +47 -0
  308. data/lib/skyline/referable.rb +103 -0
  309. data/lib/skyline/renderable_scope.rb +27 -0
  310. data/lib/skyline/renderable_scope_interface.rb +29 -0
  311. data/lib/skyline/renderer.rb +392 -0
  312. data/lib/skyline/rendering/helpers/bread_crumb_helper.rb +46 -0
  313. data/lib/skyline/rendering/helpers/column_helper.rb +22 -0
  314. data/lib/skyline/rendering/helpers/renderer_helper.rb +130 -0
  315. data/lib/skyline/rendering/helpers/settings_helper.rb +31 -0
  316. data/lib/skyline/searchable_item.rb +132 -0
  317. data/lib/skyline/section_item.rb +35 -0
  318. data/lib/skyline/settings.rb +175 -0
  319. data/lib/skyline/taggable.rb +87 -0
  320. data/lib/skyline/url_validation.rb +66 -0
  321. data/lib/skyline/version.rb +13 -0
  322. data/lib/skyline/wildcard_renderable_scope.rb +15 -0
  323. data/lib/skylinecms.rb +3 -0
  324. data/public/skyline/images/backgrounds/advanced-closed.gif +0 -0
  325. data/public/skyline/images/backgrounds/advanced-open.gif +0 -0
  326. data/public/skyline/images/backgrounds/dialog-head.gif +0 -0
  327. data/public/skyline/images/backgrounds/dialog-shadow-bl-corner.png +0 -0
  328. data/public/skyline/images/backgrounds/dialog-shadow-bottom.png +0 -0
  329. data/public/skyline/images/backgrounds/dialog-shadow-br-corner.png +0 -0
  330. data/public/skyline/images/backgrounds/dialog-shadow-left.png +0 -0
  331. data/public/skyline/images/backgrounds/dialog-shadow-right.png +0 -0
  332. data/public/skyline/images/backgrounds/dialog-shadow-tl-corner.png +0 -0
  333. data/public/skyline/images/backgrounds/dialog-shadow-top.png +0 -0
  334. data/public/skyline/images/backgrounds/dialog-shadow-tr-corner.png +0 -0
  335. data/public/skyline/images/backgrounds/dots.gif +0 -0
  336. data/public/skyline/images/backgrounds/hover.gif +0 -0
  337. data/public/skyline/images/backgrounds/login-contentarea.gif +0 -0
  338. data/public/skyline/images/backgrounds/mainnavigation.gif +0 -0
  339. data/public/skyline/images/backgrounds/menu-arrow-bottom.gif +0 -0
  340. data/public/skyline/images/backgrounds/menu-arrow-right.gif +0 -0
  341. data/public/skyline/images/backgrounds/menubutton-active.gif +0 -0
  342. data/public/skyline/images/backgrounds/menubutton-arrow.gif +0 -0
  343. data/public/skyline/images/backgrounds/menubutton.gif +0 -0
  344. data/public/skyline/images/backgrounds/messages-confirmation.gif +0 -0
  345. data/public/skyline/images/backgrounds/messages-error-icon.gif +0 -0
  346. data/public/skyline/images/backgrounds/panel-dt.gif +0 -0
  347. data/public/skyline/images/backgrounds/panel-footer.gif +0 -0
  348. data/public/skyline/images/backgrounds/panel-head-closed.gif +0 -0
  349. data/public/skyline/images/backgrounds/panel-head-open.gif +0 -0
  350. data/public/skyline/images/backgrounds/panel-head.gif +0 -0
  351. data/public/skyline/images/backgrounds/pixel-blue.gif +0 -0
  352. data/public/skyline/images/backgrounds/pixel-gray.gif +0 -0
  353. data/public/skyline/images/backgrounds/progressbar-bar.gif +0 -0
  354. data/public/skyline/images/backgrounds/progressbar.gif +0 -0
  355. data/public/skyline/images/backgrounds/section-splitter.gif +0 -0
  356. data/public/skyline/images/backgrounds/selected.gif +0 -0
  357. data/public/skyline/images/backgrounds/splitter.gif +0 -0
  358. data/public/skyline/images/backgrounds/tree-li-closed.gif +0 -0
  359. data/public/skyline/images/backgrounds/tree-li-last.gif +0 -0
  360. data/public/skyline/images/backgrounds/tree-li-open.gif +0 -0
  361. data/public/skyline/images/backgrounds/tree-li.gif +0 -0
  362. data/public/skyline/images/backgrounds/tree-ul.gif +0 -0
  363. data/public/skyline/images/backgrounds/usernavigation.gif +0 -0
  364. data/public/skyline/images/buttons/buttons-medium.gif +0 -0
  365. data/public/skyline/images/buttons/buttons-small.gif +0 -0
  366. data/public/skyline/images/buttons/dialog-close.gif +0 -0
  367. data/public/skyline/images/buttons/section-delete.gif +0 -0
  368. data/public/skyline/images/icons/attachment.gif +0 -0
  369. data/public/skyline/images/icons/audio.gif +0 -0
  370. data/public/skyline/images/icons/cog-blue.gif +0 -0
  371. data/public/skyline/images/icons/cog.gif +0 -0
  372. data/public/skyline/images/icons/compressed.gif +0 -0
  373. data/public/skyline/images/icons/default.gif +0 -0
  374. data/public/skyline/images/icons/drag.gif +0 -0
  375. data/public/skyline/images/icons/excel.gif +0 -0
  376. data/public/skyline/images/icons/executable.gif +0 -0
  377. data/public/skyline/images/icons/false.gif +0 -0
  378. data/public/skyline/images/icons/file-failed.gif +0 -0
  379. data/public/skyline/images/icons/file-success.gif +0 -0
  380. data/public/skyline/images/icons/flash.gif +0 -0
  381. data/public/skyline/images/icons/folder.gif +0 -0
  382. data/public/skyline/images/icons/html.gif +0 -0
  383. data/public/skyline/images/icons/image.gif +0 -0
  384. data/public/skyline/images/icons/link-external.gif +0 -0
  385. data/public/skyline/images/icons/lock-open.gif +0 -0
  386. data/public/skyline/images/icons/lock.gif +0 -0
  387. data/public/skyline/images/icons/pages.gif +0 -0
  388. data/public/skyline/images/icons/pdf.gif +0 -0
  389. data/public/skyline/images/icons/powerpoint.gif +0 -0
  390. data/public/skyline/images/icons/text.gif +0 -0
  391. data/public/skyline/images/icons/toolbar.gif +0 -0
  392. data/public/skyline/images/icons/true.gif +0 -0
  393. data/public/skyline/images/icons/video.gif +0 -0
  394. data/public/skyline/images/icons/word.gif +0 -0
  395. data/public/skyline/images/logo.gif +0 -0
  396. data/public/skyline/images/logo.png +0 -0
  397. data/public/skyline/images/spinner.gif +0 -0
  398. data/public/skyline/javascripts/README +5 -0
  399. data/public/skyline/javascripts/src/application.js +403 -0
  400. data/public/skyline/javascripts/src/browser.js +267 -0
  401. data/public/skyline/javascripts/src/draggable_files.js +102 -0
  402. data/public/skyline/javascripts/src/library_uploader.js +226 -0
  403. data/public/skyline/javascripts/src/messages.js +61 -0
  404. data/public/skyline/javascripts/src/mootools_on_rails.js +53 -0
  405. data/public/skyline/javascripts/src/page_helper.js +49 -0
  406. data/public/skyline/javascripts/src/poller.js +51 -0
  407. data/public/skyline/javascripts/src/sections.js +70 -0
  408. data/public/skyline/javascripts/src/skyline.editor.js +1 -0
  409. data/public/skyline/javascripts/src/skyline.editor/assets/content.css +21 -0
  410. data/public/skyline/javascripts/src/skyline.editor/assets/dialog.css +116 -0
  411. data/public/skyline/javascripts/src/skyline.editor/assets/icons.gif +0 -0
  412. data/public/skyline/javascripts/src/skyline.editor/assets/ui.css +211 -0
  413. data/public/skyline/javascripts/src/skyline.editor/dialogs/anchor.htm +31 -0
  414. data/public/skyline/javascripts/src/skyline.editor/dialogs/charmap.htm +53 -0
  415. data/public/skyline/javascripts/src/skyline.editor/dialogs/color_picker.htm +75 -0
  416. data/public/skyline/javascripts/src/skyline.editor/dialogs/skyline_code.html +17 -0
  417. data/public/skyline/javascripts/src/skyline.editor/src/plugins/autoresize/editor_plugin.js +115 -0
  418. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecode/dialog.js +87 -0
  419. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecode/editor_plugin.js +38 -0
  420. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecontextmenu/editor_plugin.js +89 -0
  421. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/dialog.js +88 -0
  422. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/editor_plugin.js +33 -0
  423. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/dialog.js +113 -0
  424. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/editor_plugin.js +51 -0
  425. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinetable/editor_plugin.js +1087 -0
  426. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinewindows/editor_plugin.js +263 -0
  427. data/public/skyline/javascripts/src/skyline.editor/src/script_loader.js +96 -0
  428. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +135 -0
  429. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +636 -0
  430. data/public/skyline/javascripts/src/skyline.editor/src/ui/separator.js +34 -0
  431. data/public/skyline/javascripts/src/skyline.editor/src/ui/toolbar.js +102 -0
  432. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.bat +2 -0
  433. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.xml +364 -0
  434. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +886 -0
  435. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/content.css +51 -0
  436. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/word.css +53 -0
  437. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +85 -0
  438. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full_jquery.html +94 -0
  439. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/index.html +10 -0
  440. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/image_list.js +9 -0
  441. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/link_list.js +10 -0
  442. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/media_list.js +10 -0
  443. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/template_list.js +9 -0
  444. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/logo.jpg +0 -0
  445. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/logo_over.jpg +0 -0
  446. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.avi +0 -0
  447. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.dcr +0 -0
  448. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.mov +0 -0
  449. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.ram +1 -0
  450. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.rm +0 -0
  451. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.swf +0 -0
  452. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +16 -0
  453. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/simple.html +43 -0
  454. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +212 -0
  455. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/templates/layout1.htm +15 -0
  456. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/templates/snippet1.htm +1 -0
  457. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +80 -0
  458. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +67 -0
  459. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/AddOnManager.js +95 -0
  460. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/CommandManager.js +54 -0
  461. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ControlManager.js +489 -0
  462. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Developer.js +91 -0
  463. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Editor.js +2295 -0
  464. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorCommands.js +934 -0
  465. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorManager.js +453 -0
  466. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ForceBlocks.js +644 -0
  467. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Popup.js +412 -0
  468. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/UndoManager.js +183 -0
  469. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/WindowManager.js +169 -0
  470. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/adapter.js +240 -0
  471. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js +179 -0
  472. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/prototype/adapter.js +38 -0
  473. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/BlockQuote.js +135 -0
  474. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/CutCopyPaste.js +24 -0
  475. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/InsertHorizontalRule.js +15 -0
  476. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/RemoveFormat.js +173 -0
  477. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/UndoRedo.js +38 -0
  478. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/DOMUtils.js +1823 -0
  479. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Element.js +199 -0
  480. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/EventUtils.js +349 -0
  481. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Range.js +721 -0
  482. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/ScriptLoader.js +351 -0
  483. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Selection.js +747 -0
  484. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Serializer.js +979 -0
  485. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Sizzle.js +975 -0
  486. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/StringWriter.js +200 -0
  487. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/TridentSelection.js +273 -0
  488. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/XMLWriter.js +155 -0
  489. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/firebug/firebug-lite.js +2518 -0
  490. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/tinymce.js +549 -0
  491. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Button.js +68 -0
  492. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ColorSplitButton.js +212 -0
  493. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Container.js +56 -0
  494. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Control.js +182 -0
  495. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/DropMenu.js +397 -0
  496. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ListBox.js +320 -0
  497. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Menu.js +175 -0
  498. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuButton.js +128 -0
  499. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuItem.js +69 -0
  500. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/NativeListBox.js +198 -0
  501. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Separator.js +34 -0
  502. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/SplitButton.js +99 -0
  503. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Toolbar.js +86 -0
  504. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Cookie.js +126 -0
  505. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Dispatcher.js +101 -0
  506. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSON.js +81 -0
  507. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONP.js +25 -0
  508. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONRequest.js +87 -0
  509. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/URI.js +289 -0
  510. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/XHR.js +80 -0
  511. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/xml/Parser.js +126 -0
  512. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/jquery.tinymce.js +1 -0
  513. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +154 -0
  514. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/license.txt +504 -0
  515. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  516. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  517. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +54 -0
  518. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
  519. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  520. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +62 -0
  521. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  522. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  523. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +47 -0
  524. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +237 -0
  525. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  526. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +443 -0
  527. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  528. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  529. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  530. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +58 -0
  531. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
  532. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  533. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +338 -0
  534. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  535. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +111 -0
  536. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  537. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +51 -0
  538. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  539. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +117 -0
  540. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +1 -0
  541. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +616 -0
  542. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  543. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +95 -0
  544. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  545. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +79 -0
  546. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  547. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +40 -0
  548. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +40 -0
  549. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  550. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  551. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  552. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  553. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  554. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  555. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  556. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  557. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  558. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  559. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  560. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  561. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  562. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  563. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  564. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  565. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  566. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  567. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm +27 -0
  568. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  569. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js +81 -0
  570. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif +0 -0
  571. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  572. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js +3 -0
  573. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  574. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
  575. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  576. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +146 -0
  577. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +576 -0
  578. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +461 -0
  579. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  580. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  581. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +145 -0
  582. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +110 -0
  583. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  584. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +51 -0
  585. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  586. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +632 -0
  587. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  588. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  589. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  590. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  591. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  592. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  593. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  594. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  595. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  596. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  597. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +80 -0
  598. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  599. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +209 -0
  600. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +6 -0
  601. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +16 -0
  602. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  603. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +405 -0
  604. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  605. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  606. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  607. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  608. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  609. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  610. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  611. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js +73 -0
  612. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js +630 -0
  613. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  614. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +822 -0
  615. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  616. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +50 -0
  617. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  618. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +87 -0
  619. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  620. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  621. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +74 -0
  622. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  623. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  624. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  625. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +512 -0
  626. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  627. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  628. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  629. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +33 -0
  630. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +27 -0
  631. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  632. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +50 -0
  633. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/example.html +28 -0
  634. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  635. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/preview.html +17 -0
  636. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  637. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +31 -0
  638. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm +1 -0
  639. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +1 -0
  640. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js +438 -0
  641. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  642. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +98 -0
  643. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  644. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  645. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +54 -0
  646. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +126 -0
  647. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  648. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +104 -0
  649. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  650. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  651. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +338 -0
  652. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  653. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/css/props.css +13 -0
  654. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  655. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +52 -0
  656. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js +641 -0
  657. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  658. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +730 -0
  659. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  660. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +109 -0
  661. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +183 -0
  662. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css +17 -0
  663. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/row.css +25 -0
  664. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/table.css +13 -0
  665. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  666. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +1136 -0
  667. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +269 -0
  668. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js +29 -0
  669. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +212 -0
  670. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +440 -0
  671. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  672. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +37 -0
  673. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +160 -0
  674. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +192 -0
  675. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm +12 -0
  676. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css +23 -0
  677. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  678. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js +156 -0
  679. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +106 -0
  680. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  681. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/template.htm +38 -0
  682. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  683. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +73 -0
  684. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +148 -0
  685. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +148 -0
  686. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +153 -0
  687. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +148 -0
  688. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  689. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  690. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +169 -0
  691. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  692. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +136 -0
  693. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +169 -0
  694. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +25 -0
  695. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +25 -0
  696. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +123 -0
  697. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +25 -0
  698. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +60 -0
  699. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
  700. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +59 -0
  701. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  702. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +56 -0
  703. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +31 -0
  704. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +53 -0
  705. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +75 -0
  706. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  707. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +1153 -0
  708. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +85 -0
  709. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  710. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  711. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js +72 -0
  712. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
  713. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +325 -0
  714. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js +253 -0
  715. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +245 -0
  716. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +156 -0
  717. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  718. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  719. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  720. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +63 -0
  721. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +32 -0
  722. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +116 -0
  723. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  724. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  725. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  726. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  727. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  728. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  729. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +214 -0
  730. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +32 -0
  731. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +115 -0
  732. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  733. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  734. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  735. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
  736. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  737. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  738. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +31 -0
  739. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +1 -0
  740. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  741. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  742. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js +11 -0
  743. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  744. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  745. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  746. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  747. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  748. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -0
  749. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_dev.js +128 -0
  750. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery.js +1 -0
  751. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery_src.js +12198 -0
  752. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +5 -0
  753. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype.js +1 -0
  754. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype_src.js +13057 -0
  755. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +13030 -0
  756. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +69 -0
  757. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +199 -0
  758. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +76 -0
  759. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +219 -0
  760. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api.html +18 -0
  761. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_jquery.html +18 -0
  762. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_prototype.html +19 -0
  763. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/basic.html +548 -0
  764. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/crossdomain.html +87 -0
  765. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/css/unit.css +120 -0
  766. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/index.html +10 -0
  767. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/jquery_plugin.html +112 -0
  768. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/api.js +1438 -0
  769. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/testrunner.js +791 -0
  770. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/main.html +8 -0
  771. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/media.html +221 -0
  772. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/menu.html +22 -0
  773. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/parts.html +90 -0
  774. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/paste.html +132 -0
  775. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/performance.html +152 -0
  776. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/range.html +522 -0
  777. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/removeformat.html +88 -0
  778. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/selection.html +235 -0
  779. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/config.ini +27 -0
  780. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/footer.html +3 -0
  781. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/header.html +6 -0
  782. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/index.php +1 -0
  783. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/instructions.txt +4 -0
  784. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/logo.png +0 -0
  785. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/selectors.list +40 -0
  786. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/style.css +181 -0
  787. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/index.php +112 -0
  788. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/slickspeed.js +147 -0
  789. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/template.php +47 -0
  790. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/template.html +2865 -0
  791. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/test.xml +6 -0
  792. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/ant-contrib.jar +0 -0
  793. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/js_build_tools.jar +0 -0
  794. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnClientAdapter.jar +0 -0
  795. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnant.jar +0 -0
  796. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnjavahl.jar +0 -0
  797. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnkit.jar +0 -0
  798. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/yuicompressor.jar +0 -0
  799. data/public/skyline/javascripts/src/skyline.js +16 -0
  800. data/public/skyline/javascripts/src/skyline/assets/dialog/button-close.gif +0 -0
  801. data/public/skyline/javascripts/src/skyline/assets/dialog/dialog.css +104 -0
  802. data/public/skyline/javascripts/src/skyline/assets/dialog/head.gif +0 -0
  803. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-bl-corner.png +0 -0
  804. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-bottom.png +0 -0
  805. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-br-corner.png +0 -0
  806. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-left.png +0 -0
  807. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-right.png +0 -0
  808. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-tl-corner.png +0 -0
  809. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-top.png +0 -0
  810. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-tr-corner.png +0 -0
  811. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton-active.gif +0 -0
  812. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton-arrow.gif +0 -0
  813. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton.css +66 -0
  814. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton.gif +0 -0
  815. data/public/skyline/javascripts/src/skyline/assets/tree/icon.gif +0 -0
  816. data/public/skyline/javascripts/src/skyline/assets/tree/last.gif +0 -0
  817. data/public/skyline/javascripts/src/skyline/assets/tree/li.gif +0 -0
  818. data/public/skyline/javascripts/src/skyline/assets/tree/middle-closed.gif +0 -0
  819. data/public/skyline/javascripts/src/skyline/assets/tree/middle-open.gif +0 -0
  820. data/public/skyline/javascripts/src/skyline/assets/tree/tree.css +91 -0
  821. data/public/skyline/javascripts/src/skyline/assets/tree/tree_vert_line.png +0 -0
  822. data/public/skyline/javascripts/src/skyline/src/dialog.js +286 -0
  823. data/public/skyline/javascripts/src/skyline/src/drag.js +59 -0
  824. data/public/skyline/javascripts/src/skyline/src/field_replicator.js +55 -0
  825. data/public/skyline/javascripts/src/skyline/src/hover_select.js +46 -0
  826. data/public/skyline/javascripts/src/skyline/src/layout.js +417 -0
  827. data/public/skyline/javascripts/src/skyline/src/menu.js +54 -0
  828. data/public/skyline/javascripts/src/skyline/src/menubutton.js +122 -0
  829. data/public/skyline/javascripts/src/skyline/src/skyline.js +6 -0
  830. data/public/skyline/javascripts/src/skyline/src/sortable.js +146 -0
  831. data/public/skyline/javascripts/src/skyline/src/tabs.js +131 -0
  832. data/public/skyline/javascripts/src/skyline/src/tag_selector.js +110 -0
  833. data/public/skyline/javascripts/src/skyline/src/toggle.js +66 -0
  834. data/public/skyline/javascripts/src/skyline/src/tree.js +399 -0
  835. data/public/skyline/javascripts/src/skyline/src/uploader.js +115 -0
  836. data/public/skyline/javascripts/src/skyline/src/utils.js +31 -0
  837. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/FancyUpload2.js +251 -0
  838. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/FancyUpload3.Attach.js +222 -0
  839. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Fx.ProgressBar.js +71 -0
  840. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.js +488 -0
  841. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.swf +0 -0
  842. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +356 -0
  843. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +82 -0
  844. data/public/skyline/javascripts/src/utils.js +111 -0
  845. data/public/skyline/stylesheets/general.css +2291 -0
  846. data/public/skyline/stylesheets/ie.css +47 -0
  847. data/public/skyline/stylesheets/undohtml.css +53 -0
  848. data/public/skyline/stylesheets/wysiwyg.css +28 -0
  849. data/rails/init.rb +30 -0
  850. data/recipes/deploy.rb +31 -0
  851. data/tasks/database.rake +66 -0
  852. data/tasks/implementation.rake +2 -0
  853. data/vendor/andand/andand.rb +96 -0
  854. data/vendor/digitpaint/configure.rb +144 -0
  855. data/vendor/digitpaint/nested_attributes_positioning.rb +70 -0
  856. data/vendor/digitpaint/personify/README.md +86 -0
  857. data/vendor/digitpaint/personify/lib/parser/personify.rb +838 -0
  858. data/vendor/digitpaint/personify/lib/parser/personify.treetop +126 -0
  859. data/vendor/digitpaint/personify/lib/parser/personify_node_classes.rb +7 -0
  860. data/vendor/digitpaint/personify/lib/template.rb +16 -0
  861. data/vendor/digitpaint/personify/personify.rb +7 -0
  862. data/vendor/digitpaint/personify/script/generate_parser.rb +6 -0
  863. data/vendor/digitpaint/personify/vendor/treetop/History.txt +9 -0
  864. data/vendor/digitpaint/personify/vendor/treetop/README +164 -0
  865. data/vendor/digitpaint/personify/vendor/treetop/Rakefile +20 -0
  866. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +20 -0
  867. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +18 -0
  868. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +251 -0
  869. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/info.plist +10 -0
  870. data/vendor/digitpaint/personify/vendor/treetop/bin/tt +28 -0
  871. data/vendor/digitpaint/personify/vendor/treetop/doc/contributing_and_planned_features.markdown +103 -0
  872. data/vendor/digitpaint/personify/vendor/treetop/doc/grammar_composition.markdown +65 -0
  873. data/vendor/digitpaint/personify/vendor/treetop/doc/index.markdown +90 -0
  874. data/vendor/digitpaint/personify/vendor/treetop/doc/pitfalls_and_advanced_techniques.markdown +51 -0
  875. data/vendor/digitpaint/personify/vendor/treetop/doc/semantic_interpretation.markdown +189 -0
  876. data/vendor/digitpaint/personify/vendor/treetop/doc/site.rb +110 -0
  877. data/vendor/digitpaint/personify/vendor/treetop/doc/sitegen.rb +60 -0
  878. data/vendor/digitpaint/personify/vendor/treetop/doc/syntactic_recognition.markdown +100 -0
  879. data/vendor/digitpaint/personify/vendor/treetop/doc/using_in_ruby.markdown +21 -0
  880. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.rb +551 -0
  881. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.treetop +97 -0
  882. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_node_classes.rb +7 -0
  883. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_test.rb +54 -0
  884. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus +0 -0
  885. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.rb +718 -0
  886. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.treetop +132 -0
  887. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_node_classes.rb +5 -0
  888. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_test.rb +89 -0
  889. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/test_helper.rb +18 -0
  890. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop.rb +11 -0
  891. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +45 -0
  892. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler.rb +6 -0
  893. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +40 -0
  894. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +17 -0
  895. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.rb +2955 -0
  896. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +404 -0
  897. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes.rb +19 -0
  898. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +20 -0
  899. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
  900. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +22 -0
  901. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +31 -0
  902. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
  903. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +28 -0
  904. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
  905. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
  906. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +19 -0
  907. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +9 -0
  908. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +138 -0
  909. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +55 -0
  910. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +45 -0
  911. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +55 -0
  912. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +68 -0
  913. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +20 -0
  914. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
  915. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
  916. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +113 -0
  917. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions.rb +2 -0
  918. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions/string.rb +42 -0
  919. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime.rb +5 -0
  920. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +95 -0
  921. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +4 -0
  922. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
  923. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
  924. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
  925. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/syntax_node.rb +72 -0
  926. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +16 -0
  927. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
  928. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/version.rb +9 -0
  929. data/vendor/digitpaint/personify/vendor/treetop/script/generate_metagrammar.rb +14 -0
  930. data/vendor/digitpaint/personify/vendor/treetop/script/svnadd +11 -0
  931. data/vendor/digitpaint/personify/vendor/treetop/script/svnrm +11 -0
  932. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/and_predicate_spec.rb +36 -0
  933. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/anything_symbol_spec.rb +52 -0
  934. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/character_class_spec.rb +188 -0
  935. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/choice_spec.rb +80 -0
  936. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/circular_compilation_spec.rb +28 -0
  937. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +21 -0
  938. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +84 -0
  939. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_spec.rb +41 -0
  940. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +40 -0
  941. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/not_predicate_spec.rb +38 -0
  942. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/one_or_more_spec.rb +35 -0
  943. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/optional_spec.rb +37 -0
  944. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +19 -0
  945. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parsing_rule_spec.rb +32 -0
  946. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/sequence_spec.rb +115 -0
  947. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_spec.rb +81 -0
  948. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +37 -0
  949. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.treetop +7 -0
  950. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.tt +7 -0
  951. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar_do.treetop +7 -0
  952. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/zero_or_more_spec.rb +56 -0
  953. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/a.treetop +11 -0
  954. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/b.treetop +11 -0
  955. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/c.treetop +10 -0
  956. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/d.treetop +10 -0
  957. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/grammar_composition_spec.rb +26 -0
  958. data/vendor/digitpaint/personify/vendor/treetop/spec/ruby_extensions/string_spec.rb +32 -0
  959. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/compiled_parser_spec.rb +101 -0
  960. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +147 -0
  961. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +349 -0
  962. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +385 -0
  963. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +660 -0
  964. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +6175 -0
  965. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +58 -0
  966. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +23 -0
  967. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +164 -0
  968. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +84 -0
  969. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/syntax_node_spec.rb +53 -0
  970. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_helper.rb +106 -0
  971. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_suite.rb +4 -0
  972. data/vendor/digitpaint/personify/vendor/treetop/treetop.gemspec +18 -0
  973. data/vendor/digitpaint/unique_identifiers.rb +89 -0
  974. data/vendor/mootools-on-rails/README +54 -0
  975. data/vendor/mootools-on-rails/Rakefile +22 -0
  976. data/vendor/mootools-on-rails/lib/mootools_on_rails.rb +30 -0
  977. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +501 -0
  978. metadata +1141 -0
@@ -0,0 +1 @@
1
+ (function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(i){o=c.getParent(l.id,"form");n=o.elements;if(o){d(n,function(s,r){if(s.id==l.id){j=r;return false}});if(i>0){for(m=j+1;m<n.length;m++){if(n[m].type!="hidden"){return n[m]}}}else{for(m=j-1;m>=0;m--){if(n[m].type!="hidden"){return n[m]}}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(l=tinymce.EditorManager.get(n.id||n.name)){l.focus()}else{window.setTimeout(function(){window.focus();n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}f.onInit.add(function(){d(c.select("a:first,a:last",f.getContainer()),function(i){a.add(i,"focus",function(){f.focus()})})})},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})();
@@ -0,0 +1,109 @@
1
+ /**
2
+ * $Id: editor_plugin_src.js 787 2008-04-10 11:40:57Z spocke $
3
+ *
4
+ * @author Moxiecode
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
+ */
7
+
8
+ (function() {
9
+ var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, explode = tinymce.explode;
10
+
11
+ tinymce.create('tinymce.plugins.TabFocusPlugin', {
12
+ init : function(ed, url) {
13
+ function tabCancel(ed, e) {
14
+ if (e.keyCode === 9)
15
+ return Event.cancel(e);
16
+ };
17
+
18
+ function tabHandler(ed, e) {
19
+ var x, i, f, el, v;
20
+
21
+ function find(d) {
22
+ f = DOM.getParent(ed.id, 'form');
23
+ el = f.elements;
24
+
25
+ if (f) {
26
+ each(el, function(e, i) {
27
+ if (e.id == ed.id) {
28
+ x = i;
29
+ return false;
30
+ }
31
+ });
32
+
33
+ if (d > 0) {
34
+ for (i = x + 1; i < el.length; i++) {
35
+ if (el[i].type != 'hidden')
36
+ return el[i];
37
+ }
38
+ } else {
39
+ for (i = x - 1; i >= 0; i--) {
40
+ if (el[i].type != 'hidden')
41
+ return el[i];
42
+ }
43
+ }
44
+ }
45
+
46
+ return null;
47
+ };
48
+
49
+ if (e.keyCode === 9) {
50
+ v = explode(ed.getParam('tab_focus', ed.getParam('tabfocus_elements', ':prev,:next')));
51
+
52
+ if (v.length == 1) {
53
+ v[1] = v[0];
54
+ v[0] = ':prev';
55
+ }
56
+
57
+ // Find element to focus
58
+ if (e.shiftKey) {
59
+ if (v[0] == ':prev')
60
+ el = find(-1);
61
+ else
62
+ el = DOM.get(v[0]);
63
+ } else {
64
+ if (v[1] == ':next')
65
+ el = find(1);
66
+ else
67
+ el = DOM.get(v[1]);
68
+ }
69
+
70
+ if (el) {
71
+ if (ed = tinymce.EditorManager.get(el.id || el.name))
72
+ ed.focus();
73
+ else
74
+ window.setTimeout(function() {window.focus();el.focus();}, 10);
75
+
76
+ return Event.cancel(e);
77
+ }
78
+ }
79
+ };
80
+
81
+ ed.onKeyUp.add(tabCancel);
82
+
83
+ if (tinymce.isGecko) {
84
+ ed.onKeyPress.add(tabHandler);
85
+ ed.onKeyDown.add(tabCancel);
86
+ } else
87
+ ed.onKeyDown.add(tabHandler);
88
+
89
+ ed.onInit.add(function() {
90
+ each(DOM.select('a:first,a:last', ed.getContainer()), function(n) {
91
+ Event.add(n, 'focus', function() {ed.focus();});
92
+ });
93
+ });
94
+ },
95
+
96
+ getInfo : function() {
97
+ return {
98
+ longname : 'Tabfocus',
99
+ author : 'Moxiecode Systems AB',
100
+ authorurl : 'http://tinymce.moxiecode.com',
101
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus',
102
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
103
+ };
104
+ }
105
+ });
106
+
107
+ // Register plugin
108
+ tinymce.PluginManager.add('tabfocus', tinymce.plugins.TabFocusPlugin);
109
+ })();
@@ -0,0 +1,183 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <title>{#table_dlg.cell_title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
9
+ <script type="text/javascript" src="js/cell.js"></script>
10
+ <link href="css/cell.css" rel="stylesheet" type="text/css" />
11
+ </head>
12
+ <body id="tablecell" style="display: none">
13
+ <form onsubmit="updateAction();return false;" action="#">
14
+ <div class="tabs">
15
+ <ul>
16
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li>
17
+ <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li>
18
+ </ul>
19
+ </div>
20
+
21
+ <div class="panel_wrapper">
22
+ <div id="general_panel" class="panel current">
23
+ <fieldset>
24
+ <legend>{#table_dlg.general_props}</legend>
25
+
26
+ <table border="0" cellpadding="4" cellspacing="0">
27
+ <tr>
28
+ <td><label for="align">{#table_dlg.align}</label></td>
29
+ <td>
30
+ <select id="align" name="align" class="mceFocus">
31
+ <option value="">{#not_set}</option>
32
+ <option value="center">{#table_dlg.align_middle}</option>
33
+ <option value="left">{#table_dlg.align_left}</option>
34
+ <option value="right">{#table_dlg.align_right}</option>
35
+ </select>
36
+ </td>
37
+
38
+ <td><label for="celltype">{#table_dlg.cell_type}</label></td>
39
+ <td>
40
+ <select id="celltype" name="celltype">
41
+ <option value="td">{#table_dlg.td}</option>
42
+ <option value="th">{#table_dlg.th}</option>
43
+ </select>
44
+ </td>
45
+ </tr>
46
+
47
+ <tr>
48
+ <td><label for="valign">{#table_dlg.valign}</label></td>
49
+ <td>
50
+ <select id="valign" name="valign">
51
+ <option value="">{#not_set}</option>
52
+ <option value="top">{#table_dlg.align_top}</option>
53
+ <option value="middle">{#table_dlg.align_middle}</option>
54
+ <option value="bottom">{#table_dlg.align_bottom}</option>
55
+ </select>
56
+ </td>
57
+
58
+ <td><label for="scope">{#table_dlg.scope}</label></td>
59
+ <td>
60
+ <select id="scope" name="scope">
61
+ <option value="">{#not_set}</option>
62
+ <option value="col">{#table.col}</option>
63
+ <option value="row">{#table.row}</option>
64
+ <option value="rowgroup">{#table_dlg.rowgroup}</option>
65
+ <option value="colgroup">{#table_dlg.colgroup}</option>
66
+ </select>
67
+ </td>
68
+
69
+ </tr>
70
+
71
+ <tr>
72
+ <td><label for="width">{#table_dlg.width}</label></td>
73
+ <td><input id="width" name="width" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
74
+
75
+ <td><label for="height">{#table_dlg.height}</label></td>
76
+ <td><input id="height" name="height" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
77
+ </tr>
78
+
79
+ <tr id="styleSelectRow">
80
+ <td><label for="class">{#class_name}</label></td>
81
+ <td colspan="3">
82
+ <select id="class" name="class" class="mceEditableSelect">
83
+ <option value="" selected="selected">{#not_set}</option>
84
+ </select>
85
+ </td>
86
+ </tr>
87
+ </table>
88
+ </fieldset>
89
+ </div>
90
+
91
+ <div id="advanced_panel" class="panel">
92
+ <fieldset>
93
+ <legend>{#table_dlg.advanced_props}</legend>
94
+
95
+ <table border="0" cellpadding="0" cellspacing="4">
96
+ <tr>
97
+ <td class="column1"><label for="id">{#table_dlg.id}</label></td>
98
+ <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
99
+ </tr>
100
+
101
+ <tr>
102
+ <td><label for="style">{#table_dlg.style}</label></td>
103
+ <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
104
+ </tr>
105
+
106
+ <tr>
107
+ <td class="column1"><label for="dir">{#table_dlg.langdir}</label></td>
108
+ <td>
109
+ <select id="dir" name="dir" style="width: 200px">
110
+ <option value="">{#not_set}</option>
111
+ <option value="ltr">{#table_dlg.ltr}</option>
112
+ <option value="rtl">{#table_dlg.rtl}</option>
113
+ </select>
114
+ </td>
115
+ </tr>
116
+
117
+ <tr>
118
+ <td class="column1"><label for="lang">{#table_dlg.langcode}</label></td>
119
+ <td>
120
+ <input id="lang" name="lang" type="text" value="" style="width: 200px" />
121
+ </td>
122
+ </tr>
123
+
124
+ <tr>
125
+ <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td>
126
+ <td>
127
+ <table border="0" cellpadding="0" cellspacing="0">
128
+ <tr>
129
+ <td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
130
+ <td id="backgroundimagebrowsercontainer">&nbsp;</td>
131
+ </tr>
132
+ </table>
133
+ </td>
134
+ </tr>
135
+
136
+ <tr>
137
+ <td class="column1"><label for="bordercolor">{#table_dlg.bordercolor}</label></td>
138
+ <td>
139
+ <table border="0" cellpadding="0" cellspacing="0">
140
+ <tr>
141
+ <td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
142
+ <td id="bordercolor_pickcontainer">&nbsp;</td>
143
+ </tr>
144
+ </table>
145
+ </td>
146
+ </tr>
147
+
148
+ <tr>
149
+ <td class="column1"><label for="bgcolor">{#table_dlg.bgcolor}</label></td>
150
+ <td>
151
+ <table border="0" cellpadding="0" cellspacing="0">
152
+ <tr>
153
+ <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
154
+ <td id="bgcolor_pickcontainer">&nbsp;</td>
155
+ </tr>
156
+ </table>
157
+ </td>
158
+ </tr>
159
+ </table>
160
+ </fieldset>
161
+ </div>
162
+ </div>
163
+
164
+ <div class="mceActionPanel">
165
+ <div>
166
+ <select id="action" name="action">
167
+ <option value="cell">{#table_dlg.cell_cell}</option>
168
+ <option value="row">{#table_dlg.cell_row}</option>
169
+ <option value="all">{#table_dlg.cell_all}</option>
170
+ </select>
171
+ </div>
172
+
173
+ <div style="float: left">
174
+ <div><input type="submit" id="insert" name="insert" value="{#update}" /></div>
175
+ </div>
176
+
177
+ <div style="float: right">
178
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
179
+ </div>
180
+ </div>
181
+ </form>
182
+ </body>
183
+ </html>
@@ -0,0 +1,17 @@
1
+ /* CSS file for cell dialog in the table plugin */
2
+
3
+ .panel_wrapper div.current {
4
+ height: 200px;
5
+ }
6
+
7
+ .advfield {
8
+ width: 200px;
9
+ }
10
+
11
+ #action {
12
+ margin-bottom: 3px;
13
+ }
14
+
15
+ #class {
16
+ width: 150px;
17
+ }
@@ -0,0 +1,25 @@
1
+ /* CSS file for row dialog in the table plugin */
2
+
3
+ .panel_wrapper div.current {
4
+ height: 200px;
5
+ }
6
+
7
+ .advfield {
8
+ width: 200px;
9
+ }
10
+
11
+ #action {
12
+ margin-bottom: 3px;
13
+ }
14
+
15
+ #rowtype,#align,#valign,#class,#height {
16
+ width: 150px;
17
+ }
18
+
19
+ #height {
20
+ width: 50px;
21
+ }
22
+
23
+ .col2 {
24
+ padding-left: 20px;
25
+ }
@@ -0,0 +1,13 @@
1
+ /* CSS file for table dialog in the table plugin */
2
+
3
+ .panel_wrapper div.current {
4
+ height: 245px;
5
+ }
6
+
7
+ .advfield {
8
+ width: 200px;
9
+ }
10
+
11
+ #class {
12
+ width: 150px;
13
+ }
@@ -0,0 +1 @@
1
+ (function(){var a=tinymce.each;tinymce.create("tinymce.plugins.TablePlugin",{init:function(b,c){var d=this;d.editor=b;d.url=c;a([["table","table.desc","mceInsertTable",true],["delete_table","table.del","mceTableDelete"],["delete_col","table.delete_col_desc","mceTableDeleteCol"],["delete_row","table.delete_row_desc","mceTableDeleteRow"],["col_after","table.col_after_desc","mceTableInsertColAfter"],["col_before","table.col_before_desc","mceTableInsertColBefore"],["row_after","table.row_after_desc","mceTableInsertRowAfter"],["row_before","table.row_before_desc","mceTableInsertRowBefore"],["row_props","table.row_desc","mceTableRowProps",true],["cell_props","table.cell_desc","mceTableCellProps",true],["split_cells","table.split_cells_desc","mceTableSplitCells",true],["merge_cells","table.merge_cells_desc","mceTableMergeCells",true]],function(e){b.addButton(e[0],{title:e[1],cmd:e[2],ui:e[3]})});if(b.getParam("inline_styles")){b.onPreProcess.add(function(e,g){var f=e.dom;a(f.select("table",g.node),function(i){var h;if(h=f.getAttrib(i,"width")){f.setStyle(i,"width",h);f.setAttrib(i,"width")}if(h=f.getAttrib(i,"height")){f.setStyle(i,"height",h);f.setAttrib(i,"height")}})})}b.onInit.add(function(){if(b&&b.plugins.contextmenu){b.plugins.contextmenu.onContextMenu.add(function(h,f,j){var k,i=b.selection,g=i.getNode()||b.getBody();if(b.dom.getParent(j,"td")||b.dom.getParent(j,"th")){f.removeAll();if(g.nodeName=="A"&&!b.dom.getAttrib(g,"name")){f.add({title:"advanced.link_desc",icon:"link",cmd:b.plugins.advlink?"mceAdvLink":"mceLink",ui:true});f.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"});f.addSeparator()}if(g.nodeName=="IMG"&&g.className.indexOf("mceItem")==-1){f.add({title:"advanced.image_desc",icon:"image",cmd:b.plugins.advimage?"mceAdvImage":"mceImage",ui:true});f.addSeparator()}f.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",ui:true,value:{action:"insert"}});f.add({title:"table.props_desc",icon:"table_props",cmd:"mceInsertTable",ui:true});f.add({title:"table.del",icon:"delete_table",cmd:"mceTableDelete",ui:true});f.addSeparator();k=f.addMenu({title:"table.cell"});k.add({title:"table.cell_desc",icon:"cell_props",cmd:"mceTableCellProps",ui:true});k.add({title:"table.split_cells_desc",icon:"split_cells",cmd:"mceTableSplitCells",ui:true});k.add({title:"table.merge_cells_desc",icon:"merge_cells",cmd:"mceTableMergeCells",ui:true});k=f.addMenu({title:"table.row"});k.add({title:"table.row_desc",icon:"row_props",cmd:"mceTableRowProps",ui:true});k.add({title:"table.row_before_desc",icon:"row_before",cmd:"mceTableInsertRowBefore"});k.add({title:"table.row_after_desc",icon:"row_after",cmd:"mceTableInsertRowAfter"});k.add({title:"table.delete_row_desc",icon:"delete_row",cmd:"mceTableDeleteRow"});k.addSeparator();k.add({title:"table.cut_row_desc",icon:"cut",cmd:"mceTableCutRow"});k.add({title:"table.copy_row_desc",icon:"copy",cmd:"mceTableCopyRow"});k.add({title:"table.paste_row_before_desc",icon:"paste",cmd:"mceTablePasteRowBefore"});k.add({title:"table.paste_row_after_desc",icon:"paste",cmd:"mceTablePasteRowAfter"});k=f.addMenu({title:"table.col"});k.add({title:"table.col_before_desc",icon:"col_before",cmd:"mceTableInsertColBefore"});k.add({title:"table.col_after_desc",icon:"col_after",cmd:"mceTableInsertColAfter"});k.add({title:"table.delete_col_desc",icon:"delete_col",cmd:"mceTableDeleteCol"})}else{f.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",ui:true})}})}});b.onKeyDown.add(function(f,g){if(g.keyCode==9&&f.dom.getParent(f.selection.getNode(),"TABLE")){if(!tinymce.isGecko&&!tinymce.isOpera){tinyMCE.execInstanceCommand(f.editorId,"mceTableMoveToNextRow",true);return tinymce.dom.Event.cancel(g)}f.undoManager.add()}});if(!tinymce.isIE){if(b.getParam("table_selection",true)){b.onClick.add(function(f,g){g=g.target;if(g.nodeName==="TABLE"){f.selection.select(g)}})}}b.onNodeChange.add(function(f,e,h){var g=f.dom.getParent(h,"td,th,caption");e.setActive("table",h.nodeName==="TABLE"||!!g);if(g&&g.nodeName==="CAPTION"){g=null}e.setDisabled("delete_table",!g);e.setDisabled("delete_col",!g);e.setDisabled("delete_table",!g);e.setDisabled("delete_row",!g);e.setDisabled("col_after",!g);e.setDisabled("col_before",!g);e.setDisabled("row_after",!g);e.setDisabled("row_before",!g);e.setDisabled("row_props",!g);e.setDisabled("cell_props",!g);e.setDisabled("split_cells",!g||(parseInt(f.dom.getAttrib(g,"colspan","1"))<2&&parseInt(f.dom.getAttrib(g,"rowspan","1"))<2));e.setDisabled("merge_cells",!g)});if(!tinymce.isIE){b.onBeforeSetContent.add(function(e,f){if(f.initial){f.content=f.content.replace(/<(td|th)([^>]+|)>\s*<\/(td|th)>/g,tinymce.isOpera?"<$1$2>&nbsp;</$1>":'<$1$2><br mce_bogus="1" /></$1>')}})}},execCommand:function(f,e,g){var d=this.editor,c;switch(f){case"mceTableMoveToNextRow":case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":d.execCommand("mceBeginUndoLevel");this._doExecCommand(f,e,g);d.execCommand("mceEndUndoLevel");return true}return false},getInfo:function(){return{longname:"Tables",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_doExecCommand:function(r,Z,ae){var V=this.editor,au=V,g=this.url;var n=V.selection.getNode();var W=V.dom.getParent(n,"tr");var aq=V.dom.getParent(n,"td,th");var F=V.dom.getParent(n,"table");var k=V.contentWindow.document;var av=F?F.getAttribute("border"):"";if(W&&aq==null){aq=W.cells[0]}function ap(y,x){for(var ax=0;ax<y.length;ax++){if(y[ax].length>0&&ap(y[ax],x)){return true}if(y[ax]==x){return true}}return false}function aj(x,i){var y;ad=e(F);x=x||0;i=i||0;x=Math.max(o.cellindex+x,0);i=Math.max(o.rowindex+i,0);V.execCommand("mceRepaint");y=d(ad,i,x);if(y){V.selection.select(y.firstChild||y);V.selection.collapse(1)}}function ah(){var i=k.createElement("td");if(!tinymce.isIE){i.innerHTML='<br mce_bogus="1"/>'}}function j(y){var x=V.dom.getAttrib(y,"colspan");var i=V.dom.getAttrib(y,"rowspan");x=x==""?1:parseInt(x);i=i==""?1:parseInt(i);return{colspan:x,rowspan:i}}function al(ax,az){var i,ay;for(ay=0;ay<ax.length;ay++){for(i=0;i<ax[ay].length;i++){if(ax[ay][i]==az){return{cellindex:i,rowindex:ay}}}}return null}function d(x,y,i){if(x[y]&&x[y][i]){return x[y][i]}return null}function A(aC,ax){var az=[],y=0,aA,ay,ax,aB;for(aA=0;aA<aC.rows.length;aA++){for(ay=0;ay<aC.rows[aA].cells.length;ay++,y++){az[y]=aC.rows[aA].cells[ay]}}for(aA=0;aA<az.length;aA++){if(az[aA]==ax){if(aB=az[aA+1]){return aB}}}}function e(aE){var i=[],aF=aE.rows,aC,aB,ay,az,aD,ax,aA;for(aB=0;aB<aF.length;aB++){for(aC=0;aC<aF[aB].cells.length;aC++){ay=aF[aB].cells[aC];az=j(ay);for(aD=aC;i[aB]&&i[aB][aD];aD++){}for(aA=aB;aA<aB+az.rowspan;aA++){if(!i[aA]){i[aA]=[]}for(ax=aD;ax<aD+az.colspan;ax++){i[aA][ax]=ay}}}}return i}function m(aG,aD,ay,ax){var y=e(aG),aF=al(y,ay);var aH,aC;if(ax.cells.length!=aD.childNodes.length){aH=aD.childNodes;aC=null;for(var aE=0;ay=d(y,aF.rowindex,aE);aE++){var aA=true;var aB=j(ay);if(ap(aH,ay)){ax.childNodes[aE]._delete=true}else{if((aC==null||ay!=aC)&&aB.colspan>1){for(var az=aE;az<aE+ay.colSpan;az++){ax.childNodes[az]._delete=true}}}if((aC==null||ay!=aC)&&aB.rowspan>1){ay.rowSpan=aB.rowspan+1}aC=ay}B(F)}}function O(x,i){while((x=x.previousSibling)!=null){if(x.nodeName==i){return x}}return null}function af(ax,ay){var x=ay.split(",");while((ax=ax.nextSibling)!=null){for(var y=0;y<x.length;y++){if(ax.nodeName.toLowerCase()==x[y].toLowerCase()){return ax}}}return null}function B(ax){if(ax.rows==0){return}var y=ax.rows[0];do{var x=af(y,"TR");if(y._delete){y.parentNode.removeChild(y);continue}var ay=y.cells[0];if(ay.cells>1){do{var i=af(ay,"TD,TH");if(ay._delete){ay.parentNode.removeChild(ay)}}while((ay=i)!=null)}}while((y=x)!=null)}function p(ax,aA,az){ax.rowSpan=1;var x=af(aA,"TR");for(var ay=1;ay<az&&x;ay++){var y=k.createElement("td");if(!tinymce.isIE){y.innerHTML='<br mce_bogus="1"/>'}if(tinymce.isIE){x.insertBefore(y,x.cells(ax.cellIndex))}else{x.insertBefore(y,x.cells[ax.cellIndex])}x=af(x,"TR")}}function S(aF,aH,aB){var y=e(aH);var ax=aB.cloneNode(false);var aG=al(y,aB.cells[0]);var aC=null;var aA=V.dom.getAttrib(aH,"border");var az=null;for(var aE=0;az=d(y,aG.rowindex,aE);aE++){var aD=null;if(aC!=az){for(var ay=0;ay<aB.cells.length;ay++){if(az==aB.cells[ay]){aD=az.cloneNode(true);break}}}if(aD==null){aD=aF.createElement("td");if(!tinymce.isIE){aD.innerHTML='<br mce_bogus="1"/>'}}aD.colSpan=1;aD.rowSpan=1;ax.appendChild(aD);aC=az}return ax}switch(r){case"mceTableMoveToNextRow":var L=A(F,aq);if(!L){V.execCommand("mceTableInsertRowAfter",aq);L=A(F,aq)}V.selection.select(L);V.selection.collapse(true);return true;case"mceTableRowProps":if(W==null){return true}if(Z){V.windowManager.open({url:g+"/row.htm",width:400+parseInt(V.getLang("table.rowprops_delta_width",0)),height:295+parseInt(V.getLang("table.rowprops_delta_height",0)),inline:1},{plugin_url:g})}return true;case"mceTableCellProps":if(aq==null){return true}if(Z){V.windowManager.open({url:g+"/cell.htm",width:400+parseInt(V.getLang("table.cellprops_delta_width",0)),height:295+parseInt(V.getLang("table.cellprops_delta_height",0)),inline:1},{plugin_url:g})}return true;case"mceInsertTable":if(Z){V.windowManager.open({url:g+"/table.htm",width:400+parseInt(V.getLang("table.table_delta_width",0)),height:320+parseInt(V.getLang("table.table_delta_height",0)),inline:1},{plugin_url:g,action:ae?ae.action:0})}return true;case"mceTableDelete":var G=V.dom.getParent(V.selection.getNode(),"table");if(G){G.parentNode.removeChild(G);V.execCommand("mceRepaint")}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!F){return true}if(W&&F!=W.parentNode){F=W.parentNode}if(F&&W){switch(r){case"mceTableCutRow":if(!W||!aq){return true}V.tableRowClipboard=S(k,F,W);V.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!W||!aq){return true}V.tableRowClipboard=S(k,F,W);break;case"mceTablePasteRowBefore":if(!W||!aq){return true}var v=V.tableRowClipboard.cloneNode(true);var h=O(W,"TR");if(h!=null){m(F,h,h.cells[0],v)}W.parentNode.insertBefore(v,W);break;case"mceTablePasteRowAfter":if(!W||!aq){return true}var X=af(W,"TR");var v=V.tableRowClipboard.cloneNode(true);m(F,W,aq,v);if(X==null){W.parentNode.appendChild(v)}else{X.parentNode.insertBefore(v,X)}break;case"mceTableInsertRowBefore":if(!W||!aq){return true}var ad=e(F);var o=al(ad,aq);var v=k.createElement("tr");var u=null;o.rowindex--;if(o.rowindex<0){o.rowindex=0}for(var ac=0;aq=d(ad,o.rowindex,ac);ac++){if(aq!=u){var E=j(aq);if(E.rowspan==1){var J=k.createElement("td");if(!tinymce.isIE){J.innerHTML='<br mce_bogus="1"/>'}J.colSpan=aq.colSpan;v.appendChild(J)}else{aq.rowSpan=E.rowspan+1}u=aq}}W.parentNode.insertBefore(v,W);aj(0,1);break;case"mceTableInsertRowAfter":if(!W||!aq){return true}var ad=e(F);var o=al(ad,aq);var v=k.createElement("tr");var u=null;for(var ac=0;aq=d(ad,o.rowindex,ac);ac++){if(aq!=u){var E=j(aq);if(E.rowspan==1){var J=k.createElement("td");if(!tinymce.isIE){J.innerHTML='<br mce_bogus="1"/>'}J.colSpan=aq.colSpan;v.appendChild(J)}else{aq.rowSpan=E.rowspan+1}u=aq}}if(v.hasChildNodes()){var X=af(W,"TR");if(X){X.parentNode.insertBefore(v,X)}else{F.appendChild(v)}}aj(0,1);break;case"mceTableDeleteRow":if(!W||!aq){return true}var ad=e(F);var o=al(ad,aq);if(ad.length==1&&F.nodeName=="TBODY"){V.dom.remove(V.dom.getParent(F,"table"));return true}var D=W.cells;var X=af(W,"TR");for(var ac=0;ac<D.length;ac++){if(D[ac].rowSpan>1){var J=D[ac].cloneNode(true);var E=j(D[ac]);J.rowSpan=E.rowspan-1;var ak=X.cells[ac];if(ak==null){X.appendChild(J)}else{X.insertBefore(J,ak)}}}var u=null;for(var ac=0;aq=d(ad,o.rowindex,ac);ac++){if(aq!=u){var E=j(aq);if(E.rowspan>1){aq.rowSpan=E.rowspan-1}else{W=aq.parentNode;if(W.parentNode){W._delete=true}}u=aq}}B(F);aj(0,-1);break;case"mceTableInsertColBefore":if(!W||!aq){return true}var ad=e(V.dom.getParent(F,"table"));var o=al(ad,aq);var u=null;for(var aa=0;aq=d(ad,aa,o.cellindex);aa++){if(aq!=u){var E=j(aq);if(E.colspan==1){var J=k.createElement(aq.nodeName);if(!tinymce.isIE){J.innerHTML='<br mce_bogus="1"/>'}J.rowSpan=aq.rowSpan;aq.parentNode.insertBefore(J,aq)}else{aq.colSpan++}u=aq}}aj();break;case"mceTableInsertColAfter":if(!W||!aq){return true}var ad=e(V.dom.getParent(F,"table"));var o=al(ad,aq);var u=null;for(var aa=0;aq=d(ad,aa,o.cellindex);aa++){if(aq!=u){var E=j(aq);if(E.colspan==1){var J=k.createElement(aq.nodeName);if(!tinymce.isIE){J.innerHTML='<br mce_bogus="1"/>'}J.rowSpan=aq.rowSpan;var ak=af(aq,"TD,TH");if(ak==null){aq.parentNode.appendChild(J)}else{ak.parentNode.insertBefore(J,ak)}}else{aq.colSpan++}u=aq}}aj(1);break;case"mceTableDeleteCol":if(!W||!aq){return true}var ad=e(F);var o=al(ad,aq);var u=null;if((ad.length>1&&ad[0].length<=1)&&F.nodeName=="TBODY"){V.dom.remove(V.dom.getParent(F,"table"));return true}for(var aa=0;aq=d(ad,aa,o.cellindex);aa++){if(aq!=u){var E=j(aq);if(E.colspan>1){aq.colSpan=E.colspan-1}else{if(aq.parentNode){aq.parentNode.removeChild(aq)}}u=aq}}aj(-1);break;case"mceTableSplitCells":if(!W||!aq){return true}var l=j(aq);var C=l.colspan;var H=l.rowspan;if(C>1||H>1){aq.colSpan=1;for(var am=1;am<C;am++){var J=k.createElement("td");if(!tinymce.isIE){J.innerHTML='<br mce_bogus="1"/>'}W.insertBefore(J,af(aq,"TD,TH"));if(H>1){p(J,W,H)}}p(aq,W,H)}F=V.dom.getParent(V.selection.getNode(),"table");break;case"mceTableMergeCells":var ao=[];var R=V.selection.getSel();var ad=e(F);if(tinymce.isIE||R.rangeCount==1){if(Z){var t=j(aq);V.windowManager.open({url:g+"/merge_cells.htm",width:240+parseInt(V.getLang("table.merge_cells_delta_width",0)),height:110+parseInt(V.getLang("table.merge_cells_delta_height",0)),inline:1},{action:"update",numcols:t.colspan,numrows:t.rowspan,plugin_url:g});return true}else{var U=parseInt(ae.numrows);var c=parseInt(ae.numcols);var o=al(ad,aq);if((""+U)=="NaN"){U=1}if((""+c)=="NaN"){c=1}var b=F.rows;for(var aa=o.rowindex;aa<ad.length;aa++){var ag=[];for(var ac=o.cellindex;ac<ad[aa].length;ac++){var f=d(ad,aa,ac);if(f&&!ap(ao,f)&&!ap(ag,f)){var N=al(ad,f);if(N.cellindex<o.cellindex+c&&N.rowindex<o.rowindex+U){ag[ag.length]=f}}}if(ag.length>0){ao[ao.length]=ag}var f=d(ad,o.rowindex,o.cellindex);a(au.dom.select("br",f),function(y,x){if(x>0&&au.dom.getAttrib("mce_bogus")){au.dom.remove(y)}})}}}else{var D=[];var R=V.selection.getSel();var Y=null;var an=null;var z=-1,aw=-1,w,at;if(R.rangeCount<2){return true}for(var am=0;am<R.rangeCount;am++){var ai=R.getRangeAt(am);var aq=ai.startContainer.childNodes[ai.startOffset];if(!aq){break}if(aq.nodeName=="TD"||aq.nodeName=="TH"){D[D.length]=aq}}var b=F.rows;for(var aa=0;aa<b.length;aa++){var ag=[];for(var ac=0;ac<b[aa].cells.length;ac++){var f=b[aa].cells[ac];for(var am=0;am<D.length;am++){if(f==D[am]){ag[ag.length]=f}}}if(ag.length>0){ao[ao.length]=ag}}var an=[];var Y=null;for(var aa=0;aa<ad.length;aa++){for(var ac=0;ac<ad[aa].length;ac++){ad[aa][ac]._selected=false;for(var am=0;am<D.length;am++){if(ad[aa][ac]==D[am]){if(z==-1){z=ac;aw=aa}w=ac;at=aa;ad[aa][ac]._selected=true}}}}for(var aa=aw;aa<=at;aa++){for(var ac=z;ac<=w;ac++){if(!ad[aa][ac]._selected){alert("Invalid selection for merge.");return true}}}}var s=1,q=1;var T=-1;for(var aa=0;aa<ao.length;aa++){var I=0;for(var ac=0;ac<ao[aa].length;ac++){var E=j(ao[aa][ac]);I+=E.colspan;if(T!=-1&&E.rowspan!=T){alert("Invalid selection for merge.");return true}T=E.rowspan}if(I>q){q=I}T=-1}var Q=-1;for(var ac=0;ac<ao[0].length;ac++){var M=0;for(var aa=0;aa<ao.length;aa++){var E=j(ao[aa][ac]);M+=E.rowspan;if(Q!=-1&&E.colspan!=Q){alert("Invalid selection for merge.");return true}Q=E.colspan}if(M>s){s=M}Q=-1}aq=ao[0][0];aq.rowSpan=s;aq.colSpan=q;for(var aa=0;aa<ao.length;aa++){for(var ac=0;ac<ao[aa].length;ac++){var P=ao[aa][ac].innerHTML;var K=P.replace(/[ \t\r\n]/g,"");if(K!="<br/>"&&K!="<br>"&&K!='<br mce_bogus="1"/>'&&(ac+aa>0)){aq.innerHTML+=P}if(ao[aa][ac]!=aq&&!ao[aa][ac]._deleted){var o=al(ad,ao[aa][ac]);var ar=ao[aa][ac].parentNode;ar.removeChild(ao[aa][ac]);ao[aa][ac]._deleted=true;if(!ar.hasChildNodes()){ar.parentNode.removeChild(ar);var ab=null;for(var ac=0;cellElm=d(ad,o.rowindex,ac);ac++){if(cellElm!=ab&&cellElm.rowSpan>1){cellElm.rowSpan--}ab=cellElm}if(aq.rowSpan>1){aq.rowSpan--}}}}}a(au.dom.select("br",aq),function(y,x){if(x>0&&au.dom.getAttrib(y,"mce_bogus")){au.dom.remove(y)}});break}F=V.dom.getParent(V.selection.getNode(),"table");V.addVisual(F);V.nodeChanged()}return true}return false}});tinymce.PluginManager.add("table",tinymce.plugins.TablePlugin)})();
@@ -0,0 +1,1136 @@
1
+ /**
2
+ * $Id: editor_plugin_src.js 953 2008-11-04 10:16:50Z spocke $
3
+ *
4
+ * @author Moxiecode
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
+ */
7
+
8
+ (function() {
9
+ var each = tinymce.each;
10
+
11
+ tinymce.create('tinymce.plugins.TablePlugin', {
12
+ init : function(ed, url) {
13
+ var t = this;
14
+
15
+ t.editor = ed;
16
+ t.url = url;
17
+
18
+ // Register buttons
19
+ each([
20
+ ['table', 'table.desc', 'mceInsertTable', true],
21
+ ['delete_table', 'table.del', 'mceTableDelete'],
22
+ ['delete_col', 'table.delete_col_desc', 'mceTableDeleteCol'],
23
+ ['delete_row', 'table.delete_row_desc', 'mceTableDeleteRow'],
24
+ ['col_after', 'table.col_after_desc', 'mceTableInsertColAfter'],
25
+ ['col_before', 'table.col_before_desc', 'mceTableInsertColBefore'],
26
+ ['row_after', 'table.row_after_desc', 'mceTableInsertRowAfter'],
27
+ ['row_before', 'table.row_before_desc', 'mceTableInsertRowBefore'],
28
+ ['row_props', 'table.row_desc', 'mceTableRowProps', true],
29
+ ['cell_props', 'table.cell_desc', 'mceTableCellProps', true],
30
+ ['split_cells', 'table.split_cells_desc', 'mceTableSplitCells', true],
31
+ ['merge_cells', 'table.merge_cells_desc', 'mceTableMergeCells', true]
32
+ ], function(c) {
33
+ ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]});
34
+ });
35
+
36
+ if (ed.getParam('inline_styles')) {
37
+ // Force move of attribs to styles in strict mode
38
+ ed.onPreProcess.add(function(ed, o) {
39
+ var dom = ed.dom;
40
+
41
+ each(dom.select('table', o.node), function(n) {
42
+ var v;
43
+
44
+ if (v = dom.getAttrib(n, 'width')) {
45
+ dom.setStyle(n, 'width', v);
46
+ dom.setAttrib(n, 'width');
47
+ }
48
+
49
+ if (v = dom.getAttrib(n, 'height')) {
50
+ dom.setStyle(n, 'height', v);
51
+ dom.setAttrib(n, 'height');
52
+ }
53
+ });
54
+ });
55
+ }
56
+
57
+ ed.onInit.add(function() {
58
+ if (ed && ed.plugins.contextmenu) {
59
+ ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) {
60
+ var sm, se = ed.selection, el = se.getNode() || ed.getBody();
61
+
62
+ if (ed.dom.getParent(e, 'td') || ed.dom.getParent(e, 'th')) {
63
+ m.removeAll();
64
+
65
+ if (el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) {
66
+ m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true});
67
+ m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'});
68
+ m.addSeparator();
69
+ }
70
+
71
+ if (el.nodeName == 'IMG' && el.className.indexOf('mceItem') == -1) {
72
+ m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true});
73
+ m.addSeparator();
74
+ }
75
+
76
+ m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', ui : true, value : {action : 'insert'}});
77
+ m.add({title : 'table.props_desc', icon : 'table_props', cmd : 'mceInsertTable', ui : true});
78
+ m.add({title : 'table.del', icon : 'delete_table', cmd : 'mceTableDelete', ui : true});
79
+ m.addSeparator();
80
+
81
+ // Cell menu
82
+ sm = m.addMenu({title : 'table.cell'});
83
+ sm.add({title : 'table.cell_desc', icon : 'cell_props', cmd : 'mceTableCellProps', ui : true});
84
+ sm.add({title : 'table.split_cells_desc', icon : 'split_cells', cmd : 'mceTableSplitCells', ui : true});
85
+ sm.add({title : 'table.merge_cells_desc', icon : 'merge_cells', cmd : 'mceTableMergeCells', ui : true});
86
+
87
+ // Row menu
88
+ sm = m.addMenu({title : 'table.row'});
89
+ sm.add({title : 'table.row_desc', icon : 'row_props', cmd : 'mceTableRowProps', ui : true});
90
+ sm.add({title : 'table.row_before_desc', icon : 'row_before', cmd : 'mceTableInsertRowBefore'});
91
+ sm.add({title : 'table.row_after_desc', icon : 'row_after', cmd : 'mceTableInsertRowAfter'});
92
+ sm.add({title : 'table.delete_row_desc', icon : 'delete_row', cmd : 'mceTableDeleteRow'});
93
+ sm.addSeparator();
94
+ sm.add({title : 'table.cut_row_desc', icon : 'cut', cmd : 'mceTableCutRow'});
95
+ sm.add({title : 'table.copy_row_desc', icon : 'copy', cmd : 'mceTableCopyRow'});
96
+ sm.add({title : 'table.paste_row_before_desc', icon : 'paste', cmd : 'mceTablePasteRowBefore'});
97
+ sm.add({title : 'table.paste_row_after_desc', icon : 'paste', cmd : 'mceTablePasteRowAfter'});
98
+
99
+ // Column menu
100
+ sm = m.addMenu({title : 'table.col'});
101
+ sm.add({title : 'table.col_before_desc', icon : 'col_before', cmd : 'mceTableInsertColBefore'});
102
+ sm.add({title : 'table.col_after_desc', icon : 'col_after', cmd : 'mceTableInsertColAfter'});
103
+ sm.add({title : 'table.delete_col_desc', icon : 'delete_col', cmd : 'mceTableDeleteCol'});
104
+ } else
105
+ m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', ui : true});
106
+ });
107
+ }
108
+ });
109
+
110
+ // Add undo level when new rows are created using the tab key
111
+ ed.onKeyDown.add(function(ed, e) {
112
+ if (e.keyCode == 9 && ed.dom.getParent(ed.selection.getNode(), 'TABLE')) {
113
+ if (!tinymce.isGecko && !tinymce.isOpera) {
114
+ tinyMCE.execInstanceCommand(ed.editorId, "mceTableMoveToNextRow", true);
115
+ return tinymce.dom.Event.cancel(e);
116
+ }
117
+
118
+ ed.undoManager.add();
119
+ }
120
+ });
121
+
122
+ // Select whole table is a table border is clicked
123
+ if (!tinymce.isIE) {
124
+ if (ed.getParam('table_selection', true)) {
125
+ ed.onClick.add(function(ed, e) {
126
+ e = e.target;
127
+
128
+ if (e.nodeName === 'TABLE')
129
+ ed.selection.select(e);
130
+ });
131
+ }
132
+ }
133
+
134
+ ed.onNodeChange.add(function(ed, cm, n) {
135
+ var p = ed.dom.getParent(n, 'td,th,caption');
136
+
137
+ cm.setActive('table', n.nodeName === 'TABLE' || !!p);
138
+ if (p && p.nodeName === 'CAPTION')
139
+ p = null;
140
+
141
+ cm.setDisabled('delete_table', !p);
142
+ cm.setDisabled('delete_col', !p);
143
+ cm.setDisabled('delete_table', !p);
144
+ cm.setDisabled('delete_row', !p);
145
+ cm.setDisabled('col_after', !p);
146
+ cm.setDisabled('col_before', !p);
147
+ cm.setDisabled('row_after', !p);
148
+ cm.setDisabled('row_before', !p);
149
+ cm.setDisabled('row_props', !p);
150
+ cm.setDisabled('cell_props', !p);
151
+ cm.setDisabled('split_cells', !p || (parseInt(ed.dom.getAttrib(p, 'colspan', '1')) < 2 && parseInt(ed.dom.getAttrib(p, 'rowspan', '1')) < 2));
152
+ cm.setDisabled('merge_cells', !p);
153
+ });
154
+
155
+ // Padd empty table cells
156
+ if (!tinymce.isIE) {
157
+ ed.onBeforeSetContent.add(function(ed, o) {
158
+ if (o.initial)
159
+ o.content = o.content.replace(/<(td|th)([^>]+|)>\s*<\/(td|th)>/g, tinymce.isOpera ? '<$1$2>&nbsp;</$1>' : '<$1$2><br mce_bogus="1" /></$1>');
160
+ });
161
+ }
162
+ },
163
+
164
+ execCommand : function(cmd, ui, val) {
165
+ var ed = this.editor, b;
166
+
167
+ // Is table command
168
+ switch (cmd) {
169
+ case "mceTableMoveToNextRow":
170
+ case "mceInsertTable":
171
+ case "mceTableRowProps":
172
+ case "mceTableCellProps":
173
+ case "mceTableSplitCells":
174
+ case "mceTableMergeCells":
175
+ case "mceTableInsertRowBefore":
176
+ case "mceTableInsertRowAfter":
177
+ case "mceTableDeleteRow":
178
+ case "mceTableInsertColBefore":
179
+ case "mceTableInsertColAfter":
180
+ case "mceTableDeleteCol":
181
+ case "mceTableCutRow":
182
+ case "mceTableCopyRow":
183
+ case "mceTablePasteRowBefore":
184
+ case "mceTablePasteRowAfter":
185
+ case "mceTableDelete":
186
+ ed.execCommand('mceBeginUndoLevel');
187
+ this._doExecCommand(cmd, ui, val);
188
+ ed.execCommand('mceEndUndoLevel');
189
+
190
+ return true;
191
+ }
192
+
193
+ // Pass to next handler in chain
194
+ return false;
195
+ },
196
+
197
+ getInfo : function() {
198
+ return {
199
+ longname : 'Tables',
200
+ author : 'Moxiecode Systems AB',
201
+ authorurl : 'http://tinymce.moxiecode.com',
202
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',
203
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
204
+ };
205
+ },
206
+
207
+ // Private plugin internal methods
208
+
209
+ /**
210
+ * Executes the table commands.
211
+ */
212
+ _doExecCommand : function(command, user_interface, value) {
213
+ var inst = this.editor, ed = inst, url = this.url;
214
+ var focusElm = inst.selection.getNode();
215
+ var trElm = inst.dom.getParent(focusElm, "tr");
216
+ var tdElm = inst.dom.getParent(focusElm, "td,th");
217
+ var tableElm = inst.dom.getParent(focusElm, "table");
218
+ var doc = inst.contentWindow.document;
219
+ var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
220
+
221
+ // Get first TD if no TD found
222
+ if (trElm && tdElm == null)
223
+ tdElm = trElm.cells[0];
224
+
225
+ function inArray(ar, v) {
226
+ for (var i=0; i<ar.length; i++) {
227
+ // Is array
228
+ if (ar[i].length > 0 && inArray(ar[i], v))
229
+ return true;
230
+
231
+ // Found value
232
+ if (ar[i] == v)
233
+ return true;
234
+ }
235
+
236
+ return false;
237
+ }
238
+
239
+ function select(dx, dy) {
240
+ var td;
241
+
242
+ grid = getTableGrid(tableElm);
243
+ dx = dx || 0;
244
+ dy = dy || 0;
245
+ dx = Math.max(cpos.cellindex + dx, 0);
246
+ dy = Math.max(cpos.rowindex + dy, 0);
247
+
248
+ // Recalculate grid and select
249
+ inst.execCommand('mceRepaint');
250
+ td = getCell(grid, dy, dx);
251
+
252
+ if (td) {
253
+ inst.selection.select(td.firstChild || td);
254
+ inst.selection.collapse(1);
255
+ }
256
+ };
257
+
258
+ function makeTD() {
259
+ var newTD = doc.createElement("td");
260
+
261
+ if (!tinymce.isIE)
262
+ newTD.innerHTML = '<br mce_bogus="1"/>';
263
+ }
264
+
265
+ function getColRowSpan(td) {
266
+ var colspan = inst.dom.getAttrib(td, "colspan");
267
+ var rowspan = inst.dom.getAttrib(td, "rowspan");
268
+
269
+ colspan = colspan == "" ? 1 : parseInt(colspan);
270
+ rowspan = rowspan == "" ? 1 : parseInt(rowspan);
271
+
272
+ return {colspan : colspan, rowspan : rowspan};
273
+ }
274
+
275
+ function getCellPos(grid, td) {
276
+ var x, y;
277
+
278
+ for (y=0; y<grid.length; y++) {
279
+ for (x=0; x<grid[y].length; x++) {
280
+ if (grid[y][x] == td)
281
+ return {cellindex : x, rowindex : y};
282
+ }
283
+ }
284
+
285
+ return null;
286
+ }
287
+
288
+ function getCell(grid, row, col) {
289
+ if (grid[row] && grid[row][col])
290
+ return grid[row][col];
291
+
292
+ return null;
293
+ }
294
+
295
+ function getNextCell(table, cell) {
296
+ var cells = [], x = 0, i, j, cell, nextCell;
297
+
298
+ for (i = 0; i < table.rows.length; i++)
299
+ for (j = 0; j < table.rows[i].cells.length; j++, x++)
300
+ cells[x] = table.rows[i].cells[j];
301
+
302
+ for (i = 0; i < cells.length; i++)
303
+ if (cells[i] == cell)
304
+ if (nextCell = cells[i+1])
305
+ return nextCell;
306
+ }
307
+
308
+ function getTableGrid(table) {
309
+ var grid = [], rows = table.rows, x, y, td, sd, xstart, x2, y2;
310
+
311
+ for (y=0; y<rows.length; y++) {
312
+ for (x=0; x<rows[y].cells.length; x++) {
313
+ td = rows[y].cells[x];
314
+ sd = getColRowSpan(td);
315
+
316
+ // All ready filled
317
+ for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
318
+
319
+ // Fill box
320
+ for (y2=y; y2<y+sd['rowspan']; y2++) {
321
+ if (!grid[y2])
322
+ grid[y2] = [];
323
+
324
+ for (x2=xstart; x2<xstart+sd['colspan']; x2++)
325
+ grid[y2][x2] = td;
326
+ }
327
+ }
328
+ }
329
+
330
+ return grid;
331
+ }
332
+
333
+ function trimRow(table, tr, td, new_tr) {
334
+ var grid = getTableGrid(table), cpos = getCellPos(grid, td);
335
+ var cells, lastElm;
336
+
337
+ // Time to crop away some
338
+ if (new_tr.cells.length != tr.childNodes.length) {
339
+ cells = tr.childNodes;
340
+ lastElm = null;
341
+
342
+ for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
343
+ var remove = true;
344
+ var sd = getColRowSpan(td);
345
+
346
+ // Remove due to rowspan
347
+ if (inArray(cells, td)) {
348
+ new_tr.childNodes[x]._delete = true;
349
+ } else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
350
+ for (var i=x; i<x+td.colSpan; i++)
351
+ new_tr.childNodes[i]._delete = true;
352
+ }
353
+
354
+ if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
355
+ td.rowSpan = sd.rowspan + 1;
356
+
357
+ lastElm = td;
358
+ }
359
+
360
+ deleteMarked(tableElm);
361
+ }
362
+ }
363
+
364
+ function prevElm(node, name) {
365
+ while ((node = node.previousSibling) != null) {
366
+ if (node.nodeName == name)
367
+ return node;
368
+ }
369
+
370
+ return null;
371
+ }
372
+
373
+ function nextElm(node, names) {
374
+ var namesAr = names.split(',');
375
+
376
+ while ((node = node.nextSibling) != null) {
377
+ for (var i=0; i<namesAr.length; i++) {
378
+ if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
379
+ return node;
380
+ }
381
+ }
382
+
383
+ return null;
384
+ }
385
+
386
+ function deleteMarked(tbl) {
387
+ if (tbl.rows == 0)
388
+ return;
389
+
390
+ var tr = tbl.rows[0];
391
+ do {
392
+ var next = nextElm(tr, "TR");
393
+
394
+ // Delete row
395
+ if (tr._delete) {
396
+ tr.parentNode.removeChild(tr);
397
+ continue;
398
+ }
399
+
400
+ // Delete cells
401
+ var td = tr.cells[0];
402
+ if (td.cells > 1) {
403
+ do {
404
+ var nexttd = nextElm(td, "TD,TH");
405
+
406
+ if (td._delete)
407
+ td.parentNode.removeChild(td);
408
+ } while ((td = nexttd) != null);
409
+ }
410
+ } while ((tr = next) != null);
411
+ }
412
+
413
+ function addRows(td_elm, tr_elm, rowspan) {
414
+ // Add rows
415
+ td_elm.rowSpan = 1;
416
+ var trNext = nextElm(tr_elm, "TR");
417
+ for (var i=1; i<rowspan && trNext; i++) {
418
+ var newTD = doc.createElement("td");
419
+
420
+ if (!tinymce.isIE)
421
+ newTD.innerHTML = '<br mce_bogus="1"/>';
422
+
423
+ if (tinymce.isIE)
424
+ trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
425
+ else
426
+ trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
427
+
428
+ trNext = nextElm(trNext, "TR");
429
+ }
430
+ }
431
+
432
+ function copyRow(doc, table, tr) {
433
+ var grid = getTableGrid(table);
434
+ var newTR = tr.cloneNode(false);
435
+ var cpos = getCellPos(grid, tr.cells[0]);
436
+ var lastCell = null;
437
+ var tableBorder = inst.dom.getAttrib(table, "border");
438
+ var tdElm = null;
439
+
440
+ for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
441
+ var newTD = null;
442
+
443
+ if (lastCell != tdElm) {
444
+ for (var i=0; i<tr.cells.length; i++) {
445
+ if (tdElm == tr.cells[i]) {
446
+ newTD = tdElm.cloneNode(true);
447
+ break;
448
+ }
449
+ }
450
+ }
451
+
452
+ if (newTD == null) {
453
+ newTD = doc.createElement("td");
454
+
455
+ if (!tinymce.isIE)
456
+ newTD.innerHTML = '<br mce_bogus="1"/>';
457
+ }
458
+
459
+ // Reset col/row span
460
+ newTD.colSpan = 1;
461
+ newTD.rowSpan = 1;
462
+
463
+ newTR.appendChild(newTD);
464
+
465
+ lastCell = tdElm;
466
+ }
467
+
468
+ return newTR;
469
+ }
470
+
471
+ // ---- Commands -----
472
+
473
+ // Handle commands
474
+ switch (command) {
475
+ case "mceTableMoveToNextRow":
476
+ var nextCell = getNextCell(tableElm, tdElm);
477
+
478
+ if (!nextCell) {
479
+ inst.execCommand("mceTableInsertRowAfter", tdElm);
480
+ nextCell = getNextCell(tableElm, tdElm);
481
+ }
482
+
483
+ inst.selection.select(nextCell);
484
+ inst.selection.collapse(true);
485
+
486
+ return true;
487
+
488
+ case "mceTableRowProps":
489
+ if (trElm == null)
490
+ return true;
491
+
492
+ if (user_interface) {
493
+ inst.windowManager.open({
494
+ url : url + '/row.htm',
495
+ width : 400 + parseInt(inst.getLang('table.rowprops_delta_width', 0)),
496
+ height : 295 + parseInt(inst.getLang('table.rowprops_delta_height', 0)),
497
+ inline : 1
498
+ }, {
499
+ plugin_url : url
500
+ });
501
+ }
502
+
503
+ return true;
504
+
505
+ case "mceTableCellProps":
506
+ if (tdElm == null)
507
+ return true;
508
+
509
+ if (user_interface) {
510
+ inst.windowManager.open({
511
+ url : url + '/cell.htm',
512
+ width : 400 + parseInt(inst.getLang('table.cellprops_delta_width', 0)),
513
+ height : 295 + parseInt(inst.getLang('table.cellprops_delta_height', 0)),
514
+ inline : 1
515
+ }, {
516
+ plugin_url : url
517
+ });
518
+ }
519
+
520
+ return true;
521
+
522
+ case "mceInsertTable":
523
+ if (user_interface) {
524
+ inst.windowManager.open({
525
+ url : url + '/table.htm',
526
+ width : 400 + parseInt(inst.getLang('table.table_delta_width', 0)),
527
+ height : 320 + parseInt(inst.getLang('table.table_delta_height', 0)),
528
+ inline : 1
529
+ }, {
530
+ plugin_url : url,
531
+ action : value ? value.action : 0
532
+ });
533
+ }
534
+
535
+ return true;
536
+
537
+ case "mceTableDelete":
538
+ var table = inst.dom.getParent(inst.selection.getNode(), "table");
539
+ if (table) {
540
+ table.parentNode.removeChild(table);
541
+ inst.execCommand('mceRepaint');
542
+ }
543
+ return true;
544
+
545
+ case "mceTableSplitCells":
546
+ case "mceTableMergeCells":
547
+ case "mceTableInsertRowBefore":
548
+ case "mceTableInsertRowAfter":
549
+ case "mceTableDeleteRow":
550
+ case "mceTableInsertColBefore":
551
+ case "mceTableInsertColAfter":
552
+ case "mceTableDeleteCol":
553
+ case "mceTableCutRow":
554
+ case "mceTableCopyRow":
555
+ case "mceTablePasteRowBefore":
556
+ case "mceTablePasteRowAfter":
557
+ // No table just return (invalid command)
558
+ if (!tableElm)
559
+ return true;
560
+
561
+ // Table has a tbody use that reference
562
+ // Changed logic by ApTest 2005.07.12 (www.aptest.com)
563
+ // Now lookk at the focused element and take its parentNode. That will be a tbody or a table.
564
+ if (trElm && tableElm != trElm.parentNode)
565
+ tableElm = trElm.parentNode;
566
+
567
+ if (tableElm && trElm) {
568
+ switch (command) {
569
+ case "mceTableCutRow":
570
+ if (!trElm || !tdElm)
571
+ return true;
572
+
573
+ inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
574
+ inst.execCommand("mceTableDeleteRow");
575
+ break;
576
+
577
+ case "mceTableCopyRow":
578
+ if (!trElm || !tdElm)
579
+ return true;
580
+
581
+ inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
582
+ break;
583
+
584
+ case "mceTablePasteRowBefore":
585
+ if (!trElm || !tdElm)
586
+ return true;
587
+
588
+ var newTR = inst.tableRowClipboard.cloneNode(true);
589
+
590
+ var prevTR = prevElm(trElm, "TR");
591
+ if (prevTR != null)
592
+ trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
593
+
594
+ trElm.parentNode.insertBefore(newTR, trElm);
595
+ break;
596
+
597
+ case "mceTablePasteRowAfter":
598
+ if (!trElm || !tdElm)
599
+ return true;
600
+
601
+ var nextTR = nextElm(trElm, "TR");
602
+ var newTR = inst.tableRowClipboard.cloneNode(true);
603
+
604
+ trimRow(tableElm, trElm, tdElm, newTR);
605
+
606
+ if (nextTR == null)
607
+ trElm.parentNode.appendChild(newTR);
608
+ else
609
+ nextTR.parentNode.insertBefore(newTR, nextTR);
610
+
611
+ break;
612
+
613
+ case "mceTableInsertRowBefore":
614
+ if (!trElm || !tdElm)
615
+ return true;
616
+
617
+ var grid = getTableGrid(tableElm);
618
+ var cpos = getCellPos(grid, tdElm);
619
+ var newTR = doc.createElement("tr");
620
+ var lastTDElm = null;
621
+
622
+ cpos.rowindex--;
623
+ if (cpos.rowindex < 0)
624
+ cpos.rowindex = 0;
625
+
626
+ // Create cells
627
+ for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
628
+ if (tdElm != lastTDElm) {
629
+ var sd = getColRowSpan(tdElm);
630
+
631
+ if (sd['rowspan'] == 1) {
632
+ var newTD = doc.createElement("td");
633
+
634
+ if (!tinymce.isIE)
635
+ newTD.innerHTML = '<br mce_bogus="1"/>';
636
+
637
+ newTD.colSpan = tdElm.colSpan;
638
+
639
+ newTR.appendChild(newTD);
640
+ } else
641
+ tdElm.rowSpan = sd['rowspan'] + 1;
642
+
643
+ lastTDElm = tdElm;
644
+ }
645
+ }
646
+
647
+ trElm.parentNode.insertBefore(newTR, trElm);
648
+ select(0, 1);
649
+ break;
650
+
651
+ case "mceTableInsertRowAfter":
652
+ if (!trElm || !tdElm)
653
+ return true;
654
+
655
+ var grid = getTableGrid(tableElm);
656
+ var cpos = getCellPos(grid, tdElm);
657
+ var newTR = doc.createElement("tr");
658
+ var lastTDElm = null;
659
+
660
+ // Create cells
661
+ for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
662
+ if (tdElm != lastTDElm) {
663
+ var sd = getColRowSpan(tdElm);
664
+
665
+ if (sd['rowspan'] == 1) {
666
+ var newTD = doc.createElement("td");
667
+
668
+ if (!tinymce.isIE)
669
+ newTD.innerHTML = '<br mce_bogus="1"/>';
670
+
671
+ newTD.colSpan = tdElm.colSpan;
672
+
673
+ newTR.appendChild(newTD);
674
+ } else
675
+ tdElm.rowSpan = sd['rowspan'] + 1;
676
+
677
+ lastTDElm = tdElm;
678
+ }
679
+ }
680
+
681
+ if (newTR.hasChildNodes()) {
682
+ var nextTR = nextElm(trElm, "TR");
683
+ if (nextTR)
684
+ nextTR.parentNode.insertBefore(newTR, nextTR);
685
+ else
686
+ tableElm.appendChild(newTR);
687
+ }
688
+
689
+ select(0, 1);
690
+ break;
691
+
692
+ case "mceTableDeleteRow":
693
+ if (!trElm || !tdElm)
694
+ return true;
695
+
696
+ var grid = getTableGrid(tableElm);
697
+ var cpos = getCellPos(grid, tdElm);
698
+
699
+ // Only one row, remove whole table
700
+ if (grid.length == 1 && tableElm.nodeName == 'TBODY') {
701
+ inst.dom.remove(inst.dom.getParent(tableElm, "table"));
702
+ return true;
703
+ }
704
+
705
+ // Move down row spanned cells
706
+ var cells = trElm.cells;
707
+ var nextTR = nextElm(trElm, "TR");
708
+ for (var x=0; x<cells.length; x++) {
709
+ if (cells[x].rowSpan > 1) {
710
+ var newTD = cells[x].cloneNode(true);
711
+ var sd = getColRowSpan(cells[x]);
712
+
713
+ newTD.rowSpan = sd.rowspan - 1;
714
+
715
+ var nextTD = nextTR.cells[x];
716
+
717
+ if (nextTD == null)
718
+ nextTR.appendChild(newTD);
719
+ else
720
+ nextTR.insertBefore(newTD, nextTD);
721
+ }
722
+ }
723
+
724
+ // Delete cells
725
+ var lastTDElm = null;
726
+ for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
727
+ if (tdElm != lastTDElm) {
728
+ var sd = getColRowSpan(tdElm);
729
+
730
+ if (sd.rowspan > 1) {
731
+ tdElm.rowSpan = sd.rowspan - 1;
732
+ } else {
733
+ trElm = tdElm.parentNode;
734
+
735
+ if (trElm.parentNode)
736
+ trElm._delete = true;
737
+ }
738
+
739
+ lastTDElm = tdElm;
740
+ }
741
+ }
742
+
743
+ deleteMarked(tableElm);
744
+
745
+ select(0, -1);
746
+ break;
747
+
748
+ case "mceTableInsertColBefore":
749
+ if (!trElm || !tdElm)
750
+ return true;
751
+
752
+ var grid = getTableGrid(inst.dom.getParent(tableElm, "table"));
753
+ var cpos = getCellPos(grid, tdElm);
754
+ var lastTDElm = null;
755
+
756
+ for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
757
+ if (tdElm != lastTDElm) {
758
+ var sd = getColRowSpan(tdElm);
759
+
760
+ if (sd['colspan'] == 1) {
761
+ var newTD = doc.createElement(tdElm.nodeName);
762
+
763
+ if (!tinymce.isIE)
764
+ newTD.innerHTML = '<br mce_bogus="1"/>';
765
+
766
+ newTD.rowSpan = tdElm.rowSpan;
767
+
768
+ tdElm.parentNode.insertBefore(newTD, tdElm);
769
+ } else
770
+ tdElm.colSpan++;
771
+
772
+ lastTDElm = tdElm;
773
+ }
774
+ }
775
+
776
+ select();
777
+ break;
778
+
779
+ case "mceTableInsertColAfter":
780
+ if (!trElm || !tdElm)
781
+ return true;
782
+
783
+ var grid = getTableGrid(inst.dom.getParent(tableElm, "table"));
784
+ var cpos = getCellPos(grid, tdElm);
785
+ var lastTDElm = null;
786
+
787
+ for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
788
+ if (tdElm != lastTDElm) {
789
+ var sd = getColRowSpan(tdElm);
790
+
791
+ if (sd['colspan'] == 1) {
792
+ var newTD = doc.createElement(tdElm.nodeName);
793
+
794
+ if (!tinymce.isIE)
795
+ newTD.innerHTML = '<br mce_bogus="1"/>';
796
+
797
+ newTD.rowSpan = tdElm.rowSpan;
798
+
799
+ var nextTD = nextElm(tdElm, "TD,TH");
800
+ if (nextTD == null)
801
+ tdElm.parentNode.appendChild(newTD);
802
+ else
803
+ nextTD.parentNode.insertBefore(newTD, nextTD);
804
+ } else
805
+ tdElm.colSpan++;
806
+
807
+ lastTDElm = tdElm;
808
+ }
809
+ }
810
+
811
+ select(1);
812
+ break;
813
+
814
+ case "mceTableDeleteCol":
815
+ if (!trElm || !tdElm)
816
+ return true;
817
+
818
+ var grid = getTableGrid(tableElm);
819
+ var cpos = getCellPos(grid, tdElm);
820
+ var lastTDElm = null;
821
+
822
+ // Only one col, remove whole table
823
+ if ((grid.length > 1 && grid[0].length <= 1) && tableElm.nodeName == 'TBODY') {
824
+ inst.dom.remove(inst.dom.getParent(tableElm, "table"));
825
+ return true;
826
+ }
827
+
828
+ // Delete cells
829
+ for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
830
+ if (tdElm != lastTDElm) {
831
+ var sd = getColRowSpan(tdElm);
832
+
833
+ if (sd['colspan'] > 1)
834
+ tdElm.colSpan = sd['colspan'] - 1;
835
+ else {
836
+ if (tdElm.parentNode)
837
+ tdElm.parentNode.removeChild(tdElm);
838
+ }
839
+
840
+ lastTDElm = tdElm;
841
+ }
842
+ }
843
+
844
+ select(-1);
845
+ break;
846
+
847
+ case "mceTableSplitCells":
848
+ if (!trElm || !tdElm)
849
+ return true;
850
+
851
+ var spandata = getColRowSpan(tdElm);
852
+
853
+ var colspan = spandata["colspan"];
854
+ var rowspan = spandata["rowspan"];
855
+
856
+ // Needs splitting
857
+ if (colspan > 1 || rowspan > 1) {
858
+ // Generate cols
859
+ tdElm.colSpan = 1;
860
+ for (var i=1; i<colspan; i++) {
861
+ var newTD = doc.createElement("td");
862
+
863
+ if (!tinymce.isIE)
864
+ newTD.innerHTML = '<br mce_bogus="1"/>';
865
+
866
+ trElm.insertBefore(newTD, nextElm(tdElm, "TD,TH"));
867
+
868
+ if (rowspan > 1)
869
+ addRows(newTD, trElm, rowspan);
870
+ }
871
+
872
+ addRows(tdElm, trElm, rowspan);
873
+ }
874
+
875
+ // Apply visual aids
876
+ tableElm = inst.dom.getParent(inst.selection.getNode(), "table");
877
+ break;
878
+
879
+ case "mceTableMergeCells":
880
+ var rows = [];
881
+ var sel = inst.selection.getSel();
882
+ var grid = getTableGrid(tableElm);
883
+
884
+ if (tinymce.isIE || sel.rangeCount == 1) {
885
+ if (user_interface) {
886
+ // Setup template
887
+ var sp = getColRowSpan(tdElm);
888
+
889
+ inst.windowManager.open({
890
+ url : url + '/merge_cells.htm',
891
+ width : 240 + parseInt(inst.getLang('table.merge_cells_delta_width', 0)),
892
+ height : 110 + parseInt(inst.getLang('table.merge_cells_delta_height', 0)),
893
+ inline : 1
894
+ }, {
895
+ action : "update",
896
+ numcols : sp.colspan,
897
+ numrows : sp.rowspan,
898
+ plugin_url : url
899
+ });
900
+
901
+ return true;
902
+ } else {
903
+ var numRows = parseInt(value['numrows']);
904
+ var numCols = parseInt(value['numcols']);
905
+ var cpos = getCellPos(grid, tdElm);
906
+
907
+ if (("" + numRows) == "NaN")
908
+ numRows = 1;
909
+
910
+ if (("" + numCols) == "NaN")
911
+ numCols = 1;
912
+
913
+ // Get rows and cells
914
+ var tRows = tableElm.rows;
915
+ for (var y=cpos.rowindex; y<grid.length; y++) {
916
+ var rowCells = [];
917
+
918
+ for (var x=cpos.cellindex; x<grid[y].length; x++) {
919
+ var td = getCell(grid, y, x);
920
+
921
+ if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
922
+ var cp = getCellPos(grid, td);
923
+
924
+ // Within range
925
+ if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
926
+ rowCells[rowCells.length] = td;
927
+ }
928
+ }
929
+
930
+ if (rowCells.length > 0)
931
+ rows[rows.length] = rowCells;
932
+
933
+ var td = getCell(grid, cpos.rowindex, cpos.cellindex);
934
+ each(ed.dom.select('br', td), function(e, i) {
935
+ if (i > 0 && ed.dom.getAttrib('mce_bogus'))
936
+ ed.dom.remove(e);
937
+ });
938
+ }
939
+
940
+ //return true;
941
+ }
942
+ } else {
943
+ var cells = [];
944
+ var sel = inst.selection.getSel();
945
+ var lastTR = null;
946
+ var curRow = null;
947
+ var x1 = -1, y1 = -1, x2, y2;
948
+
949
+ // Only one cell selected, whats the point?
950
+ if (sel.rangeCount < 2)
951
+ return true;
952
+
953
+ // Get all selected cells
954
+ for (var i=0; i<sel.rangeCount; i++) {
955
+ var rng = sel.getRangeAt(i);
956
+ var tdElm = rng.startContainer.childNodes[rng.startOffset];
957
+
958
+ if (!tdElm)
959
+ break;
960
+
961
+ if (tdElm.nodeName == "TD" || tdElm.nodeName == "TH")
962
+ cells[cells.length] = tdElm;
963
+ }
964
+
965
+ // Get rows and cells
966
+ var tRows = tableElm.rows;
967
+ for (var y=0; y<tRows.length; y++) {
968
+ var rowCells = [];
969
+
970
+ for (var x=0; x<tRows[y].cells.length; x++) {
971
+ var td = tRows[y].cells[x];
972
+
973
+ for (var i=0; i<cells.length; i++) {
974
+ if (td == cells[i]) {
975
+ rowCells[rowCells.length] = td;
976
+ }
977
+ }
978
+ }
979
+
980
+ if (rowCells.length > 0)
981
+ rows[rows.length] = rowCells;
982
+ }
983
+
984
+ // Find selected cells in grid and box
985
+ var curRow = [];
986
+ var lastTR = null;
987
+ for (var y=0; y<grid.length; y++) {
988
+ for (var x=0; x<grid[y].length; x++) {
989
+ grid[y][x]._selected = false;
990
+
991
+ for (var i=0; i<cells.length; i++) {
992
+ if (grid[y][x] == cells[i]) {
993
+ // Get start pos
994
+ if (x1 == -1) {
995
+ x1 = x;
996
+ y1 = y;
997
+ }
998
+
999
+ // Get end pos
1000
+ x2 = x;
1001
+ y2 = y;
1002
+
1003
+ grid[y][x]._selected = true;
1004
+ }
1005
+ }
1006
+ }
1007
+ }
1008
+
1009
+ // Is there gaps, if so deny
1010
+ for (var y=y1; y<=y2; y++) {
1011
+ for (var x=x1; x<=x2; x++) {
1012
+ if (!grid[y][x]._selected) {
1013
+ alert("Invalid selection for merge.");
1014
+ return true;
1015
+ }
1016
+ }
1017
+ }
1018
+ }
1019
+
1020
+ // Validate selection and get total rowspan and colspan
1021
+ var rowSpan = 1, colSpan = 1;
1022
+
1023
+ // Validate horizontal and get total colspan
1024
+ var lastRowSpan = -1;
1025
+ for (var y=0; y<rows.length; y++) {
1026
+ var rowColSpan = 0;
1027
+
1028
+ for (var x=0; x<rows[y].length; x++) {
1029
+ var sd = getColRowSpan(rows[y][x]);
1030
+
1031
+ rowColSpan += sd['colspan'];
1032
+
1033
+ if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
1034
+ alert("Invalid selection for merge.");
1035
+ return true;
1036
+ }
1037
+
1038
+ lastRowSpan = sd['rowspan'];
1039
+ }
1040
+
1041
+ if (rowColSpan > colSpan)
1042
+ colSpan = rowColSpan;
1043
+
1044
+ lastRowSpan = -1;
1045
+ }
1046
+
1047
+ // Validate vertical and get total rowspan
1048
+ var lastColSpan = -1;
1049
+ for (var x=0; x<rows[0].length; x++) {
1050
+ var colRowSpan = 0;
1051
+
1052
+ for (var y=0; y<rows.length; y++) {
1053
+ var sd = getColRowSpan(rows[y][x]);
1054
+
1055
+ colRowSpan += sd['rowspan'];
1056
+
1057
+ if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
1058
+ alert("Invalid selection for merge.");
1059
+ return true;
1060
+ }
1061
+
1062
+ lastColSpan = sd['colspan'];
1063
+ }
1064
+
1065
+ if (colRowSpan > rowSpan)
1066
+ rowSpan = colRowSpan;
1067
+
1068
+ lastColSpan = -1;
1069
+ }
1070
+
1071
+ // Setup td
1072
+ tdElm = rows[0][0];
1073
+ tdElm.rowSpan = rowSpan;
1074
+ tdElm.colSpan = colSpan;
1075
+
1076
+ // Merge cells
1077
+ for (var y=0; y<rows.length; y++) {
1078
+ for (var x=0; x<rows[y].length; x++) {
1079
+ var html = rows[y][x].innerHTML;
1080
+ var chk = html.replace(/[ \t\r\n]/g, "");
1081
+
1082
+ if (chk != "<br/>" && chk != "<br>" && chk != '<br mce_bogus="1"/>' && (x+y > 0))
1083
+ tdElm.innerHTML += html;
1084
+
1085
+ // Not current cell
1086
+ if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
1087
+ var cpos = getCellPos(grid, rows[y][x]);
1088
+ var tr = rows[y][x].parentNode;
1089
+
1090
+ tr.removeChild(rows[y][x]);
1091
+ rows[y][x]._deleted = true;
1092
+
1093
+ // Empty TR, remove it
1094
+ if (!tr.hasChildNodes()) {
1095
+ tr.parentNode.removeChild(tr);
1096
+
1097
+ var lastCell = null;
1098
+ for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
1099
+ if (cellElm != lastCell && cellElm.rowSpan > 1)
1100
+ cellElm.rowSpan--;
1101
+
1102
+ lastCell = cellElm;
1103
+ }
1104
+
1105
+ if (tdElm.rowSpan > 1)
1106
+ tdElm.rowSpan--;
1107
+ }
1108
+ }
1109
+ }
1110
+ }
1111
+
1112
+ // Remove all but one bogus br
1113
+ each(ed.dom.select('br', tdElm), function(e, i) {
1114
+ if (i > 0 && ed.dom.getAttrib(e, 'mce_bogus'))
1115
+ ed.dom.remove(e);
1116
+ });
1117
+
1118
+ break;
1119
+ }
1120
+
1121
+ tableElm = inst.dom.getParent(inst.selection.getNode(), "table");
1122
+ inst.addVisual(tableElm);
1123
+ inst.nodeChanged();
1124
+ }
1125
+
1126
+ return true;
1127
+ }
1128
+
1129
+ // Pass to next handler in chain
1130
+ return false;
1131
+ }
1132
+ });
1133
+
1134
+ // Register plugin
1135
+ tinymce.PluginManager.add('table', tinymce.plugins.TablePlugin);
1136
+ })();