skylinecms 3.0.8 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. data/CHANGELOG +131 -10
  2. data/README.md +1 -2
  3. data/Rakefile +3 -3
  4. data/app/controllers/skyline/application_controller.rb +40 -4
  5. data/app/controllers/skyline/articles_controller.rb +4 -4
  6. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +1 -1
  7. data/app/controllers/skyline/content_controller.rb +4 -3
  8. data/app/controllers/skyline/{media_files_data_controller.rb → media/data_controller.rb} +61 -59
  9. data/app/controllers/skyline/media/dirs_controller.rb +83 -0
  10. data/app/controllers/skyline/media/files_controller.rb +80 -0
  11. data/app/controllers/skyline/sections_controller.rb +10 -3
  12. data/app/controllers/skyline/settings_controller.rb +4 -2
  13. data/app/controllers/skyline/user_preferences_controller.rb +18 -0
  14. data/app/controllers/skyline/users_controller.rb +1 -1
  15. data/app/controllers/skyline/variant_current_editor_controller.rb +2 -0
  16. data/app/helpers/skyline/application_helper.rb +39 -35
  17. data/app/helpers/skyline/dialog_helper.rb +11 -10
  18. data/app/helpers/skyline/editors/boolean.rb +2 -2
  19. data/app/helpers/skyline/editors/page_browser.rb +2 -0
  20. data/app/helpers/skyline/editors/wysiwyg.rb +1 -1
  21. data/app/helpers/skyline/js_layout_helper.rb +19 -0
  22. data/app/helpers/skyline/media/dirs_helper.rb +2 -0
  23. data/app/helpers/skyline/media/files_helper.rb +6 -0
  24. data/app/helpers/skyline/media_files_helper.rb +2 -2
  25. data/app/helpers/skyline/menu_helper.rb +33 -0
  26. data/app/helpers/skyline/message_generator.rb +5 -1
  27. data/app/helpers/skyline/notification_generator.rb +6 -0
  28. data/app/helpers/skyline/plugin_helper.rb +21 -0
  29. data/app/helpers/skyline/presenters/presenter.rb +4 -13
  30. data/app/helpers/skyline/presenters/table.rb +0 -27
  31. data/app/helpers/skyline/ref_object_helper.rb +2 -2
  32. data/app/helpers/skyline/tree_helper.rb +74 -5
  33. data/app/models/skyline/article.rb +18 -6
  34. data/app/models/skyline/article_version.rb +1 -1
  35. data/app/models/skyline/image_ref.rb +9 -5
  36. data/app/models/skyline/inline_ref.rb +3 -2
  37. data/app/models/skyline/link_section_link.rb +2 -2
  38. data/app/models/skyline/media_file.rb +33 -10
  39. data/app/models/skyline/page.rb +10 -9
  40. data/app/models/skyline/section.rb +1 -1
  41. data/app/models/skyline/sections/content_collection_section.rb +1 -1
  42. data/app/models/skyline/sections/content_item_section.rb +1 -1
  43. data/app/models/skyline/sections/heading_section.rb +1 -1
  44. data/app/models/skyline/sections/iframe_section.rb +2 -2
  45. data/app/models/skyline/sections/link_section.rb +1 -1
  46. data/app/models/skyline/sections/media_section.rb +32 -5
  47. data/app/models/skyline/sections/page_fragment_section.rb +1 -1
  48. data/app/models/skyline/sections/raw_section.rb +1 -1
  49. data/app/models/skyline/sections/redirect_section.rb +4 -4
  50. data/app/models/skyline/sections/rss_section.rb +7 -2
  51. data/app/models/skyline/sections/splitter_section.rb +1 -1
  52. data/app/models/skyline/sections/wysiwyg_section.rb +3 -3
  53. data/app/models/skyline/site.rb +1 -1
  54. data/app/models/skyline/user.rb +1 -1
  55. data/app/models/skyline/user_preference.rb +69 -0
  56. data/app/models/skyline/variant.rb +1 -1
  57. data/app/templates/skyline/sections/content_item_section/default/index.html.erb +1 -1
  58. data/app/templates/skyline/sections/media_section/default/index.html.erb +9 -9
  59. data/app/views/skyline/articles/_list.html.erb +34 -0
  60. data/app/views/skyline/articles/edit.html.erb +13 -6
  61. data/app/views/skyline/articles/index.html.erb +12 -43
  62. data/app/views/skyline/articles/page/_index.html.erb +13 -11
  63. data/app/views/skyline/authentications/new.html.erb +2 -2
  64. data/app/views/skyline/browser/links/_index.html.erb +4 -2
  65. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +12 -13
  66. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +122 -51
  67. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +7 -7
  68. data/app/views/skyline/content/list.rhtml +1 -3
  69. data/app/views/skyline/content/presenters/_table.html.erb +45 -0
  70. data/app/views/skyline/layouts/content.html.erb +1 -1
  71. data/app/views/skyline/layouts/media.html.erb +2 -1
  72. data/app/views/skyline/layouts/pages.html.erb +10 -0
  73. data/app/views/skyline/link_section_links/_form.html.erb +0 -1
  74. data/app/views/skyline/locales/show.js.erb +2 -2
  75. data/app/views/skyline/media/dirs/_edit.html.erb +42 -0
  76. data/app/views/skyline/media/dirs/_index.html.erb +14 -0
  77. data/app/views/skyline/media/dirs/_show.html.erb +34 -0
  78. data/app/views/skyline/media/dirs/index.html.erb +36 -0
  79. data/app/views/skyline/media/files/_edit.html.erb +101 -0
  80. data/app/views/skyline/media/files/_index.html.erb +68 -0
  81. data/app/views/skyline/media/files/_new.html.erb +45 -0
  82. data/app/views/skyline/publications/_index.html.erb +2 -2
  83. data/app/views/skyline/sections/_media_section.html.erb +12 -2
  84. data/app/views/skyline/sections/_wysiwyg_section.html.erb +2 -3
  85. data/app/views/skyline/settings/index.html +14 -0
  86. data/app/views/skyline/shared/_head.html.erb +2 -0
  87. data/app/views/skyline/shared/_header_area.html.erb +7 -5
  88. data/app/views/skyline/users/index.html.erb +31 -16
  89. data/config/initializers/dependencies.rb +6 -1
  90. data/config/initializers/observers.rb +1 -2
  91. data/config/initializers/rails_defaults.rb +1 -1
  92. data/config/locales/en-US.yml +110 -68
  93. data/config/locales/nl-NL.yml +117 -77
  94. data/config/routes.rb +36 -32
  95. data/db/fixtures/roles_and_rights.rb +65 -40
  96. data/db/migrate/20090302102548_add_media_nodes.rb +2 -2
  97. data/db/migrate/20090309133933_add_description_to_media_nodes.rb +2 -2
  98. data/db/migrate/20090309134731_add_tags.rb +2 -2
  99. data/db/migrate/20090309135746_create_media_files_tags.rb +2 -2
  100. data/db/migrate/20090319091342_create_media_caches.rb +2 -2
  101. data/db/migrate/20090327083240_create_users.rb +2 -2
  102. data/db/migrate/20090327084656_create_roles.rb +2 -2
  103. data/db/migrate/20090327084719_create_rights.rb +2 -2
  104. data/db/migrate/20090327084739_create_grants.rb +2 -2
  105. data/db/migrate/20090327090918_create_rights_roles.rb +2 -2
  106. data/db/migrate/20090408115155_create_ref_objects.rb +2 -2
  107. data/db/migrate/20090504140044_create_test_sections.rb +2 -2
  108. data/db/migrate/20090506083107_add_refering_column_name_to_ref_objects.rb +2 -2
  109. data/db/migrate/20090706124019_add_skyline_media_node_title.rb +1 -1
  110. data/db/migrate/20090904121447_create_skyline_referable_uris.rb +6 -6
  111. data/db/migrate/20091221145204_add_skyline_media_section_link.rb +11 -0
  112. data/db/migrate/20100109145958_add_associated_tags_index.rb +9 -0
  113. data/db/migrate/20100115111440_create_skyline_user_preferences.rb +14 -0
  114. data/db/migrate/20100120113953_remove_unused_articles_index.rb +9 -0
  115. data/db/migrate/20100409073447_change_referable_uri_to_text.rb +9 -0
  116. data/doc/Bundler.md +33 -28
  117. data/doc/MIGRATION.md +48 -0
  118. data/lib/skyline/{content_item.rb → belongs_to_referable.rb} +57 -88
  119. data/lib/skyline/configuration.rb +14 -15
  120. data/lib/skyline/content/content.rb +14 -2
  121. data/lib/skyline/deprecated/version3_0_8.rb +106 -0
  122. data/lib/skyline/{form_builder_with_errors.rb → form_builder.rb} +5 -5
  123. data/lib/skyline/{referable.rb → has_many_referables_in.rb} +22 -12
  124. data/lib/skyline/javascript_generator_methods.rb +1 -1
  125. data/lib/skyline/plugins_manager.rb +135 -14
  126. data/lib/skyline/rendering/helpers/renderer_helper.rb +14 -9
  127. data/lib/skyline/{renderer.rb → rendering/renderer.rb} +3 -4
  128. data/lib/skyline/{renderable_scope_interface.rb → rendering/scopes/interface.rb} +1 -1
  129. data/lib/skyline/{wildcard_renderable_scope.rb → rendering/scopes/wildcard.rb} +3 -3
  130. data/lib/skyline/{section_item.rb → sections/interface.rb} +17 -10
  131. data/lib/skyline/settings.rb +29 -19
  132. data/lib/skyline/taggable.rb +3 -3
  133. data/lib/skyline/version.rb +2 -2
  134. data/{tasks → lib/tasks}/database.rake +14 -2
  135. data/{tasks → lib/tasks}/implementation.rake +0 -0
  136. data/lib/tasks/testing.rake +41 -0
  137. data/public/skyline/images/backgrounds/panel-dt.gif +0 -0
  138. data/public/skyline/javascripts/src/application.js +114 -120
  139. data/public/skyline/javascripts/src/browser.js +22 -4
  140. data/public/skyline/javascripts/src/library_uploader.js +13 -3
  141. data/public/skyline/javascripts/src/sections.js +57 -6
  142. data/public/skyline/javascripts/src/skyline/src/dialog.js +6 -0
  143. data/public/skyline/javascripts/src/skyline/src/drag.js +6 -0
  144. data/public/skyline/javascripts/src/skyline/src/events.js +50 -0
  145. data/public/skyline/javascripts/src/skyline/src/field_replicator.js +12 -11
  146. data/public/skyline/javascripts/src/skyline/src/layout.js +172 -30
  147. data/public/skyline/javascripts/src/skyline/src/menu.js +3 -0
  148. data/public/skyline/javascripts/src/skyline/src/menubutton.js +3 -0
  149. data/public/skyline/javascripts/src/skyline/src/skyline.js +3 -0
  150. data/public/skyline/javascripts/src/skyline/src/table.js +398 -0
  151. data/public/skyline/javascripts/src/skyline/src/tabs.js +2 -2
  152. data/public/skyline/javascripts/src/skyline/src/tag_selector.js +34 -26
  153. data/public/skyline/javascripts/src/skyline/src/tree.js +3 -0
  154. data/public/skyline/javascripts/src/skyline/src/uploader.js +2 -2
  155. data/public/skyline/javascripts/src/skyline/src/utils.js +3 -0
  156. data/public/skyline/javascripts/src/skyline/test/_dynamic_right.html +24 -0
  157. data/public/skyline/javascripts/src/skyline/test/_right_content.html +1 -0
  158. data/public/skyline/javascripts/src/skyline/test/basic_layout.html +190 -0
  159. data/public/skyline/javascripts/src/skyline/test/dialog.html +101 -0
  160. data/public/skyline/javascripts/src/skyline/test/draggablefiles.html +196 -0
  161. data/public/skyline/javascripts/src/skyline/test/dynamic_layout.html +89 -0
  162. data/public/skyline/javascripts/src/skyline/test/field_replicator.html +60 -0
  163. data/public/skyline/javascripts/src/skyline/test/last-closed.gif +0 -0
  164. data/public/skyline/javascripts/src/skyline/test/last-open.gif +0 -0
  165. data/public/skyline/javascripts/src/skyline/test/menubutton.html +81 -0
  166. data/public/skyline/javascripts/src/skyline/test/middle.gif +0 -0
  167. data/public/skyline/javascripts/src/skyline/test/sortable.html +121 -0
  168. data/public/skyline/javascripts/src/skyline/test/table.html +521 -0
  169. data/public/skyline/javascripts/src/skyline/test/tagselector.html +72 -0
  170. data/public/skyline/javascripts/src/skyline/test/toggle.html +95 -0
  171. data/public/skyline/javascripts/src/skyline/test/tree.html +310 -0
  172. data/public/skyline/javascripts/src/skyline/test/tree.png +0 -0
  173. data/public/skyline/javascripts/src/skyline/test/undohtml.css +27 -0
  174. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.js +2 -2
  175. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +1 -354
  176. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +64 -52
  177. data/public/skyline/javascripts/src/skyline.editor/assets/content.css +1 -1
  178. data/public/skyline/javascripts/src/skyline.editor/src/script_loader.js +156 -75
  179. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +14 -4
  180. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +8 -0
  181. data/public/skyline/javascripts/src/skyline.editor/test/dialog.html +28 -0
  182. data/public/skyline/javascripts/src/skyline.editor/test/lorem.html +7 -0
  183. data/public/skyline/javascripts/src/skyline.editor/test/multiple_editors.html +87 -0
  184. data/public/skyline/javascripts/src/skyline.editor/test/undohtml.css +27 -0
  185. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +205 -0
  186. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/content.css +54 -0
  187. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/custom_formats.html +111 -0
  188. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +19 -3
  189. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +1 -0
  190. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/simple.html +6 -2
  191. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +14 -10
  192. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +7 -3
  193. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +8 -4
  194. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +18 -2
  195. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +6 -3
  196. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +2 -7
  197. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +6 -3
  198. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +2 -7
  199. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +1 -1
  200. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +6 -3
  201. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +1 -1
  202. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +2 -7
  203. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  204. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
  205. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -1
  206. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +52 -44
  207. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -1
  208. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +388 -17
  209. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
  210. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +6 -3
  211. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -1
  212. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +58 -6
  213. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +6 -3
  214. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -1
  215. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +8 -5
  216. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm +2 -7
  217. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js +6 -3
  218. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -1
  219. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +10 -3
  220. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +2 -7
  221. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +18 -8
  222. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -1
  223. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +12 -6
  224. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -1
  225. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +6 -3
  226. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +6 -3
  227. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +6 -3
  228. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +6 -3
  229. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  230. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  231. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -1
  232. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +18 -9
  233. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +2 -7
  234. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -1
  235. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +7 -4
  236. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +6 -3
  237. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +6 -3
  238. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -1
  239. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +564 -124
  240. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +2 -8
  241. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +2 -8
  242. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +6 -3
  243. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +6 -3
  244. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +6 -3
  245. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -1
  246. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +7 -4
  247. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +4 -0
  248. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +4 -9
  249. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -1
  250. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +106 -27
  251. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +6 -3
  252. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +4 -11
  253. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -1
  254. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +7 -4
  255. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +2 -7
  256. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -1
  257. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +921 -918
  258. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +41 -24
  259. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js +18 -20
  260. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +48 -23
  261. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +24 -15
  262. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +3 -8
  263. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +2 -7
  264. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +2 -7
  265. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +1 -1
  266. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js +10 -7
  267. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/template.htm +2 -9
  268. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -1
  269. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +26 -16
  270. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
  271. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
  272. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +3 -10
  273. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +3 -10
  274. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +2 -7
  275. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +3 -10
  276. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +3 -11
  277. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -1
  278. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +11 -15
  279. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +3 -11
  280. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +8 -5
  281. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +7 -4
  282. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +7 -4
  283. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +7 -4
  284. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +7 -4
  285. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +8 -8
  286. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +7 -4
  287. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +1 -3
  288. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +2 -7
  289. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +0 -1
  290. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +2 -4
  291. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -1
  292. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +252 -188
  293. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +2 -7
  294. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  295. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +7 -7
  296. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +10 -0
  297. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +2 -2
  298. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +4 -4
  299. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +2 -7
  300. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +7 -3
  301. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +4 -3
  302. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +5 -6
  303. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +7 -3
  304. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +3 -2
  305. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +4 -4
  306. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +2 -8
  307. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +5 -5
  308. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -1
  309. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +1 -1
  310. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +5492 -4341
  311. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +5 -4
  312. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +6 -5
  313. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +5 -4
  314. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +5 -4
  315. data/public/skyline/javascripts/src/skyline.js +3 -1
  316. data/public/skyline/javascripts/src/user_preferences.js +49 -0
  317. data/public/skyline/stylesheets/general.css +149 -47
  318. data/rails/init.rb +3 -3
  319. data/test/factories.rb +28 -0
  320. data/test/integration/media_browser_super_access_test.rb +52 -0
  321. data/test/integration/media_browser_user_access_test.rb +50 -0
  322. data/test/integration/user_preferences_test.rb +73 -0
  323. data/test/mocks/test_content_object.rb +32 -0
  324. data/test/mocks/test_section.rb +22 -0
  325. data/test/test_helper.rb +60 -0
  326. data/test/unit/inline_ref_test.rb +195 -0
  327. data/test/unit/locales_test.rb +82 -0
  328. data/test/unit/page_test.rb +204 -0
  329. data/test/unit/test_content_object_test.rb +69 -0
  330. data/test/unit/test_section_test.rb +247 -0
  331. data/test/unit/user_preference_test.rb +123 -0
  332. data/test/unit/user_test.rb +74 -0
  333. data/test/user_access_helper.rb +36 -0
  334. data/vendor/digitpaint/personify/test/fixtures/multiple_tags.txt +8 -0
  335. data/vendor/digitpaint/personify/test/parse_runner.rb +25 -0
  336. data/vendor/digitpaint/personify/test/parser_test.rb +109 -0
  337. data/vendor/digitpaint/personify/test/test_helper.rb +16 -0
  338. data/vendor/digitpaint/personify/vendor/treetop/.gitignore +5 -0
  339. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +13 -4
  340. data/vendor/mootools-on-rails/test/mootools_helper_test.rb +138 -0
  341. data/vendor/mootools-on-rails/test/test_helper.rb +5 -0
  342. data/vendor/weppos/url_validation.rb +76 -0
  343. metadata +384 -189
  344. data/app/controllers/skyline/media_dirs_controller.rb +0 -56
  345. data/app/controllers/skyline/media_files_controller.rb +0 -87
  346. data/app/helpers/skyline/presenters/article_list.rb +0 -139
  347. data/app/observers/skyline/media_file_observer.rb +0 -32
  348. data/app/views/skyline/media_dirs/_edit.html.erb +0 -25
  349. data/app/views/skyline/media_dirs/_index.html.erb +0 -14
  350. data/app/views/skyline/media_dirs/index.html.erb +0 -42
  351. data/app/views/skyline/media_files/_edit.html.erb +0 -75
  352. data/app/views/skyline/media_files/_header.html.erb +0 -3
  353. data/app/views/skyline/media_files/_index.html.erb +0 -51
  354. data/app/views/skyline/media_files/_new.html.erb +0 -50
  355. data/db/migrate/20090603104115_prefix_tables_for_skyline.rb +0 -30
  356. data/lib/skyline/indexer.rb +0 -36
  357. data/lib/skyline/renderable_scope.rb +0 -27
  358. data/lib/skyline/rendering/helpers/settings_helper.rb +0 -26
  359. data/lib/skyline/searchable_item.rb +0 -132
  360. data/lib/skyline/url_validation.rb +0 -66
  361. data/public/skyline/images/backgrounds/splitter.gif +0 -0
  362. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.bat +0 -2
  363. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.xml +0 -364
  364. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full_jquery.html +0 -94
  365. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/AddOnManager.js +0 -95
  366. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/CommandManager.js +0 -54
  367. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ControlManager.js +0 -489
  368. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Developer.js +0 -91
  369. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Editor.js +0 -2295
  370. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorCommands.js +0 -934
  371. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorManager.js +0 -453
  372. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ForceBlocks.js +0 -644
  373. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Popup.js +0 -412
  374. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/UndoManager.js +0 -183
  375. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/WindowManager.js +0 -169
  376. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/adapter.js +0 -240
  377. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js +0 -179
  378. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/prototype/adapter.js +0 -38
  379. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/BlockQuote.js +0 -135
  380. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/CutCopyPaste.js +0 -24
  381. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/InsertHorizontalRule.js +0 -15
  382. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/RemoveFormat.js +0 -173
  383. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/UndoRedo.js +0 -38
  384. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/DOMUtils.js +0 -1823
  385. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Element.js +0 -199
  386. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/EventUtils.js +0 -349
  387. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Range.js +0 -721
  388. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/ScriptLoader.js +0 -351
  389. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Selection.js +0 -747
  390. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Serializer.js +0 -979
  391. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Sizzle.js +0 -975
  392. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/StringWriter.js +0 -200
  393. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/TridentSelection.js +0 -273
  394. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/XMLWriter.js +0 -155
  395. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/firebug/firebug-lite.js +0 -2518
  396. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/tinymce.js +0 -549
  397. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Button.js +0 -68
  398. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ColorSplitButton.js +0 -212
  399. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Container.js +0 -56
  400. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Control.js +0 -182
  401. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/DropMenu.js +0 -397
  402. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ListBox.js +0 -320
  403. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Menu.js +0 -175
  404. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuButton.js +0 -128
  405. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuItem.js +0 -69
  406. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/NativeListBox.js +0 -198
  407. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Separator.js +0 -34
  408. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/SplitButton.js +0 -99
  409. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Toolbar.js +0 -86
  410. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Cookie.js +0 -126
  411. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Dispatcher.js +0 -101
  412. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSON.js +0 -81
  413. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONP.js +0 -25
  414. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONRequest.js +0 -87
  415. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/URI.js +0 -289
  416. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/XHR.js +0 -80
  417. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/xml/Parser.js +0 -126
  418. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/jquery.tinymce.js +0 -1
  419. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +0 -1
  420. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +0 -616
  421. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm +0 -1
  422. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +0 -1
  423. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js +0 -438
  424. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_dev.js +0 -128
  425. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery.js +0 -1
  426. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery_src.js +0 -12198
  427. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype.js +0 -1
  428. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype_src.js +0 -13057
  429. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api.html +0 -18
  430. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_jquery.html +0 -18
  431. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_prototype.html +0 -19
  432. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/basic.html +0 -548
  433. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/crossdomain.html +0 -87
  434. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/css/unit.css +0 -120
  435. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/index.html +0 -10
  436. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/jquery_plugin.html +0 -112
  437. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/api.js +0 -1438
  438. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/testrunner.js +0 -791
  439. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/main.html +0 -8
  440. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/media.html +0 -221
  441. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/menu.html +0 -22
  442. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/parts.html +0 -90
  443. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/paste.html +0 -132
  444. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/performance.html +0 -152
  445. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/range.html +0 -522
  446. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/removeformat.html +0 -88
  447. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/selection.html +0 -235
  448. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/config.ini +0 -27
  449. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/footer.html +0 -3
  450. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/header.html +0 -6
  451. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/index.php +0 -1
  452. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/instructions.txt +0 -4
  453. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/logo.png +0 -0
  454. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/selectors.list +0 -40
  455. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/style.css +0 -181
  456. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/index.php +0 -112
  457. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/slickspeed.js +0 -147
  458. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/template.php +0 -47
  459. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/template.html +0 -2865
  460. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/test.xml +0 -6
  461. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/ant-contrib.jar +0 -0
  462. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/js_build_tools.jar +0 -0
  463. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnClientAdapter.jar +0 -0
  464. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnant.jar +0 -0
  465. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnjavahl.jar +0 -0
  466. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnkit.jar +0 -0
  467. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/yuicompressor.jar +0 -0
