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,88 @@
1
+ Skyline.Editor.plugins.SkylineImage.Dialog = new Class({
2
+ validAttributes : {
3
+ "skyline-ref-id": "ref_id",
4
+ "skyline-referable-id" : "referable_id",
5
+ "skyline-referable-type" : "referable_type",
6
+ "alt" : "alt",
7
+ "class" : "class",
8
+ "src" : "url",
9
+ "width" : "width",
10
+ "height" : "height"
11
+ },
12
+ initialize : function(ed){
13
+ this.url = ed.settings.skyline_image_dialog_url
14
+ this.editor = ed;
15
+ this.editorImageEl = ed.selection.getNode();
16
+ this.bookmark = ed.selection.getBookmark('simple');
17
+ if(this.editorImageEl.nodeName == 'IMG'){
18
+ this.edit = true;
19
+ }
20
+
21
+ this.dialog = new Application.ImageBrowser($merge(this._getParameters(this.editorImageEl),{common:true}));
22
+ this.dialog.addEvent("select", this.insert.bind(this));
23
+ this.dialog.addEvent("cancel", this.cancel.bind(this));
24
+ this.dialog.open();
25
+ },
26
+ cancel : function(){
27
+ this.editor.getWin().focus();
28
+ },
29
+ insert : function(values){
30
+ var ed = this.editor, t = this, el = this.editorImageEl, attr;
31
+
32
+ attr = this._getAttributes(values);
33
+ styles = {};
34
+
35
+ // Fixes crash in Safari
36
+ if (tinymce.isWebKit){
37
+ ed.getWin().focus();
38
+ }
39
+
40
+ if (attr.src && attr.src === '' || !attr.src) {
41
+ if (el.nodeName == 'IMG') {
42
+ ed.dom.remove(el);
43
+ ed.execCommand('mceRepaint');
44
+ }
45
+ ed.getWin().focus();
46
+ return;
47
+ }
48
+
49
+ this._restoreSelection();
50
+ if (el && el.nodeName == 'IMG') {
51
+ ed.dom.setAttribs(el, attr);
52
+ } else {
53
+ ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', {skip_undo : 1});
54
+ el = ed.dom.get('__mce_tmp');
55
+ ed.dom.setAttribs(el, attr);
56
+ ed.dom.setAttrib(el, 'id', '');
57
+ ed.undoManager.add();
58
+ }
59
+
60
+ // Force a resize so we should not have resize artifacts.
61
+ ed.execCommand('mceAutoResize',false);
62
+ ed.getWin().focus();
63
+ },
64
+
65
+ // Get attributes from IMG tag for passing to dialog
66
+ _getParameters : function(el){
67
+ if(!this.edit){ return {"new": true}; }
68
+ var attr = {"new": false}, el = $(el);
69
+ $H(this.validAttributes).each(function(v,k){
70
+ attr[v] = el.getProperty(k);
71
+ });
72
+ return attr
73
+ },
74
+ // Get attributes from dialog for IMG tag
75
+ _getAttributes : function(values){
76
+ var attr = {};
77
+ $H(this.validAttributes).each(function(v,k){
78
+ attr[k] = values[v];
79
+ });
80
+ return attr;
81
+ },
82
+ _restoreSelection : function(){
83
+ if (tinymce.isIE){
84
+ this.editor.selection.moveToBookmark(this.bookmark);
85
+ }
86
+
87
+ }
88
+ });
@@ -0,0 +1,33 @@
1
+ (function() {
2
+ tinymce.create('Skyline.Editor.plugins.SkylineImage', {
3
+ init : function(ed, url) {
4
+ // Register commands
5
+ ed.addCommand('mceSklImage', function() {
6
+ // Internal image object like a flash placeholder
7
+ if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1)
8
+ return;
9
+
10
+ new Skyline.Editor.plugins.SkylineImage.Dialog(ed);
11
+ });
12
+
13
+ // Register buttons
14
+ ed.addButton('image', {
15
+ title : 'skyline.image_desc',
16
+ cmd : 'mceSklImage'
17
+ });
18
+ },
19
+
20
+ getInfo : function() {
21
+ return {
22
+ longname : 'Skyline Image',
23
+ author : 'DigitPaint BV',
24
+ authorurl : 'http://www.digitpaint.nl',
25
+ infourl : 'http://www.digitpaint.nl',
26
+ version : "1.0"
27
+ };
28
+ }
29
+ });
30
+
31
+ // Register plugin
32
+ tinymce.PluginManager.add('skylineimage', Skyline.Editor.plugins.SkylineImage);
33
+ })();
@@ -0,0 +1,113 @@
1
+ Skyline.Editor.plugins.SkylineLink.Dialog = new Class({
2
+ validAttributes : {
3
+ "skyline-ref-id": "ref_id",
4
+ "skyline-referable-id" : "referable_id",
5
+ "skyline-referable-type" : "referable_type",
6
+ "title" : "title",
7
+ "href" : "url",
8
+ "target" : "target"
9
+ },
10
+ initialize : function(ed){
11
+ this.url = ed.settings.skyline_image_dialog_url
12
+ this.editor = ed;
13
+ this.editorSelection = ed.selection.getNode();
14
+ this.editorLinkEl = ed.dom.getParent(this.editorSelection, "A");
15
+ this.storeSelection();
16
+
17
+ if (this.editorLinkEl != null && this.editorLinkEl.nodeName == "A"){
18
+ this.edit = true
19
+ }
20
+ this.dialog = new Application.LinkBrowser($merge(this._getParameters(this.editorLinkEl),{common:true}));
21
+ this.dialog.addEvent("select", this.insert.bind(this));
22
+ this.dialog.addEvent("cancel", this.cancel.bind(this));
23
+ this.dialog.open();
24
+
25
+ },
26
+ insert : function(values){
27
+ this.restoreSelection();
28
+ var ed = this.editor;
29
+ var elm, elementArray, i,attr;
30
+
31
+ elm = this.editorLinkEl
32
+
33
+ attr = this._getAttributes(values);
34
+
35
+ // Remove element if there is no href
36
+ if (!attr.href || attr.href == "") {
37
+ return this.remove();
38
+ }
39
+
40
+ ed.execCommand("mceBeginUndoLevel");
41
+
42
+ // Create new anchor elements
43
+ if (elm == null) {
44
+ ed.getDoc().execCommand("unlink", false, null);
45
+ ed.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1});
46
+
47
+ elementArray = tinymce.grep(ed.dom.select("a"), function(n) {return ed.dom.getAttrib(n, 'href') == '#mce_temp_url#';});
48
+ for (i=0; i<elementArray.length; i++){
49
+ elm = elementArray[i];
50
+ ed.dom.setAttribs(elm,attr)
51
+ }
52
+ } else {
53
+ ed.dom.setAttribs(elm,attr)
54
+ }
55
+
56
+ // Don't move caret if selection was image
57
+ if (elm.childNodes.length != 1 || elm.firstChild.nodeName != 'IMG') {
58
+ ed.focus();
59
+ ed.selection.select(elm);
60
+ ed.selection.collapse(0);
61
+ this.storeSelection();
62
+ }
63
+
64
+ ed.execCommand("mceEndUndoLevel");
65
+ },
66
+ cancel : function(){
67
+ this.editor.focus();
68
+ },
69
+ remove : function(){
70
+ var ed = this.editor, i;
71
+ ed.execCommand("mceBeginUndoLevel");
72
+ i = ed.selection.getBookmark();
73
+ ed.dom.remove(this.editorLinkEl, 1);
74
+ ed.selection.moveToBookmark(i);
75
+ ed.execCommand("mceEndUndoLevel");
76
+ },
77
+ // Get attributes from Element for passing to dialog
78
+ _getParameters : function(el){
79
+ if(!this.edit){ return {"new": true}; }
80
+ var attr = {"new": false}, el = $(el);
81
+ $H(this.validAttributes).each(function(v,k){
82
+ attr[v] = el.getProperty(k);
83
+ });
84
+ return attr
85
+ },
86
+ // Get attributes from dialog for Element
87
+ _getAttributes : function(values){
88
+ var attr = {};
89
+ $H(this.validAttributes).each(function(v,k){
90
+ attr[k] = values[v];
91
+ });
92
+ return attr;
93
+ },
94
+
95
+ /**
96
+ * Stores the current editor selection for later restoration. This can be useful since some browsers
97
+ * looses it's selection if a control element is selected/focused inside the dialogs.
98
+ */
99
+ storeSelection : function() {
100
+ this.editor.windowManager.bookmark = this.editor.selection.getBookmark(1);
101
+ },
102
+
103
+ /**
104
+ * Restores any stored selection. This can be useful since some browsers
105
+ * looses it's selection if a control element is selected/focused inside the dialogs.
106
+ */
107
+ restoreSelection : function() {
108
+ if (tinymce.isIE){
109
+ this.editor.selection.moveToBookmark(this.editor.windowManager.bookmark);
110
+ }
111
+ }
112
+
113
+ });
@@ -0,0 +1,51 @@
1
+ /**
2
+ * $Id: editor_plugin_src.js 539 2008-01-14 19:08:58Z spocke $
3
+ *
4
+ * @author Moxiecode
5
+ * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
6
+ */
7
+
8
+ (function() {
9
+ tinymce.create('Skyline.Editor.plugins.SkylineLink', {
10
+ init : function(ed, url) {
11
+ this.editor = ed;
12
+
13
+ // Register commands
14
+ ed.addCommand('mceSklLink', function() {
15
+ var se = ed.selection;
16
+
17
+ // No selection and not in link
18
+ if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A'))
19
+ return;
20
+
21
+ new Skyline.Editor.plugins.SkylineLink.Dialog(ed);
22
+ });
23
+
24
+ // Register buttons
25
+ ed.addButton('link', {
26
+ title : 'skyline.link_desc',
27
+ cmd : 'mceSklLink'
28
+ });
29
+
30
+ ed.addShortcut('ctrl+k', 'skyline.link_desc', 'mceSklLink');
31
+
32
+ ed.onNodeChange.add(function(ed, cm, n, co) {
33
+ cm.setDisabled('link', co && n.nodeName != 'A');
34
+ cm.setActive('link', n.nodeName == 'A' && !n.name);
35
+ });
36
+ },
37
+
38
+ getInfo : function() {
39
+ return {
40
+ longname : 'Skyline Link',
41
+ author : 'DigitPaint BV',
42
+ authorurl : 'http://www.digitpaint.nl',
43
+ infourl : 'http://www.digitpaint.nl',
44
+ version : "1.0"
45
+ };
46
+ }
47
+ });
48
+
49
+ // Register plugin
50
+ tinymce.PluginManager.add('skylinelink', Skyline.Editor.plugins.SkylineLink);
51
+ })();
@@ -0,0 +1,1087 @@
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('Skyline.Editor.plugins.SkylineTable', {
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', 'skyline_table.desc', 'mceInsertTable']
21
+ ], function(c) {
22
+ ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]});
23
+ });
24
+
25
+ if (ed.getParam('inline_styles')) {
26
+ // Force move of attribs to styles in strict mode
27
+ ed.onPreProcess.add(function(ed, o) {
28
+ var dom = ed.dom;
29
+
30
+ each(dom.select('table', o.node), function(n) {
31
+ var v;
32
+
33
+ if (v = dom.getAttrib(n, 'width')) {
34
+ dom.setStyle(n, 'width', v);
35
+ dom.setAttrib(n, 'width');
36
+ }
37
+
38
+ if (v = dom.getAttrib(n, 'height')) {
39
+ dom.setStyle(n, 'height', v);
40
+ dom.setAttrib(n, 'height');
41
+ }
42
+ });
43
+ });
44
+ }
45
+
46
+ ed.onInit.add(function() {
47
+ if (ed && ed.plugins.skylinecontextmenu) {
48
+ ed.plugins.skylinecontextmenu.registerMenu(function(m,e,se,col,ed) {
49
+ var sm;
50
+
51
+ if (ed.dom.getParent(e, 'td') || ed.dom.getParent(e, 'th')) {
52
+
53
+ m.add({title : 'skyline_table.del', icon : 'delete_table', cmd : 'mceTableDelete', ui : true});
54
+ m.addSeparator();
55
+
56
+ // Row menu
57
+ sm = m.addMenu({title : 'skyline_table.row'});
58
+ sm.add({title : 'skyline_table.row_before_desc', icon : 'row_before', cmd : 'mceTableInsertRowBefore'});
59
+ sm.add({title : 'skyline_table.row_after_desc', icon : 'row_after', cmd : 'mceTableInsertRowAfter'});
60
+ sm.add({title : 'skyline_table.delete_row_desc', icon : 'delete_row', cmd : 'mceTableDeleteRow'});
61
+ sm.addSeparator();
62
+ sm.add({title : 'skyline_table.cut_row_desc', icon : 'cut', cmd : 'mceTableCutRow'});
63
+ sm.add({title : 'skyline_table.copy_row_desc', icon : 'copy', cmd : 'mceTableCopyRow'});
64
+ sm.add({title : 'skyline_table.paste_row_before_desc', icon : 'paste', cmd : 'mceTablePasteRowBefore'});
65
+ sm.add({title : 'skyline_table.paste_row_after_desc', icon : 'paste', cmd : 'mceTablePasteRowAfter'});
66
+
67
+ // Column menu
68
+ sm = m.addMenu({title : 'skyline_table.col'});
69
+ sm.add({title : 'skyline_table.col_before_desc', icon : 'col_before', cmd : 'mceTableInsertColBefore'});
70
+ sm.add({title : 'skyline_table.col_after_desc', icon : 'col_after', cmd : 'mceTableInsertColAfter'});
71
+ sm.add({title : 'skyline_table.delete_col_desc', icon : 'delete_col', cmd : 'mceTableDeleteCol'});
72
+ return true;
73
+ } else {
74
+ return false;
75
+ }
76
+
77
+ });
78
+ }
79
+ });
80
+
81
+ // Add undo level when new rows are created using the tab key
82
+ ed.onKeyDown.add(function(ed, e) {
83
+ if (e.keyCode == 9 && ed.dom.getParent(ed.selection.getNode(), 'TABLE')) {
84
+ if (!tinymce.isGecko && !tinymce.isOpera) {
85
+ tinyMCE.execInstanceCommand(ed.editorId, "mceTableMoveToNextRow", true);
86
+ return tinymce.dom.Event.cancel(e);
87
+ }
88
+
89
+ ed.undoManager.add();
90
+ }
91
+ });
92
+
93
+ // Select whole table is a table border is clicked
94
+ if (!tinymce.isIE) {
95
+ if (ed.getParam('table_selection', true)) {
96
+ ed.onClick.add(function(ed, e) {
97
+ e = e.target;
98
+
99
+ if (e.nodeName === 'TABLE')
100
+ ed.selection.select(e);
101
+ });
102
+ }
103
+ }
104
+
105
+ ed.onNodeChange.add(function(ed, cm, n) {
106
+ var p = ed.dom.getParent(n, 'td,th,caption');
107
+
108
+ if (p && p.nodeName === 'CAPTION')
109
+ p = null;
110
+
111
+ cm.setDisabled('delete_table', !p);
112
+ cm.setDisabled('delete_col', !p);
113
+ cm.setDisabled('delete_table', !p);
114
+ cm.setDisabled('delete_row', !p);
115
+ cm.setDisabled('col_after', !p);
116
+ cm.setDisabled('col_before', !p);
117
+ cm.setDisabled('row_after', !p);
118
+ cm.setDisabled('row_before', !p);
119
+ });
120
+
121
+ // Padd empty table cells
122
+ if (!tinymce.isIE) {
123
+ ed.onBeforeSetContent.add(function(ed, o) {
124
+ if (o.initial)
125
+ o.content = o.content.replace(/<(td|th)([^>]+|)>\s*<\/(td|th)>/g, tinymce.isOpera ? '<$1$2>&nbsp;</$1>' : '<$1$2><br mce_bogus="1" /></$1>');
126
+ });
127
+ }
128
+ },
129
+
130
+ execCommand : function(cmd, ui, val) {
131
+ var ed = this.editor, b;
132
+
133
+ // Is table command
134
+ switch (cmd) {
135
+ case "mceTableMoveToNextRow":
136
+ case "mceInsertTable":
137
+ case "mceTableSplitCells":
138
+ case "mceTableMergeCells":
139
+ case "mceTableInsertRowBefore":
140
+ case "mceTableInsertRowAfter":
141
+ case "mceTableDeleteRow":
142
+ case "mceTableInsertColBefore":
143
+ case "mceTableInsertColAfter":
144
+ case "mceTableDeleteCol":
145
+ case "mceTableCutRow":
146
+ case "mceTableCopyRow":
147
+ case "mceTablePasteRowBefore":
148
+ case "mceTablePasteRowAfter":
149
+ case "mceTableDelete":
150
+ ed.execCommand('mceBeginUndoLevel');
151
+ this._doExecCommand(cmd, ui, val);
152
+ ed.execCommand('mceEndUndoLevel');
153
+
154
+ return true;
155
+ }
156
+
157
+ // Pass to next handler in chain
158
+ return false;
159
+ },
160
+
161
+ getInfo : function() {
162
+ return {
163
+ longname : 'Tables',
164
+ author : 'Moxiecode Systems AB',
165
+ authorurl : 'http://tinymce.moxiecode.com',
166
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',
167
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
168
+ };
169
+ },
170
+
171
+ // Private plugin internal methods
172
+
173
+ /**
174
+ * Executes the table commands.
175
+ */
176
+ _doExecCommand : function(command, user_interface, value) {
177
+ var inst = this.editor, ed = inst, url = this.url;
178
+ var focusElm = inst.selection.getNode();
179
+ var trElm = inst.dom.getParent(focusElm, "tr");
180
+ var tdElm = inst.dom.getParent(focusElm, "td,th");
181
+ var tableElm = inst.dom.getParent(focusElm, "table");
182
+ var doc = inst.contentWindow.document;
183
+ var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
184
+
185
+ // Get first TD if no TD found
186
+ if (trElm && tdElm == null)
187
+ tdElm = trElm.cells[0];
188
+
189
+ function inArray(ar, v) {
190
+ for (var i=0; i<ar.length; i++) {
191
+ // Is array
192
+ if (ar[i].length > 0 && inArray(ar[i], v))
193
+ return true;
194
+
195
+ // Found value
196
+ if (ar[i] == v)
197
+ return true;
198
+ }
199
+
200
+ return false;
201
+ }
202
+
203
+ function select(dx, dy) {
204
+ var td;
205
+
206
+ grid = getTableGrid(tableElm);
207
+ dx = dx || 0;
208
+ dy = dy || 0;
209
+ dx = Math.max(cpos.cellindex + dx, 0);
210
+ dy = Math.max(cpos.rowindex + dy, 0);
211
+
212
+ // Recalculate grid and select
213
+ inst.execCommand('mceRepaint');
214
+ td = getCell(grid, dy, dx);
215
+
216
+ if (td) {
217
+ inst.selection.select(td.firstChild || td);
218
+ inst.selection.collapse(1);
219
+ }
220
+ };
221
+
222
+ function makeTD() {
223
+ var newTD = doc.createElement("td");
224
+
225
+ if (!tinymce.isIE)
226
+ newTD.innerHTML = '<br mce_bogus="1"/>';
227
+ }
228
+
229
+ function getColRowSpan(td) {
230
+ var colspan = inst.dom.getAttrib(td, "colspan");
231
+ var rowspan = inst.dom.getAttrib(td, "rowspan");
232
+
233
+ colspan = colspan == "" ? 1 : parseInt(colspan);
234
+ rowspan = rowspan == "" ? 1 : parseInt(rowspan);
235
+
236
+ return {colspan : colspan, rowspan : rowspan};
237
+ }
238
+
239
+ function getCellPos(grid, td) {
240
+ var x, y;
241
+
242
+ for (y=0; y<grid.length; y++) {
243
+ for (x=0; x<grid[y].length; x++) {
244
+ if (grid[y][x] == td)
245
+ return {cellindex : x, rowindex : y};
246
+ }
247
+ }
248
+
249
+ return null;
250
+ }
251
+
252
+ function getCell(grid, row, col) {
253
+ if (grid[row] && grid[row][col])
254
+ return grid[row][col];
255
+
256
+ return null;
257
+ }
258
+
259
+ function getNextCell(table, cell) {
260
+ var cells = [], x = 0, i, j, cell, nextCell;
261
+
262
+ for (i = 0; i < table.rows.length; i++)
263
+ for (j = 0; j < table.rows[i].cells.length; j++, x++)
264
+ cells[x] = table.rows[i].cells[j];
265
+
266
+ for (i = 0; i < cells.length; i++)
267
+ if (cells[i] == cell)
268
+ if (nextCell = cells[i+1])
269
+ return nextCell;
270
+ }
271
+
272
+ function getTableGrid(table) {
273
+ var grid = [], rows = table.rows, x, y, td, sd, xstart, x2, y2;
274
+
275
+ for (y=0; y<rows.length; y++) {
276
+ for (x=0; x<rows[y].cells.length; x++) {
277
+ td = rows[y].cells[x];
278
+ sd = getColRowSpan(td);
279
+
280
+ // All ready filled
281
+ for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
282
+
283
+ // Fill box
284
+ for (y2=y; y2<y+sd['rowspan']; y2++) {
285
+ if (!grid[y2])
286
+ grid[y2] = [];
287
+
288
+ for (x2=xstart; x2<xstart+sd['colspan']; x2++)
289
+ grid[y2][x2] = td;
290
+ }
291
+ }
292
+ }
293
+
294
+ return grid;
295
+ }
296
+
297
+ function trimRow(table, tr, td, new_tr) {
298
+ var grid = getTableGrid(table), cpos = getCellPos(grid, td);
299
+ var cells, lastElm;
300
+
301
+ // Time to crop away some
302
+ if (new_tr.cells.length != tr.childNodes.length) {
303
+ cells = tr.childNodes;
304
+ lastElm = null;
305
+
306
+ for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
307
+ var remove = true;
308
+ var sd = getColRowSpan(td);
309
+
310
+ // Remove due to rowspan
311
+ if (inArray(cells, td)) {
312
+ new_tr.childNodes[x]._delete = true;
313
+ } else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
314
+ for (var i=x; i<x+td.colSpan; i++)
315
+ new_tr.childNodes[i]._delete = true;
316
+ }
317
+
318
+ if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
319
+ td.rowSpan = sd.rowspan + 1;
320
+
321
+ lastElm = td;
322
+ }
323
+
324
+ deleteMarked(tableElm);
325
+ }
326
+ }
327
+
328
+ function prevElm(node, name) {
329
+ while ((node = node.previousSibling) != null) {
330
+ if (node.nodeName == name)
331
+ return node;
332
+ }
333
+
334
+ return null;
335
+ }
336
+
337
+ function nextElm(node, names) {
338
+ var namesAr = names.split(',');
339
+
340
+ while ((node = node.nextSibling) != null) {
341
+ for (var i=0; i<namesAr.length; i++) {
342
+ if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
343
+ return node;
344
+ }
345
+ }
346
+
347
+ return null;
348
+ }
349
+
350
+ function deleteMarked(tbl) {
351
+ if (tbl.rows == 0)
352
+ return;
353
+
354
+ var tr = tbl.rows[0];
355
+ do {
356
+ var next = nextElm(tr, "TR");
357
+
358
+ // Delete row
359
+ if (tr._delete) {
360
+ tr.parentNode.removeChild(tr);
361
+ continue;
362
+ }
363
+
364
+ // Delete cells
365
+ var td = tr.cells[0];
366
+ if (td.cells > 1) {
367
+ do {
368
+ var nexttd = nextElm(td, "TD,TH");
369
+
370
+ if (td._delete)
371
+ td.parentNode.removeChild(td);
372
+ } while ((td = nexttd) != null);
373
+ }
374
+ } while ((tr = next) != null);
375
+ }
376
+
377
+ function addRows(td_elm, tr_elm, rowspan) {
378
+ // Add rows
379
+ td_elm.rowSpan = 1;
380
+ var trNext = nextElm(tr_elm, "TR");
381
+ for (var i=1; i<rowspan && trNext; i++) {
382
+ var newTD = doc.createElement("td");
383
+
384
+ if (!tinymce.isIE)
385
+ newTD.innerHTML = '<br mce_bogus="1"/>';
386
+
387
+ if (tinymce.isIE)
388
+ trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
389
+ else
390
+ trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
391
+
392
+ trNext = nextElm(trNext, "TR");
393
+ }
394
+ }
395
+
396
+ function copyRow(doc, table, tr) {
397
+ var grid = getTableGrid(table);
398
+ var newTR = tr.cloneNode(false);
399
+ var cpos = getCellPos(grid, tr.cells[0]);
400
+ var lastCell = null;
401
+ var tableBorder = inst.dom.getAttrib(table, "border");
402
+ var tdElm = null;
403
+
404
+ for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
405
+ var newTD = null;
406
+
407
+ if (lastCell != tdElm) {
408
+ for (var i=0; i<tr.cells.length; i++) {
409
+ if (tdElm == tr.cells[i]) {
410
+ newTD = tdElm.cloneNode(true);
411
+ break;
412
+ }
413
+ }
414
+ }
415
+
416
+ if (newTD == null) {
417
+ newTD = doc.createElement("td");
418
+
419
+ if (!tinymce.isIE)
420
+ newTD.innerHTML = '<br mce_bogus="1"/>';
421
+ }
422
+
423
+ // Reset col/row span
424
+ newTD.colSpan = 1;
425
+ newTD.rowSpan = 1;
426
+
427
+ newTR.appendChild(newTD);
428
+
429
+ lastCell = tdElm;
430
+ }
431
+
432
+ return newTR;
433
+ }
434
+
435
+ // ---- Commands -----
436
+
437
+ // Handle commands
438
+ switch (command) {
439
+ case "mceTableMoveToNextRow":
440
+ var nextCell = getNextCell(tableElm, tdElm);
441
+
442
+ if (!nextCell) {
443
+ inst.execCommand("mceTableInsertRowAfter", tdElm);
444
+ nextCell = getNextCell(tableElm, tdElm);
445
+ }
446
+
447
+ inst.selection.select(nextCell);
448
+ inst.selection.collapse(true);
449
+
450
+ return true;
451
+
452
+ case "mceInsertTable":
453
+ // Create new table
454
+ var rows = 1, cols = 2;
455
+ var html = '<table id="__mce_tmp">';
456
+ for (var y=0; y<rows; y++) {
457
+ html += "<tr>";
458
+
459
+ for (var x=0; x<cols; x++) {
460
+ if (!tinymce.isIE)
461
+ html += '<td><br mce_bogus="1"/></td>';
462
+ else
463
+ html += '<td></td>';
464
+ }
465
+
466
+ html += "</tr>";
467
+ }
468
+
469
+ html += "</table>";
470
+
471
+ inst.execCommand('mceBeginUndoLevel');
472
+
473
+ // Move table
474
+ if (inst.settings.fix_table_elements) {
475
+ var bm = inst.selection.getBookmark(), patt = '';
476
+
477
+ inst.execCommand('mceInsertContent', false, '<br class="_mce_marker" />');
478
+
479
+ tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) {
480
+ if (patt)
481
+ patt += ',';
482
+
483
+ patt += n + ' ._mce_marker';
484
+ });
485
+
486
+ tinymce.each(inst.dom.select(patt), function(n) {
487
+ inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n);
488
+ });
489
+
490
+ inst.dom.setOuterHTML(inst.dom.select('._mce_marker')[0], html);
491
+
492
+ inst.selection.moveToBookmark(bm);
493
+ } else {
494
+ inst.execCommand('mceInsertContent', false, html);
495
+ }
496
+
497
+ inst.addVisual();
498
+ inst.execCommand('mceEndUndoLevel');
499
+
500
+ var el = ed.dom.get('__mce_tmp');
501
+ ed.dom.setAttrib(el, 'id', '');
502
+ inst.selection.select(inst.dom.select("td",el)[0]);
503
+ inst.selection.collapse(true);
504
+
505
+ return true;
506
+
507
+ case "mceTableDelete":
508
+ var table = inst.dom.getParent(inst.selection.getNode(), "table");
509
+ if (table) {
510
+ table.parentNode.removeChild(table);
511
+ inst.execCommand('mceRepaint');
512
+ }
513
+ return true;
514
+
515
+ case "mceTableSplitCells":
516
+ case "mceTableMergeCells":
517
+ case "mceTableInsertRowBefore":
518
+ case "mceTableInsertRowAfter":
519
+ case "mceTableDeleteRow":
520
+ case "mceTableInsertColBefore":
521
+ case "mceTableInsertColAfter":
522
+ case "mceTableDeleteCol":
523
+ case "mceTableCutRow":
524
+ case "mceTableCopyRow":
525
+ case "mceTablePasteRowBefore":
526
+ case "mceTablePasteRowAfter":
527
+ // No table just return (invalid command)
528
+ if (!tableElm)
529
+ return true;
530
+
531
+ // Table has a tbody use that reference
532
+ // Changed logic by ApTest 2005.07.12 (www.aptest.com)
533
+ // Now lookk at the focused element and take its parentNode. That will be a tbody or a table.
534
+ if (trElm && tableElm != trElm.parentNode)
535
+ tableElm = trElm.parentNode;
536
+
537
+ if (tableElm && trElm) {
538
+ switch (command) {
539
+ case "mceTableCutRow":
540
+ if (!trElm || !tdElm)
541
+ return true;
542
+
543
+ inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
544
+ inst.execCommand("mceTableDeleteRow");
545
+ break;
546
+
547
+ case "mceTableCopyRow":
548
+ if (!trElm || !tdElm)
549
+ return true;
550
+
551
+ inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
552
+ break;
553
+
554
+ case "mceTablePasteRowBefore":
555
+ if (!trElm || !tdElm)
556
+ return true;
557
+
558
+ var newTR = inst.tableRowClipboard.cloneNode(true);
559
+
560
+ var prevTR = prevElm(trElm, "TR");
561
+ if (prevTR != null)
562
+ trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
563
+
564
+ trElm.parentNode.insertBefore(newTR, trElm);
565
+ break;
566
+
567
+ case "mceTablePasteRowAfter":
568
+ if (!trElm || !tdElm)
569
+ return true;
570
+
571
+ var nextTR = nextElm(trElm, "TR");
572
+ var newTR = inst.tableRowClipboard.cloneNode(true);
573
+
574
+ trimRow(tableElm, trElm, tdElm, newTR);
575
+
576
+ if (nextTR == null)
577
+ trElm.parentNode.appendChild(newTR);
578
+ else
579
+ nextTR.parentNode.insertBefore(newTR, nextTR);
580
+
581
+ break;
582
+
583
+ case "mceTableInsertRowBefore":
584
+ if (!trElm || !tdElm)
585
+ return true;
586
+
587
+ var grid = getTableGrid(tableElm);
588
+ var cpos = getCellPos(grid, tdElm);
589
+ var newTR = doc.createElement("tr");
590
+ var lastTDElm = null;
591
+
592
+ cpos.rowindex--;
593
+ if (cpos.rowindex < 0)
594
+ cpos.rowindex = 0;
595
+
596
+ // Create cells
597
+ for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
598
+ if (tdElm != lastTDElm) {
599
+ var sd = getColRowSpan(tdElm);
600
+
601
+ if (sd['rowspan'] == 1) {
602
+ var newTD = doc.createElement("td");
603
+
604
+ if (!tinymce.isIE)
605
+ newTD.innerHTML = '<br mce_bogus="1"/>';
606
+
607
+ newTD.colSpan = tdElm.colSpan;
608
+
609
+ newTR.appendChild(newTD);
610
+ } else
611
+ tdElm.rowSpan = sd['rowspan'] + 1;
612
+
613
+ lastTDElm = tdElm;
614
+ }
615
+ }
616
+
617
+ trElm.parentNode.insertBefore(newTR, trElm);
618
+ select(0, 1);
619
+ break;
620
+
621
+ case "mceTableInsertRowAfter":
622
+ if (!trElm || !tdElm)
623
+ return true;
624
+
625
+ var grid = getTableGrid(tableElm);
626
+ var cpos = getCellPos(grid, tdElm);
627
+ var newTR = doc.createElement("tr");
628
+ var lastTDElm = null;
629
+
630
+ // Create cells
631
+ for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
632
+ if (tdElm != lastTDElm) {
633
+ var sd = getColRowSpan(tdElm);
634
+
635
+ if (sd['rowspan'] == 1) {
636
+ var newTD = doc.createElement("td");
637
+
638
+ if (!tinymce.isIE)
639
+ newTD.innerHTML = '<br mce_bogus="1"/>';
640
+
641
+ newTD.colSpan = tdElm.colSpan;
642
+
643
+ newTR.appendChild(newTD);
644
+ } else
645
+ tdElm.rowSpan = sd['rowspan'] + 1;
646
+
647
+ lastTDElm = tdElm;
648
+ }
649
+ }
650
+
651
+ if (newTR.hasChildNodes()) {
652
+ var nextTR = nextElm(trElm, "TR");
653
+ if (nextTR)
654
+ nextTR.parentNode.insertBefore(newTR, nextTR);
655
+ else
656
+ tableElm.appendChild(newTR);
657
+ }
658
+
659
+ select(0, 1);
660
+ break;
661
+
662
+ case "mceTableDeleteRow":
663
+ if (!trElm || !tdElm)
664
+ return true;
665
+
666
+ var grid = getTableGrid(tableElm);
667
+ var cpos = getCellPos(grid, tdElm);
668
+
669
+ // Only one row, remove whole table
670
+ if (grid.length == 1 && tableElm.nodeName == 'TBODY') {
671
+ inst.dom.remove(inst.dom.getParent(tableElm, "table"));
672
+ return true;
673
+ }
674
+
675
+ // Move down row spanned cells
676
+ var cells = trElm.cells;
677
+ var nextTR = nextElm(trElm, "TR");
678
+ for (var x=0; x<cells.length; x++) {
679
+ if (cells[x].rowSpan > 1) {
680
+ var newTD = cells[x].cloneNode(true);
681
+ var sd = getColRowSpan(cells[x]);
682
+
683
+ newTD.rowSpan = sd.rowspan - 1;
684
+
685
+ var nextTD = nextTR.cells[x];
686
+
687
+ if (nextTD == null)
688
+ nextTR.appendChild(newTD);
689
+ else
690
+ nextTR.insertBefore(newTD, nextTD);
691
+ }
692
+ }
693
+
694
+ // Delete cells
695
+ var lastTDElm = null;
696
+ for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
697
+ if (tdElm != lastTDElm) {
698
+ var sd = getColRowSpan(tdElm);
699
+
700
+ if (sd.rowspan > 1) {
701
+ tdElm.rowSpan = sd.rowspan - 1;
702
+ } else {
703
+ trElm = tdElm.parentNode;
704
+
705
+ if (trElm.parentNode)
706
+ trElm._delete = true;
707
+ }
708
+
709
+ lastTDElm = tdElm;
710
+ }
711
+ }
712
+
713
+ deleteMarked(tableElm);
714
+
715
+ select(0, -1);
716
+ break;
717
+
718
+ case "mceTableInsertColBefore":
719
+ if (!trElm || !tdElm)
720
+ return true;
721
+
722
+ var grid = getTableGrid(inst.dom.getParent(tableElm, "table"));
723
+ var cpos = getCellPos(grid, tdElm);
724
+ var lastTDElm = null;
725
+
726
+ for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
727
+ if (tdElm != lastTDElm) {
728
+ var sd = getColRowSpan(tdElm);
729
+
730
+ if (sd['colspan'] == 1) {
731
+ var newTD = doc.createElement(tdElm.nodeName);
732
+
733
+ if (!tinymce.isIE)
734
+ newTD.innerHTML = '<br mce_bogus="1"/>';
735
+
736
+ newTD.rowSpan = tdElm.rowSpan;
737
+
738
+ tdElm.parentNode.insertBefore(newTD, tdElm);
739
+ } else
740
+ tdElm.colSpan++;
741
+
742
+ lastTDElm = tdElm;
743
+ }
744
+ }
745
+
746
+ select();
747
+ break;
748
+
749
+ case "mceTableInsertColAfter":
750
+ if (!trElm || !tdElm)
751
+ return true;
752
+
753
+ var grid = getTableGrid(inst.dom.getParent(tableElm, "table"));
754
+ var cpos = getCellPos(grid, tdElm);
755
+ var lastTDElm = null;
756
+
757
+ for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
758
+ if (tdElm != lastTDElm) {
759
+ var sd = getColRowSpan(tdElm);
760
+
761
+ if (sd['colspan'] == 1) {
762
+ var newTD = doc.createElement(tdElm.nodeName);
763
+
764
+ if (!tinymce.isIE)
765
+ newTD.innerHTML = '<br mce_bogus="1"/>';
766
+
767
+ newTD.rowSpan = tdElm.rowSpan;
768
+
769
+ var nextTD = nextElm(tdElm, "TD,TH");
770
+ if (nextTD == null)
771
+ tdElm.parentNode.appendChild(newTD);
772
+ else
773
+ nextTD.parentNode.insertBefore(newTD, nextTD);
774
+ } else
775
+ tdElm.colSpan++;
776
+
777
+ lastTDElm = tdElm;
778
+ }
779
+ }
780
+
781
+ select(1);
782
+ break;
783
+
784
+ case "mceTableDeleteCol":
785
+ if (!trElm || !tdElm)
786
+ return true;
787
+
788
+ var grid = getTableGrid(tableElm);
789
+ var cpos = getCellPos(grid, tdElm);
790
+ var lastTDElm = null;
791
+
792
+ // Only one col, remove whole table
793
+ if ((grid.length > 1 && grid[0].length <= 1) && tableElm.nodeName == 'TBODY') {
794
+ inst.dom.remove(inst.dom.getParent(tableElm, "table"));
795
+ return true;
796
+ }
797
+
798
+ // Delete cells
799
+ for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
800
+ if (tdElm != lastTDElm) {
801
+ var sd = getColRowSpan(tdElm);
802
+
803
+ if (sd['colspan'] > 1)
804
+ tdElm.colSpan = sd['colspan'] - 1;
805
+ else {
806
+ if (tdElm.parentNode)
807
+ tdElm.parentNode.removeChild(tdElm);
808
+ }
809
+
810
+ lastTDElm = tdElm;
811
+ }
812
+ }
813
+
814
+ select(-1);
815
+ break;
816
+
817
+ case "mceTableSplitCells":
818
+ if (!trElm || !tdElm)
819
+ return true;
820
+
821
+ var spandata = getColRowSpan(tdElm);
822
+
823
+ var colspan = spandata["colspan"];
824
+ var rowspan = spandata["rowspan"];
825
+
826
+ // Needs splitting
827
+ if (colspan > 1 || rowspan > 1) {
828
+ // Generate cols
829
+ tdElm.colSpan = 1;
830
+ for (var i=1; i<colspan; i++) {
831
+ var newTD = doc.createElement("td");
832
+
833
+ if (!tinymce.isIE)
834
+ newTD.innerHTML = '<br mce_bogus="1"/>';
835
+
836
+ trElm.insertBefore(newTD, nextElm(tdElm, "TD,TH"));
837
+
838
+ if (rowspan > 1)
839
+ addRows(newTD, trElm, rowspan);
840
+ }
841
+
842
+ addRows(tdElm, trElm, rowspan);
843
+ }
844
+
845
+ // Apply visual aids
846
+ tableElm = inst.dom.getParent(inst.selection.getNode(), "table");
847
+ break;
848
+
849
+ case "mceTableMergeCells":
850
+ var rows = [];
851
+ var sel = inst.selection.getSel();
852
+ var grid = getTableGrid(tableElm);
853
+
854
+ if (tinymce.isIE || sel.rangeCount == 1) {
855
+ var numRows = parseInt(value['numrows']);
856
+ var numCols = parseInt(value['numcols']);
857
+ var cpos = getCellPos(grid, tdElm);
858
+
859
+ if (("" + numRows) == "NaN")
860
+ numRows = 1;
861
+
862
+ if (("" + numCols) == "NaN")
863
+ numCols = 1;
864
+
865
+ // Get rows and cells
866
+ var tRows = tableElm.rows;
867
+ for (var y=cpos.rowindex; y<grid.length; y++) {
868
+ var rowCells = [];
869
+
870
+ for (var x=cpos.cellindex; x<grid[y].length; x++) {
871
+ var td = getCell(grid, y, x);
872
+
873
+ if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
874
+ var cp = getCellPos(grid, td);
875
+
876
+ // Within range
877
+ if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
878
+ rowCells[rowCells.length] = td;
879
+ }
880
+ }
881
+
882
+ if (rowCells.length > 0)
883
+ rows[rows.length] = rowCells;
884
+
885
+ var td = getCell(grid, cpos.rowindex, cpos.cellindex);
886
+ each(ed.dom.select('br', td), function(e, i) {
887
+ if (i > 0 && ed.dom.getAttrib('mce_bogus'))
888
+ ed.dom.remove(e);
889
+ });
890
+ }
891
+
892
+ //return true;
893
+ } else {
894
+ var cells = [];
895
+ var sel = inst.selection.getSel();
896
+ var lastTR = null;
897
+ var curRow = null;
898
+ var x1 = -1, y1 = -1, x2, y2;
899
+
900
+ // Only one cell selected, whats the point?
901
+ if (sel.rangeCount < 2)
902
+ return true;
903
+
904
+ // Get all selected cells
905
+ for (var i=0; i<sel.rangeCount; i++) {
906
+ var rng = sel.getRangeAt(i);
907
+ var tdElm = rng.startContainer.childNodes[rng.startOffset];
908
+
909
+ if (!tdElm)
910
+ break;
911
+
912
+ if (tdElm.nodeName == "TD" || tdElm.nodeName == "TH")
913
+ cells[cells.length] = tdElm;
914
+ }
915
+
916
+ // Get rows and cells
917
+ var tRows = tableElm.rows;
918
+ for (var y=0; y<tRows.length; y++) {
919
+ var rowCells = [];
920
+
921
+ for (var x=0; x<tRows[y].cells.length; x++) {
922
+ var td = tRows[y].cells[x];
923
+
924
+ for (var i=0; i<cells.length; i++) {
925
+ if (td == cells[i]) {
926
+ rowCells[rowCells.length] = td;
927
+ }
928
+ }
929
+ }
930
+
931
+ if (rowCells.length > 0)
932
+ rows[rows.length] = rowCells;
933
+ }
934
+
935
+ // Find selected cells in grid and box
936
+ var curRow = [];
937
+ var lastTR = null;
938
+ for (var y=0; y<grid.length; y++) {
939
+ for (var x=0; x<grid[y].length; x++) {
940
+ grid[y][x]._selected = false;
941
+
942
+ for (var i=0; i<cells.length; i++) {
943
+ if (grid[y][x] == cells[i]) {
944
+ // Get start pos
945
+ if (x1 == -1) {
946
+ x1 = x;
947
+ y1 = y;
948
+ }
949
+
950
+ // Get end pos
951
+ x2 = x;
952
+ y2 = y;
953
+
954
+ grid[y][x]._selected = true;
955
+ }
956
+ }
957
+ }
958
+ }
959
+
960
+ // Is there gaps, if so deny
961
+ for (var y=y1; y<=y2; y++) {
962
+ for (var x=x1; x<=x2; x++) {
963
+ if (!grid[y][x]._selected) {
964
+ alert("Invalid selection for merge.");
965
+ return true;
966
+ }
967
+ }
968
+ }
969
+ }
970
+
971
+ // Validate selection and get total rowspan and colspan
972
+ var rowSpan = 1, colSpan = 1;
973
+
974
+ // Validate horizontal and get total colspan
975
+ var lastRowSpan = -1;
976
+ for (var y=0; y<rows.length; y++) {
977
+ var rowColSpan = 0;
978
+
979
+ for (var x=0; x<rows[y].length; x++) {
980
+ var sd = getColRowSpan(rows[y][x]);
981
+
982
+ rowColSpan += sd['colspan'];
983
+
984
+ if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
985
+ alert("Invalid selection for merge.");
986
+ return true;
987
+ }
988
+
989
+ lastRowSpan = sd['rowspan'];
990
+ }
991
+
992
+ if (rowColSpan > colSpan)
993
+ colSpan = rowColSpan;
994
+
995
+ lastRowSpan = -1;
996
+ }
997
+
998
+ // Validate vertical and get total rowspan
999
+ var lastColSpan = -1;
1000
+ for (var x=0; x<rows[0].length; x++) {
1001
+ var colRowSpan = 0;
1002
+
1003
+ for (var y=0; y<rows.length; y++) {
1004
+ var sd = getColRowSpan(rows[y][x]);
1005
+
1006
+ colRowSpan += sd['rowspan'];
1007
+
1008
+ if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
1009
+ alert("Invalid selection for merge.");
1010
+ return true;
1011
+ }
1012
+
1013
+ lastColSpan = sd['colspan'];
1014
+ }
1015
+
1016
+ if (colRowSpan > rowSpan)
1017
+ rowSpan = colRowSpan;
1018
+
1019
+ lastColSpan = -1;
1020
+ }
1021
+
1022
+ // Setup td
1023
+ tdElm = rows[0][0];
1024
+ tdElm.rowSpan = rowSpan;
1025
+ tdElm.colSpan = colSpan;
1026
+
1027
+ // Merge cells
1028
+ for (var y=0; y<rows.length; y++) {
1029
+ for (var x=0; x<rows[y].length; x++) {
1030
+ var html = rows[y][x].innerHTML;
1031
+ var chk = html.replace(/[ \t\r\n]/g, "");
1032
+
1033
+ if (chk != "<br/>" && chk != "<br>" && chk != '<br mce_bogus="1"/>' && (x+y > 0))
1034
+ tdElm.innerHTML += html;
1035
+
1036
+ // Not current cell
1037
+ if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
1038
+ var cpos = getCellPos(grid, rows[y][x]);
1039
+ var tr = rows[y][x].parentNode;
1040
+
1041
+ tr.removeChild(rows[y][x]);
1042
+ rows[y][x]._deleted = true;
1043
+
1044
+ // Empty TR, remove it
1045
+ if (!tr.hasChildNodes()) {
1046
+ tr.parentNode.removeChild(tr);
1047
+
1048
+ var lastCell = null;
1049
+ for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
1050
+ if (cellElm != lastCell && cellElm.rowSpan > 1)
1051
+ cellElm.rowSpan--;
1052
+
1053
+ lastCell = cellElm;
1054
+ }
1055
+
1056
+ if (tdElm.rowSpan > 1)
1057
+ tdElm.rowSpan--;
1058
+ }
1059
+ }
1060
+ }
1061
+ }
1062
+
1063
+ // Remove all but one bogus br
1064
+ each(ed.dom.select('br', tdElm), function(e, i) {
1065
+ if (i > 0 && ed.dom.getAttrib(e, 'mce_bogus'))
1066
+ ed.dom.remove(e);
1067
+ });
1068
+
1069
+ break;
1070
+ }
1071
+
1072
+ tableElm = inst.dom.getParent(inst.selection.getNode(), "table");
1073
+ inst.addVisual(tableElm);
1074
+ inst.nodeChanged();
1075
+ }
1076
+
1077
+ return true;
1078
+ }
1079
+
1080
+ // Pass to next handler in chain
1081
+ return false;
1082
+ }
1083
+ });
1084
+
1085
+ // Register plugin
1086
+ tinymce.PluginManager.add('skylinetable', Skyline.Editor.plugins.SkylineTable);
1087
+ })();