@@ -1,975 +0,0 @@
1
- // #ifndef jquery
2
-
3
- /*
4
- * Sizzle CSS Selector Engine - v1.0
5
- * Copyright 2009, The Dojo Foundation
6
- * Released under the MIT, BSD, and GPL Licenses.
7
- * More information: http://sizzlejs.com/
8
- */
9
- (function(){
10
-
11
- var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
12
- done = 0,
13
- toString = Object.prototype.toString,
14
- hasDuplicate = false;
15
-
16
- var Sizzle = function(selector, context, results, seed) {
17
- results = results || [];
18
- var origContext = context = context || document;
19
-
20
- if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
21
- return [];
22
- }
23
-
24
- if ( !selector || typeof selector !== "string" ) {
25
- return results;
26
- }
27
-
28
- var parts = [], m, set, checkSet, check, mode, extra, prune = true, contextXML = isXML(context);
29
-
30
- // Reset the position of the chunker regexp (start from head)
31
- chunker.lastIndex = 0;
32
-
33
- while ( (m = chunker.exec(selector)) !== null ) {
34
- parts.push( m[1] );
35
-
36
- if ( m[2] ) {
37
- extra = RegExp.rightContext;
38
- break;
39
- }
40
- }
41
-
42
- if ( parts.length > 1 && origPOS.exec( selector ) ) {
43
- if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
44
- set = posProcess( parts[0] + parts[1], context );
45
- } else {
46
- set = Expr.relative[ parts[0] ] ?
47
- [ context ] :
48
- Sizzle( parts.shift(), context );
49
-
50
- while ( parts.length ) {
51
- selector = parts.shift();
52
-
53
- if ( Expr.relative[ selector ] )
54
- selector += parts.shift();
55
-
56
- set = posProcess( selector, set );
57
- }
58
- }
59
- } else {
60
- // Take a shortcut and set the context if the root selector is an ID
61
- // (but not if it'll be faster if the inner selector is an ID)
62
- if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
63
- Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
64
- var ret = Sizzle.find( parts.shift(), context, contextXML );
65
- context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0];
66
- }
67
-
68
- if ( context ) {
69
- var ret = seed ?
70
- { expr: parts.pop(), set: makeArray(seed) } :
71
- Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
72
- set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;
73
-
74
- if ( parts.length > 0 ) {
75
- checkSet = makeArray(set);
76
- } else {
77
- prune = false;
78
- }
79
-
80
- while ( parts.length ) {
81
- var cur = parts.pop(), pop = cur;
82
-
83
- if ( !Expr.relative[ cur ] ) {
84
- cur = "";
85
- } else {
86
- pop = parts.pop();
87
- }
88
-
89
- if ( pop == null ) {
90
- pop = context;
91
- }
92
-
93
- Expr.relative[ cur ]( checkSet, pop, contextXML );
94
- }
95
- } else {
96
- checkSet = parts = [];
97
- }
98
- }
99
-
100
- if ( !checkSet ) {
101
- checkSet = set;
102
- }
103
-
104
- if ( !checkSet ) {
105
- throw "Syntax error, unrecognized expression: " + (cur || selector);
106
- }
107
-
108
- if ( toString.call(checkSet) === "[object Array]" ) {
109
- if ( !prune ) {
110
- results.push.apply( results, checkSet );
111
- } else if ( context && context.nodeType === 1 ) {
112
- for ( var i = 0; checkSet[i] != null; i++ ) {
113
- if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
114
- results.push( set[i] );
115
- }
116
- }
117
- } else {
118
- for ( var i = 0; checkSet[i] != null; i++ ) {
119
- if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
120
- results.push( set[i] );
121
- }
122
- }
123
- }
124
- } else {
125
- makeArray( checkSet, results );
126
- }
127
-
128
- if ( extra ) {
129
- Sizzle( extra, origContext, results, seed );
130
- Sizzle.uniqueSort( results );
131
- }
132
-
133
- return results;
134
- };
135
-
136
- Sizzle.uniqueSort = function(results){
137
- if ( sortOrder ) {
138
- hasDuplicate = false;
139
- results.sort(sortOrder);
140
-
141
- if ( hasDuplicate ) {
142
- for ( var i = 1; i < results.length; i++ ) {
143
- if ( results[i] === results[i-1] ) {
144
- results.splice(i--, 1);
145
- }
146
- }
147
- }
148
- }
149
- };
150
-
151
- Sizzle.matches = function(expr, set){
152
- return Sizzle(expr, null, null, set);
153
- };
154
-
155
- Sizzle.find = function(expr, context, isXML){
156
- var set, match;
157
-
158
- if ( !expr ) {
159
- return [];
160
- }
161
-
162
- for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
163
- var type = Expr.order[i], match;
164
-
165
- if ( (match = Expr.match[ type ].exec( expr )) ) {
166
- var left = RegExp.leftContext;
167
-
168
- if ( left.substr( left.length - 1 ) !== "\\" ) {
169
- match[1] = (match[1] || "").replace(/\\/g, "");
170
- set = Expr.find[ type ]( match, context, isXML );
171
- if ( set != null ) {
172
- expr = expr.replace( Expr.match[ type ], "" );
173
- break;
174
- }
175
- }
176
- }
177
- }
178
-
179
- if ( !set ) {
180
- set = context.getElementsByTagName("*");
181
- }
182
-
183
- return {set: set, expr: expr};
184
- };
185
-
186
- Sizzle.filter = function(expr, set, inplace, not){
187
- var old = expr, result = [], curLoop = set, match, anyFound,
188
- isXMLFilter = set && set[0] && isXML(set[0]);
189
-
190
- while ( expr && set.length ) {
191
- for ( var type in Expr.filter ) {
192
- if ( (match = Expr.match[ type ].exec( expr )) != null ) {
193
- var filter = Expr.filter[ type ], found, item;
194
- anyFound = false;
195
-
196
- if ( curLoop == result ) {
197
- result = [];
198
- }
199
-
200
- if ( Expr.preFilter[ type ] ) {
201
- match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
202
-
203
- if ( !match ) {
204
- anyFound = found = true;
205
- } else if ( match === true ) {
206
- continue;
207
- }
208
- }
209
-
210
- if ( match ) {
211
- for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
212
- if ( item ) {
213
- found = filter( item, match, i, curLoop );
214
- var pass = not ^ !!found;
215
-
216
- if ( inplace && found != null ) {
217
- if ( pass ) {
218
- anyFound = true;
219
- } else {
220
- curLoop[i] = false;
221
- }
222
- } else if ( pass ) {
223
- result.push( item );
224
- anyFound = true;
225
- }
226
- }
227
- }
228
- }
229
-
230
- if ( found !== undefined ) {
231
- if ( !inplace ) {
232
- curLoop = result;
233
- }
234
-
235
- expr = expr.replace( Expr.match[ type ], "" );
236
-
237
- if ( !anyFound ) {
238
- return [];
239
- }
240
-
241
- break;
242
- }
243
- }
244
- }
245
-
246
- // Improper expression
247
- if ( expr == old ) {
248
- if ( anyFound == null ) {
249
- throw "Syntax error, unrecognized expression: " + expr;
250
- } else {
251
- break;
252
- }
253
- }
254
-
255
- old = expr;
256
- }
257
-
258
- return curLoop;
259
- };
260
-
261
- var Expr = Sizzle.selectors = {
262
- order: [ "ID", "NAME", "TAG" ],
263
- match: {
264
- ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
265
- CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
266
- NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
267
- ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
268
- TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
269
- CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
270
- POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
271
- PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
272
- },
273
- attrMap: {
274
- "class": "className",
275
- "for": "htmlFor"
276
- },
277
- attrHandle: {
278
- href: function(elem){
279
- return elem.getAttribute("href");
280
- }
281
- },
282
- relative: {
283
- "+": function(checkSet, part, isXML){
284
- var isPartStr = typeof part === "string",
285
- isTag = isPartStr && !/\W/.test(part),
286
- isPartStrNotTag = isPartStr && !isTag;
287
-
288
- if ( isTag && !isXML ) {
289
- part = part.toUpperCase();
290
- }
291
-
292
- for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
293
- if ( (elem = checkSet[i]) ) {
294
- while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
295
-
296
- checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?
297
- elem || false :
298
- elem === part;
299
- }
300
- }
301
-
302
- if ( isPartStrNotTag ) {
303
- Sizzle.filter( part, checkSet, true );
304
- }
305
- },
306
- ">": function(checkSet, part, isXML){
307
- var isPartStr = typeof part === "string";
308
-
309
- if ( isPartStr && !/\W/.test(part) ) {
310
- part = isXML ? part : part.toUpperCase();
311
-
312
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
313
- var elem = checkSet[i];
314
- if ( elem ) {
315
- var parent = elem.parentNode;
316
- checkSet[i] = parent.nodeName === part ? parent : false;
317
- }
318
- }
319
- } else {
320
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
321
- var elem = checkSet[i];
322
- if ( elem ) {
323
- checkSet[i] = isPartStr ?
324
- elem.parentNode :
325
- elem.parentNode === part;
326
- }
327
- }
328
-
329
- if ( isPartStr ) {
330
- Sizzle.filter( part, checkSet, true );
331
- }
332
- }
333
- },
334
- "": function(checkSet, part, isXML){
335
- var doneName = done++, checkFn = dirCheck;
336
-
337
- if ( !part.match(/\W/) ) {
338
- var nodeCheck = part = isXML ? part : part.toUpperCase();
339
- checkFn = dirNodeCheck;
340
- }
341
-
342
- checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
343
- },
344
- "~": function(checkSet, part, isXML){
345
- var doneName = done++, checkFn = dirCheck;
346
-
347
- if ( typeof part === "string" && !part.match(/\W/) ) {
348
- var nodeCheck = part = isXML ? part : part.toUpperCase();
349
- checkFn = dirNodeCheck;
350
- }
351
-
352
- checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
353
- }
354
- },
355
- find: {
356
- ID: function(match, context, isXML){
357
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
358
- var m = context.getElementById(match[1]);
359
- return m ? [m] : [];
360
- }
361
- },
362
- NAME: function(match, context, isXML){
363
- if ( typeof context.getElementsByName !== "undefined" ) {
364
- var ret = [], results = context.getElementsByName(match[1]);
365
-
366
- for ( var i = 0, l = results.length; i < l; i++ ) {
367
- if ( results[i].getAttribute("name") === match[1] ) {
368
- ret.push( results[i] );
369
- }
370
- }
371
-
372
- return ret.length === 0 ? null : ret;
373
- }
374
- },
375
- TAG: function(match, context){
376
- return context.getElementsByTagName(match[1]);
377
- }
378
- },
379
- preFilter: {
380
- CLASS: function(match, curLoop, inplace, result, not, isXML){
381
- match = " " + match[1].replace(/\\/g, "") + " ";
382
-
383
- if ( isXML ) {
384
- return match;
385
- }
386
-
387
- for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
388
- if ( elem ) {
389
- if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) {
390
- if ( !inplace )
391
- result.push( elem );
392
- } else if ( inplace ) {
393
- curLoop[i] = false;
394
- }
395
- }
396
- }
397
-
398
- return false;
399
- },
400
- ID: function(match){
401
- return match[1].replace(/\\/g, "");
402
- },
403
- TAG: function(match, curLoop){
404
- for ( var i = 0; curLoop[i] === false; i++ ){}
405
- return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase();
406
- },
407
- CHILD: function(match){
408
- if ( match[1] == "nth" ) {
409
- // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
410
- var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
411
- match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" ||
412
- !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
413
-
414
- // calculate the numbers (first)n+(last) including if they are negative
415
- match[2] = (test[1] + (test[2] || 1)) - 0;
416
- match[3] = test[3] - 0;
417
- }
418
-
419
- // TODO: Move to normal caching system
420
- match[0] = done++;
421
-
422
- return match;
423
- },
424
- ATTR: function(match, curLoop, inplace, result, not, isXML){
425
- var name = match[1].replace(/\\/g, "");
426
-
427
- if ( !isXML && Expr.attrMap[name] ) {
428
- match[1] = Expr.attrMap[name];
429
- }
430
-
431
- if ( match[2] === "~=" ) {
432
- match[4] = " " + match[4] + " ";
433
- }
434
-
435
- return match;
436
- },
437
- PSEUDO: function(match, curLoop, inplace, result, not){
438
- if ( match[1] === "not" ) {
439
- // If we're dealing with a complex expression, or a simple one
440
- if ( match[3].match(chunker).length > 1 || /^\w/.test(match[3]) ) {
441
- match[3] = Sizzle(match[3], null, null, curLoop);
442
- } else {
443
- var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
444
- if ( !inplace ) {
445
- result.push.apply( result, ret );
446
- }
447
- return false;
448
- }
449
- } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
450
- return true;
451
- }
452
-
453
- return match;
454
- },
455
- POS: function(match){
456
- match.unshift( true );
457
- return match;
458
- }
459
- },
460
- filters: {
461
- enabled: function(elem){
462
- return elem.disabled === false && elem.type !== "hidden";
463
- },
464
- disabled: function(elem){
465
- return elem.disabled === true;
466
- },
467
- checked: function(elem){
468
- return elem.checked === true;
469
- },
470
- selected: function(elem){
471
- // Accessing this property makes selected-by-default
472
- // options in Safari work properly
473
- elem.parentNode.selectedIndex;
474
- return elem.selected === true;
475
- },
476
- parent: function(elem){
477
- return !!elem.firstChild;
478
- },
479
- empty: function(elem){
480
- return !elem.firstChild;
481
- },
482
- has: function(elem, i, match){
483
- return !!Sizzle( match[3], elem ).length;
484
- },
485
- header: function(elem){
486
- return /h\d/i.test( elem.nodeName );
487
- },
488
- text: function(elem){
489
- return "text" === elem.type;
490
- },
491
- radio: function(elem){
492
- return "radio" === elem.type;
493
- },
494
- checkbox: function(elem){
495
- return "checkbox" === elem.type;
496
- },
497
- file: function(elem){
498
- return "file" === elem.type;
499
- },
500
- password: function(elem){
501
- return "password" === elem.type;
502
- },
503
- submit: function(elem){
504
- return "submit" === elem.type;
505
- },
506
- image: function(elem){
507
- return "image" === elem.type;
508
- },
509
- reset: function(elem){
510
- return "reset" === elem.type;
511
- },
512
- button: function(elem){
513
- return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON";
514
- },
515
- input: function(elem){
516
- return /input|select|textarea|button/i.test(elem.nodeName);
517
- }
518
- },
519
- setFilters: {
520
- first: function(elem, i){
521
- return i === 0;
522
- },
523
- last: function(elem, i, match, array){
524
- return i === array.length - 1;
525
- },
526
- even: function(elem, i){
527
- return i % 2 === 0;
528
- },
529
- odd: function(elem, i){
530
- return i % 2 === 1;
531
- },
532
- lt: function(elem, i, match){
533
- return i < match[3] - 0;
534
- },
535
- gt: function(elem, i, match){
536
- return i > match[3] - 0;
537
- },
538
- nth: function(elem, i, match){
539
- return match[3] - 0 == i;
540
- },
541
- eq: function(elem, i, match){
542
- return match[3] - 0 == i;
543
- }
544
- },
545
- filter: {
546
- PSEUDO: function(elem, match, i, array){
547
- var name = match[1], filter = Expr.filters[ name ];
548
-
549
- if ( filter ) {
550
- return filter( elem, i, match, array );
551
- } else if ( name === "contains" ) {
552
- return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
553
- } else if ( name === "not" ) {
554
- var not = match[3];
555
-
556
- for ( var i = 0, l = not.length; i < l; i++ ) {
557
- if ( not[i] === elem ) {
558
- return false;
559
- }
560
- }
561
-
562
- return true;
563
- }
564
- },
565
- CHILD: function(elem, match){
566
- var type = match[1], node = elem;
567
- switch (type) {
568
- case 'only':
569
- case 'first':
570
- while (node = node.previousSibling) {
571
- if ( node.nodeType === 1 ) return false;
572
- }
573
- if ( type == 'first') return true;
574
- node = elem;
575
- case 'last':
576
- while (node = node.nextSibling) {
577
- if ( node.nodeType === 1 ) return false;
578
- }
579
- return true;
580
- case 'nth':
581
- var first = match[2], last = match[3];
582
-
583
- if ( first == 1 && last == 0 ) {
584
- return true;
585
- }
586
-
587
- var doneName = match[0],
588
- parent = elem.parentNode;
589
-
590
- if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
591
- var count = 0;
592
- for ( node = parent.firstChild; node; node = node.nextSibling ) {
593
- if ( node.nodeType === 1 ) {
594
- node.nodeIndex = ++count;
595
- }
596
- }
597
- parent.sizcache = doneName;
598
- }
599
-
600
- var diff = elem.nodeIndex - last;
601
- if ( first == 0 ) {
602
- return diff == 0;
603
- } else {
604
- return ( diff % first == 0 && diff / first >= 0 );
605
- }
606
- }
607
- },
608
- ID: function(elem, match){
609
- return elem.nodeType === 1 && elem.getAttribute("id") === match;
610
- },
611
- TAG: function(elem, match){
612
- return (match === "*" && elem.nodeType === 1) || elem.nodeName === match;
613
- },
614
- CLASS: function(elem, match){
615
- return (" " + (elem.className || elem.getAttribute("class")) + " ")
616
- .indexOf( match ) > -1;
617
- },
618
- ATTR: function(elem, match){
619
- var name = match[1],
620
- result = Expr.attrHandle[ name ] ?
621
- Expr.attrHandle[ name ]( elem ) :
622
- elem[ name ] != null ?
623
- elem[ name ] :
624
- elem.getAttribute( name ),
625
- value = result + "",
626
- type = match[2],
627
- check = match[4];
628
-
629
- return result == null ?
630
- type === "!=" :
631
- type === "=" ?
632
- value === check :
633
- type === "*=" ?
634
- value.indexOf(check) >= 0 :
635
- type === "~=" ?
636
- (" " + value + " ").indexOf(check) >= 0 :
637
- !check ?
638
- value && result !== false :
639
- type === "!=" ?
640
- value != check :
641
- type === "^=" ?
642
- value.indexOf(check) === 0 :
643
- type === "$=" ?
644
- value.substr(value.length - check.length) === check :
645
- type === "|=" ?
646
- value === check || value.substr(0, check.length + 1) === check + "-" :
647
- false;
648
- },
649
- POS: function(elem, match, i, array){
650
- var name = match[2], filter = Expr.setFilters[ name ];
651
-
652
- if ( filter ) {
653
- return filter( elem, i, match, array );
654
- }
655
- }
656
- }
657
- };
658
-
659
- var origPOS = Expr.match.POS;
660
-
661
- for ( var type in Expr.match ) {
662
- Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
663
- }
664
-
665
- var makeArray = function(array, results) {
666
- array = Array.prototype.slice.call( array );
667
-
668
- if ( results ) {
669
- results.push.apply( results, array );
670
- return results;
671
- }
672
-
673
- return array;
674
- };
675
-
676
- // Perform a simple check to determine if the browser is capable of
677
- // converting a NodeList to an array using builtin methods.
678
- try {
679
- Array.prototype.slice.call( document.documentElement.childNodes );
680
-
681
- // Provide a fallback method if it does not work
682
- } catch(e){
683
- makeArray = function(array, results) {
684
- var ret = results || [];
685
-
686
- if ( toString.call(array) === "[object Array]" ) {
687
- Array.prototype.push.apply( ret, array );
688
- } else {
689
- if ( typeof array.length === "number" ) {
690
- for ( var i = 0, l = array.length; i < l; i++ ) {
691
- ret.push( array[i] );
692
- }
693
- } else {
694
- for ( var i = 0; array[i]; i++ ) {
695
- ret.push( array[i] );
696
- }
697
- }
698
- }
699
-
700
- return ret;
701
- };
702
- }
703
-
704
- var sortOrder;
705
-
706
- if ( document.documentElement.compareDocumentPosition ) {
707
- sortOrder = function( a, b ) {
708
- var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
709
- if ( ret === 0 ) {
710
- hasDuplicate = true;
711
- }
712
- return ret;
713
- };
714
- } else if ( "sourceIndex" in document.documentElement ) {
715
- sortOrder = function( a, b ) {
716
- var ret = a.sourceIndex - b.sourceIndex;
717
- if ( ret === 0 ) {
718
- hasDuplicate = true;
719
- }
720
- return ret;
721
- };
722
- } else if ( document.createRange ) {
723
- sortOrder = function( a, b ) {
724
- var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
725
- aRange.setStart(a, 0);
726
- aRange.setEnd(a, 0);
727
- bRange.setStart(b, 0);
728
- bRange.setEnd(b, 0);
729
- var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
730
- if ( ret === 0 ) {
731
- hasDuplicate = true;
732
- }
733
- return ret;
734
- };
735
- }
736
-
737
- // Check to see if the browser returns elements by name when
738
- // querying by getElementById (and provide a workaround)
739
- (function(){
740
- // We're going to inject a fake input element with a specified name
741
- var form = document.createElement("div"),
742
- id = "script" + (new Date).getTime();
743
- form.innerHTML = "<a name='" + id + "'/>";
744
-
745
- // Inject it into the root element, check its status, and remove it quickly
746
- var root = document.documentElement;
747
- root.insertBefore( form, root.firstChild );
748
-
749
- // The workaround has to do additional checks after a getElementById
750
- // Which slows things down for other browsers (hence the branching)
751
- if ( !!document.getElementById( id ) ) {
752
- Expr.find.ID = function(match, context, isXML){
753
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
754
- var m = context.getElementById(match[1]);
755
- return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
756
- }
757
- };
758
-
759
- Expr.filter.ID = function(elem, match){
760
- var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
761
- return elem.nodeType === 1 && node && node.nodeValue === match;
762
- };
763
- }
764
-
765
- root.removeChild( form );
766
- })();
767
-
768
- (function(){
769
- // Check to see if the browser returns only elements
770
- // when doing getElementsByTagName("*")
771
-
772
- // Create a fake element
773
- var div = document.createElement("div");
774
- div.appendChild( document.createComment("") );
775
-
776
- // Make sure no comments are found
777
- if ( div.getElementsByTagName("*").length > 0 ) {
778
- Expr.find.TAG = function(match, context){
779
- var results = context.getElementsByTagName(match[1]);
780
-
781
- // Filter out possible comments
782
- if ( match[1] === "*" ) {
783
- var tmp = [];
784
-
785
- for ( var i = 0; results[i]; i++ ) {
786
- if ( results[i].nodeType === 1 ) {
787
- tmp.push( results[i] );
788
- }
789
- }
790
-
791
- results = tmp;
792
- }
793
-
794
- return results;
795
- };
796
- }
797
-
798
- // Check to see if an attribute returns normalized href attributes
799
- div.innerHTML = "<a href='#'></a>";
800
- if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
801
- div.firstChild.getAttribute("href") !== "#" ) {
802
- Expr.attrHandle.href = function(elem){
803
- return elem.getAttribute("href", 2);
804
- };
805
- }
806
- })();
807
-
808
- if ( document.querySelectorAll ) (function(){
809
- var oldSizzle = Sizzle, div = document.createElement("div");
810
- div.innerHTML = "<p class='TEST'></p>";
811
-
812
- // Safari can't handle uppercase or unicode characters when
813
- // in quirks mode.
814
- if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
815
- return;
816
- }
817
-
818
- Sizzle = function(query, context, extra, seed){
819
- context = context || document;
820
-
821
- // Only use querySelectorAll on non-XML documents
822
- // (ID selectors don't work in non-HTML documents)
823
- if ( !seed && context.nodeType === 9 && !isXML(context) ) {
824
- try {
825
- return makeArray( context.querySelectorAll(query), extra );
826
- } catch(e){}
827
- }
828
-
829
- return oldSizzle(query, context, extra, seed);
830
- };
831
-
832
- for ( var prop in oldSizzle ) {
833
- Sizzle[ prop ] = oldSizzle[ prop ];
834
- }
835
- })();
836
-
837
- if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){
838
- var div = document.createElement("div");
839
- div.innerHTML = "<div class='test e'></div><div class='test'></div>";
840
-
841
- // Opera can't find a second classname (in 9.6)
842
- if ( div.getElementsByClassName("e").length === 0 )
843
- return;
844
-
845
- // Safari caches class attributes, doesn't catch changes (in 3.2)
846
- div.lastChild.className = "e";
847
-
848
- if ( div.getElementsByClassName("e").length === 1 )
849
- return;
850
-
851
- Expr.order.splice(1, 0, "CLASS");
852
- Expr.find.CLASS = function(match, context, isXML) {
853
- if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
854
- return context.getElementsByClassName(match[1]);
855
- }
856
- };
857
- })();
858
-
859
- function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
860
- var sibDir = dir == "previousSibling" && !isXML;
861
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
862
- var elem = checkSet[i];
863
- if ( elem ) {
864
- if ( sibDir && elem.nodeType === 1 ){
865
- elem.sizcache = doneName;
866
- elem.sizset = i;
867
- }
868
- elem = elem[dir];
869
- var match = false;
870
-
871
- while ( elem ) {
872
- if ( elem.sizcache === doneName ) {
873
- match = checkSet[elem.sizset];
874
- break;
875
- }
876
-
877
- if ( elem.nodeType === 1 && !isXML ){
878
- elem.sizcache = doneName;
879
- elem.sizset = i;
880
- }
881
-
882
- if ( elem.nodeName === cur ) {
883
- match = elem;
884
- break;
885
- }
886
-
887
- elem = elem[dir];
888
- }
889
-
890
- checkSet[i] = match;
891
- }
892
- }
893
- }
894
-
895
- function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
896
- var sibDir = dir == "previousSibling" && !isXML;
897
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
898
- var elem = checkSet[i];
899
- if ( elem ) {
900
- if ( sibDir && elem.nodeType === 1 ) {
901
- elem.sizcache = doneName;
902
- elem.sizset = i;
903
- }
904
- elem = elem[dir];
905
- var match = false;
906
-
907
- while ( elem ) {
908
- if ( elem.sizcache === doneName ) {
909
- match = checkSet[elem.sizset];
910
- break;
911
- }
912
-
913
- if ( elem.nodeType === 1 ) {
914
- if ( !isXML ) {
915
- elem.sizcache = doneName;
916
- elem.sizset = i;
917
- }
918
- if ( typeof cur !== "string" ) {
919
- if ( elem === cur ) {
920
- match = true;
921
- break;
922
- }
923
-
924
- } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
925
- match = elem;
926
- break;
927
- }
928
- }
929
-
930
- elem = elem[dir];
931
- }
932
-
933
- checkSet[i] = match;
934
- }
935
- }
936
- }
937
-
938
- var contains = document.compareDocumentPosition ? function(a, b){
939
- return a.compareDocumentPosition(b) & 16;
940
- } : function(a, b){
941
- return a !== b && (a.contains ? a.contains(b) : true);
942
- };
943
-
944
- var isXML = function(elem){
945
- return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
946
- !!elem.ownerDocument && elem.ownerDocument.documentElement.nodeName !== "HTML";
947
- };
948
-
949
- var posProcess = function(selector, context){
950
- var tmpSet = [], later = "", match,
951
- root = context.nodeType ? [context] : context;
952
-
953
- // Position selectors must be done after the filter
954
- // And so must :not(positional) so we move all PSEUDOs to the end
955
- while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
956
- later += match[0];
957
- selector = selector.replace( Expr.match.PSEUDO, "" );
958
- }
959
-
960
- selector = Expr.relative[selector] ? selector + "*" : selector;
961
-
962
- for ( var i = 0, l = root.length; i < l; i++ ) {
963
- Sizzle( selector, root[i], tmpSet );
964
- }
965
-
966
- return Sizzle.filter( later, tmpSet );
967
- };
968
-
969
- // EXPOSE
970
-
971
- window.tinymce.dom.Sizzle = Sizzle;
972
-
973
- })();
974
-
975
- // #endif