skylinecms 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (540) hide show
  1. data/.gitignore +5 -0
  2. data/CHANGELOG +51 -1
  3. data/Gemfile +8 -0
  4. data/Rakefile +0 -43
  5. data/app/controllers/skyline/application_controller.rb +30 -26
  6. data/app/controllers/skyline/articles_controller.rb +8 -28
  7. data/app/controllers/skyline/authentications_controller.rb +6 -8
  8. data/app/controllers/skyline/browser/links_controller.rb +12 -8
  9. data/app/controllers/skyline/browser/tabs/linkables_controller.rb +9 -0
  10. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +0 -12
  11. data/app/controllers/skyline/content/editors/editable_list_controller.rb +0 -4
  12. data/app/controllers/skyline/content/editors/joinable_list_controller.rb +1 -19
  13. data/app/controllers/skyline/content_controller.rb +14 -30
  14. data/app/controllers/skyline/content_items_controller.rb +3 -9
  15. data/app/controllers/skyline/content_sections_controller.rb +3 -10
  16. data/app/controllers/skyline/link_section_links_controller.rb +2 -10
  17. data/app/controllers/skyline/media/data_controller.rb +24 -14
  18. data/app/controllers/skyline/media/dirs_controller.rb +12 -26
  19. data/app/controllers/skyline/media/files_controller.rb +12 -28
  20. data/app/controllers/skyline/publications_controller.rb +0 -12
  21. data/app/controllers/skyline/published_publications_controller.rb +0 -4
  22. data/app/controllers/skyline/sections_controller.rb +4 -18
  23. data/app/controllers/skyline/site/media_files_data_controller.rb +11 -13
  24. data/app/controllers/skyline/site/pages_controller.rb +4 -3
  25. data/app/controllers/skyline/skyline2_controller.rb +1 -1
  26. data/app/controllers/skyline/users_controller.rb +7 -31
  27. data/app/controllers/skyline/variant_current_editor_controller.rb +5 -5
  28. data/app/controllers/skyline/variants_controller.rb +3 -3
  29. data/app/helpers/skyline/application_helper.rb +16 -5
  30. data/app/helpers/skyline/button_helper.rb +12 -18
  31. data/app/helpers/skyline/content_helper.rb +11 -11
  32. data/app/helpers/skyline/dialog_helper.rb +3 -2
  33. data/app/helpers/skyline/editors/checkable_list.rb +4 -2
  34. data/app/helpers/skyline/editors/date_time.rb +1 -1
  35. data/app/helpers/skyline/editors/display.rb +1 -1
  36. data/app/helpers/skyline/editors/editable_list.rb +13 -8
  37. data/app/helpers/skyline/editors/editor.rb +10 -10
  38. data/app/helpers/skyline/editors/list.rb +2 -2
  39. data/app/helpers/skyline/editors/page_browser.rb +1 -0
  40. data/app/helpers/skyline/editors/wysiwyg.rb +2 -3
  41. data/app/helpers/skyline/form_helper.rb +36 -0
  42. data/app/helpers/skyline/media/files_helper.rb +1 -1
  43. data/app/helpers/skyline/message_generator.rb +13 -4
  44. data/app/helpers/skyline/pages_helper.rb +1 -1
  45. data/app/helpers/skyline/plugin_helper.rb +1 -1
  46. data/app/helpers/skyline/presenters/presenter.rb +12 -8
  47. data/app/helpers/skyline/ref_object_helper.rb +9 -7
  48. data/app/helpers/skyline/translation_helper.rb +1 -1
  49. data/app/helpers/skyline/tree_helper.rb +1 -3
  50. data/app/middleware/skyline/flash_session_cookie_middleware.rb +6 -1
  51. data/app/middleware/skyline/plugins_loader_middleware.rb +1 -1
  52. data/app/middleware/skyline/sprockets_middleware.rb +1 -1
  53. data/app/models/skyline/article.rb +94 -26
  54. data/app/models/skyline/article_version.rb +22 -9
  55. data/app/models/skyline/image_ref.rb +1 -1
  56. data/app/models/skyline/inline_ref.rb +78 -62
  57. data/app/models/skyline/link_ref.rb +1 -1
  58. data/app/models/skyline/media_cache.rb +4 -2
  59. data/app/models/skyline/media_file.rb +2 -5
  60. data/app/models/skyline/media_node.rb +2 -2
  61. data/app/models/skyline/object_ref.rb +2 -2
  62. data/app/models/skyline/page.rb +8 -6
  63. data/app/models/skyline/page_fragment.rb +4 -2
  64. data/app/models/skyline/publication.rb +1 -1
  65. data/app/models/skyline/sections/content_collection_section.rb +1 -1
  66. data/app/models/skyline/sections/link_section.rb +1 -1
  67. data/app/models/skyline/user.rb +17 -7
  68. data/app/models/skyline/user_preference.rb +1 -1
  69. data/app/models/skyline/variant.rb +11 -5
  70. data/app/templates/skyline/page/default/index.html.erb +1 -1
  71. data/app/templates/skyline/sections/raw_section/default/index.html.erb +1 -1
  72. data/app/templates/skyline/sections/wysiwyg_section/default/index.html.erb +1 -1
  73. data/app/views/skyline/articles/_currently_editing.html.erb +1 -1
  74. data/app/views/skyline/articles/_meta.html.erb +24 -11
  75. data/app/views/skyline/articles/_security.html.erb +2 -2
  76. data/app/views/skyline/articles/_takeover_action.html.erb +1 -1
  77. data/app/views/skyline/articles/edit.html.erb +29 -16
  78. data/app/views/skyline/articles/edit_preview_only.html.erb +2 -2
  79. data/app/views/skyline/articles/index.html.erb +2 -2
  80. data/app/views/skyline/articles/page/_header.html.erb +1 -1
  81. data/app/views/skyline/articles/page/_index.html.erb +9 -3
  82. data/app/views/skyline/articles/page_fragment/_index.html.erb +7 -2
  83. data/app/views/skyline/articles/update.js.erb +20 -0
  84. data/app/views/skyline/authentications/new.html.erb +1 -1
  85. data/app/views/skyline/browser/links/_index.html.erb +2 -0
  86. data/app/views/skyline/browser/tabs/linkables/_index.html.erb +29 -0
  87. data/app/views/skyline/browser/tabs/linkables/_show.html.erb +67 -0
  88. data/app/views/skyline/browser/tabs/linkables/show.js.erb +4 -0
  89. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +2 -2
  90. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +4 -35
  91. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +1 -3
  92. data/app/views/skyline/browser/tabs/media_library/media_files/index.js.erb +1 -0
  93. data/app/views/skyline/browser/tabs/media_library/media_files/show.js.erb +1 -0
  94. data/app/views/skyline/browser/tabs/pages/_index.html.erb +1 -1
  95. data/app/views/skyline/content/_add.rhtml +6 -1
  96. data/app/views/skyline/content/_filter.rhtml +1 -1
  97. data/app/views/skyline/content/_import.html.erb +1 -1
  98. data/app/views/skyline/content/_index.html.erb +2 -2
  99. data/app/views/skyline/content/_meta.html.erb +2 -2
  100. data/app/views/skyline/content/create.rhtml +1 -1
  101. data/app/views/skyline/content/edit.rhtml +1 -1
  102. data/app/views/skyline/content/editors/editable_list/new.js.erb +2 -0
  103. data/app/views/skyline/content/editors/joinable_list/_add.html.erb +17 -10
  104. data/app/views/skyline/content/editors/joinable_list/_list.html.erb +24 -8
  105. data/app/views/skyline/content/editors/joinable_list/cancel.js.erb +1 -0
  106. data/app/views/skyline/content/editors/joinable_list/index.js.erb +1 -0
  107. data/app/views/skyline/content/editors/joinable_list/new.js.erb +5 -0
  108. data/app/views/skyline/content/field.js.erb +2 -0
  109. data/app/views/skyline/content/import.js.erb +4 -0
  110. data/app/views/skyline/content/order.js.erb +6 -0
  111. data/app/views/skyline/content/presenters/_table.html.erb +1 -1
  112. data/app/views/skyline/content_items/_content_item.html.erb +2 -2
  113. data/app/views/skyline/content_items/new.js.erb +6 -0
  114. data/app/views/skyline/content_sections/_tags.html.erb +2 -2
  115. data/app/views/skyline/content_sections/new.js.erb +6 -0
  116. data/app/views/skyline/link_section_links/_form.html.erb +1 -1
  117. data/app/views/skyline/link_section_links/new.js.erb +4 -0
  118. data/app/views/skyline/locales/show.js.erb +3 -3
  119. data/app/views/skyline/media/dirs/_edit.html.erb +9 -7
  120. data/app/views/skyline/media/dirs/edit.js.erb +1 -0
  121. data/app/views/skyline/media/dirs/index.html.erb +16 -6
  122. data/app/views/skyline/media/dirs/index.js.erb +6 -0
  123. data/app/views/skyline/media/dirs/show.js.erb +5 -0
  124. data/app/views/skyline/media/files/_edit.html.erb +13 -11
  125. data/app/views/skyline/media/files/_index.html.erb +2 -2
  126. data/app/views/skyline/media/files/_new.html.erb +2 -2
  127. data/app/views/skyline/media/files/edit.js.erb +4 -0
  128. data/app/views/skyline/media/files/index.js.erb +4 -0
  129. data/app/views/skyline/media/files/update.js.erb +8 -0
  130. data/app/views/skyline/publications/_index.html.erb +2 -2
  131. data/app/views/skyline/publications/index.js.erb +9 -0
  132. data/app/views/skyline/sections/_content_collection_section.html.erb +6 -6
  133. data/app/views/skyline/sections/_content_item_section.html.erb +1 -1
  134. data/app/views/skyline/sections/_form.html.erb +4 -4
  135. data/app/views/skyline/sections/_link_section.html.erb +6 -1
  136. data/app/views/skyline/sections/_splitter_section.html.erb +1 -1
  137. data/app/views/skyline/sections/_wysiwyg_section.html.erb +2 -2
  138. data/app/views/skyline/sections/new.js.erb +12 -0
  139. data/app/views/skyline/settings/edit.html.erb +1 -1
  140. data/app/views/skyline/shared/_head.html.erb +3 -0
  141. data/app/views/skyline/shared/_header_area.html.erb +5 -5
  142. data/app/views/skyline/users/_edit.html.erb +1 -1
  143. data/app/views/skyline/users/_form.html.erb +1 -1
  144. data/app/views/skyline/users/_new.html.erb +1 -1
  145. data/app/views/skyline/users/create.js.erb +2 -0
  146. data/app/views/skyline/users/edit.js.erb +1 -0
  147. data/app/views/skyline/users/index.html.erb +21 -6
  148. data/app/views/skyline/users/new.js.erb +1 -0
  149. data/app/views/skyline/users/update.js.erb +2 -0
  150. data/config/initializers/dependencies.rb +1 -17
  151. data/config/initializers/gem_dependencies.rb +10 -0
  152. data/config/initializers/locales.rb +8 -1
  153. data/config/initializers/middlewares.rb +7 -3
  154. data/config/initializers/observers.rb +6 -4
  155. data/config/locales/en-US.yml +44 -34
  156. data/config/locales/nl-NL.yml +45 -33
  157. data/config/routes.rb +65 -74
  158. data/db/migrate/20090508145820_create_skyline_pages.rb +2 -2
  159. data/db/migrate/20090508145852_create_skyline_page_versions.rb +2 -2
  160. data/db/migrate/20090508150149_create_skyline_sections.rb +1 -1
  161. data/db/migrate/20090610142139_add_skyline_tags_taggable_type.rb +2 -2
  162. data/db/migrate/20090624154251_create_skyline_link_section_links.rb +1 -1
  163. data/db/migrate/20100120113953_remove_unused_articles_index.rb +1 -1
  164. data/db/migrate/20110816080626_add_skyline_test_article_data.rb +13 -0
  165. data/db/migrate/20111101092405_rename_indexes.rb +24 -0
  166. data/doc/INSTALL.md +54 -27
  167. data/doc/MIGRATION.md +27 -2
  168. data/lib/skyline.rb +2 -1
  169. data/lib/skyline/authentication/user.rb +80 -0
  170. data/lib/skyline/belongs_to_referable.rb +1 -1
  171. data/lib/skyline/cli/init.rb +14 -26
  172. data/lib/skyline/cli/init/templates/config/initializers/skyline_configuration.rb +0 -1
  173. data/lib/skyline/configuration.rb +74 -32
  174. data/lib/skyline/content/content.rb +7 -6
  175. data/lib/skyline/content/field_meta_data.rb +2 -2
  176. data/lib/skyline/content/stack.rb +1 -1
  177. data/lib/skyline/content_item_section_selectable.rb +4 -4
  178. data/lib/skyline/deprecated/version3_0_8.rb +2 -2
  179. data/lib/skyline/engine.rb +37 -0
  180. data/lib/skyline/form_builder.rb +8 -8
  181. data/lib/skyline/linkable.rb +28 -0
  182. data/lib/skyline/plugins/manager.rb +77 -0
  183. data/lib/skyline/plugins/plugin.rb +89 -0
  184. data/lib/skyline/rendering/helpers/renderer_helper.rb +1 -1
  185. data/lib/skyline/rendering/renderer.rb +27 -13
  186. data/lib/skyline/route_constraint.rb +15 -0
  187. data/lib/skyline/settings.rb +9 -7
  188. data/lib/skyline/taggable.rb +2 -2
  189. data/lib/skyline/version.rb +4 -4
  190. data/lib/skylinecms.rb +5 -3
  191. data/lib/tasks/database.rake +2 -2
  192. data/public/skyline/javascripts/src/application.js +5 -4
  193. data/public/skyline/javascripts/src/rails.js +165 -0
  194. data/public/skyline/javascripts/src/sections.js +6 -9
  195. data/public/skyline/javascripts/src/skyline.editor/src/plugins/autoresize/editor_plugin.js +72 -27
  196. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/dialog.js +13 -12
  197. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/dialog.js +7 -7
  198. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +4 -3
  199. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +101 -536
  200. data/public/skyline/javascripts/src/skyline.editor/test/multiple_editors.html +1 -0
  201. data/public/skyline/javascripts/src/skyline.editor/test/single.html +56 -0
  202. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +1410 -1091
  203. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/accessibility.html +101 -0
  204. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/custom_formats.html +1 -1
  205. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +12 -12
  206. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/media_list.js +5 -1
  207. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.flv +0 -0
  208. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +2 -1
  209. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +4 -4
  210. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +3 -2
  211. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +1 -170
  212. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js +1 -5
  213. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +30 -29
  214. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -1
  215. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +1 -1
  216. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +34 -31
  217. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +32 -13
  218. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +1 -43
  219. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +21 -17
  220. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +1 -52
  221. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +35 -30
  222. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -1
  223. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js +31 -9
  224. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js +1 -0
  225. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js +172 -0
  226. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -1
  227. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +23 -5
  228. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -1
  229. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +14 -5
  230. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -1
  231. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +1 -1
  232. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -1
  233. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +34 -21
  234. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +15 -14
  235. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  236. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  237. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  238. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  239. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  240. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  241. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +1 -20
  242. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js +1 -0
  243. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js +50 -0
  244. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +3 -42
  245. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -1
  246. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +315 -63
  247. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +18 -330
  248. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +199 -438
  249. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +1 -85
  250. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -1
  251. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +12 -4
  252. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +2 -1
  253. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -1
  254. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +80 -16
  255. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  256. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  257. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  258. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  259. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  260. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +1 -1
  261. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +1 -1
  262. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +2 -0
  263. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -1
  264. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +31 -28
  265. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js +1 -0
  266. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js +781 -0
  267. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +5 -4
  268. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -1
  269. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +703 -295
  270. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js +361 -602
  271. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js +1 -103
  272. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +365 -285
  273. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/moxieplayer.swf +0 -0
  274. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -1
  275. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +4 -3
  276. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -1
  277. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +7 -2
  278. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -1
  279. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +1 -4
  280. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -1
  281. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +148 -239
  282. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +1 -5
  283. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -1
  284. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +4 -0
  285. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +18 -6
  286. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +1 -16
  287. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +17 -16
  288. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -1
  289. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +55 -38
  290. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js +3 -9
  291. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +1 -63
  292. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +515 -398
  293. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -1
  294. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +122 -112
  295. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +16 -14
  296. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -1
  297. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +1364 -1139
  298. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +44 -11
  299. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +18 -18
  300. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +15 -14
  301. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +1 -74
  302. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +11 -11
  303. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +12 -9
  304. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +54 -53
  305. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +1 -1
  306. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js +1 -15
  307. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -1
  308. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +1 -1
  309. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -1
  310. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +36 -20
  311. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +6 -5
  312. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +6 -5
  313. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +6 -5
  314. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +5 -4
  315. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +9 -8
  316. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -1
  317. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +6 -6
  318. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +11 -10
  319. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +1 -16
  320. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +2 -12
  321. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +3 -5
  322. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +4 -13
  323. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +1 -32
  324. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +3 -5
  325. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +5 -5
  326. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +39 -40
  327. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +10 -9
  328. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -1
  329. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +195 -54
  330. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +51 -51
  331. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  332. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
  333. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  334. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  335. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/pagebreak → themes/advanced}/img/pagebreak.gif +0 -0
  336. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  337. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/realmedia.gif +0 -0
  338. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  339. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/trans.gif +0 -0
  340. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/video.gif +0 -0
  341. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/windowsmedia.gif +0 -0
  342. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js +1 -0
  343. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +5 -0
  344. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +26 -6
  345. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js +108 -32
  346. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +12 -6
  347. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +4 -7
  348. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +6 -12
  349. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js +1 -62
  350. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js +1 -51
  351. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +27 -28
  352. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/shortcuts.htm +47 -0
  353. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +14 -1
  354. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  355. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  356. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  357. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +5 -4
  358. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +24 -0
  359. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  360. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
  361. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +12 -0
  362. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +1 -0
  363. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  364. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  365. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  366. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +8 -6
  367. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +1 -1
  368. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +1 -1
  369. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +3 -3
  370. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +1 -1
  371. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +1 -2
  372. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  373. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js +1 -11
  374. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -1
  375. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +1 -1
  376. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +7838 -5579
  377. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +1 -1
  378. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +14 -4
  379. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +95 -10
  380. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +35 -3
  381. data/public/skyline/javascripts/src/skyline/src/drag.js +10 -7
  382. data/public/skyline/javascripts/src/skyline/src/layout.js +13 -12
  383. data/public/skyline/javascripts/src/skyline/src/menubutton.js +1 -3
  384. data/public/skyline/javascripts/src/skyline/src/sortable.js +7 -5
  385. data/public/skyline/javascripts/src/skyline/src/tree.js +8 -4
  386. data/public/skyline/javascripts/src/skyline/test/sortable.html +73 -12
  387. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +485 -2
  388. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +130 -81
  389. data/public/skyline/stylesheets/general.css +23 -6
  390. data/skylinecms.gemspec +45 -0
  391. data/test/mocks/test_article.rb +11 -0
  392. data/test/mocks/test_section.rb +1 -1
  393. data/test/test_helper.rb +2 -1
  394. data/test/unit/article_test.rb +142 -0
  395. data/test/unit/inline_ref_test.rb +38 -16
  396. data/test/unit/test_content_object_test.rb +2 -1
  397. data/vendor/digitpaint/nested_attributes_positioning.rb +1 -1
  398. metadata +207 -487
  399. data/app/helpers/skyline/media_files_helper.rb +0 -7
  400. data/config/initializers/javascript_generator_methods.rb +0 -4
  401. data/config/initializers/rails_defaults.rb +0 -6
  402. data/doc/Bundler.md +0 -76
  403. data/lib/skyline/plugins_manager.rb +0 -150
  404. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +0 -84
  405. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +0 -6
  406. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  407. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  408. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  409. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  410. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css +0 -1
  411. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  412. data/rails/init.rb +0 -32
  413. data/vendor/digitpaint/personify/README.md +0 -86
  414. data/vendor/digitpaint/personify/lib/parser/personify.rb +0 -838
  415. data/vendor/digitpaint/personify/lib/parser/personify.treetop +0 -126
  416. data/vendor/digitpaint/personify/lib/parser/personify_node_classes.rb +0 -7
  417. data/vendor/digitpaint/personify/lib/template.rb +0 -16
  418. data/vendor/digitpaint/personify/personify.rb +0 -7
  419. data/vendor/digitpaint/personify/script/generate_parser.rb +0 -6
  420. data/vendor/digitpaint/personify/test/fixtures/multiple_tags.txt +0 -8
  421. data/vendor/digitpaint/personify/test/parse_runner.rb +0 -25
  422. data/vendor/digitpaint/personify/test/parser_test.rb +0 -109
  423. data/vendor/digitpaint/personify/test/test_helper.rb +0 -16
  424. data/vendor/digitpaint/personify/vendor/treetop/.gitignore +0 -5
  425. data/vendor/digitpaint/personify/vendor/treetop/History.txt +0 -9
  426. data/vendor/digitpaint/personify/vendor/treetop/README +0 -164
  427. data/vendor/digitpaint/personify/vendor/treetop/Rakefile +0 -20
  428. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +0 -20
  429. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +0 -18
  430. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +0 -251
  431. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/info.plist +0 -10
  432. data/vendor/digitpaint/personify/vendor/treetop/bin/tt +0 -28
  433. data/vendor/digitpaint/personify/vendor/treetop/doc/contributing_and_planned_features.markdown +0 -103
  434. data/vendor/digitpaint/personify/vendor/treetop/doc/grammar_composition.markdown +0 -65
  435. data/vendor/digitpaint/personify/vendor/treetop/doc/index.markdown +0 -90
  436. data/vendor/digitpaint/personify/vendor/treetop/doc/pitfalls_and_advanced_techniques.markdown +0 -51
  437. data/vendor/digitpaint/personify/vendor/treetop/doc/semantic_interpretation.markdown +0 -189
  438. data/vendor/digitpaint/personify/vendor/treetop/doc/site.rb +0 -110
  439. data/vendor/digitpaint/personify/vendor/treetop/doc/sitegen.rb +0 -60
  440. data/vendor/digitpaint/personify/vendor/treetop/doc/syntactic_recognition.markdown +0 -100
  441. data/vendor/digitpaint/personify/vendor/treetop/doc/using_in_ruby.markdown +0 -21
  442. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.rb +0 -551
  443. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.treetop +0 -97
  444. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_node_classes.rb +0 -7
  445. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_test.rb +0 -54
  446. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus +0 -0
  447. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.rb +0 -718
  448. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.treetop +0 -132
  449. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_node_classes.rb +0 -5
  450. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_test.rb +0 -89
  451. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/test_helper.rb +0 -18
  452. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop.rb +0 -11
  453. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +0 -45
  454. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler.rb +0 -6
  455. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +0 -40
  456. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +0 -17
  457. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.rb +0 -2955
  458. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +0 -404
  459. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes.rb +0 -19
  460. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +0 -20
  461. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +0 -14
  462. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +0 -22
  463. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +0 -31
  464. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +0 -24
  465. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +0 -28
  466. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +0 -27
  467. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +0 -13
  468. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +0 -19
  469. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +0 -9
  470. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +0 -138
  471. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +0 -55
  472. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +0 -45
  473. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +0 -55
  474. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +0 -68
  475. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +0 -20
  476. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +0 -9
  477. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +0 -9
  478. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +0 -113
  479. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions.rb +0 -2
  480. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions/string.rb +0 -42
  481. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime.rb +0 -5
  482. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +0 -95
  483. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +0 -4
  484. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +0 -15
  485. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +0 -200
  486. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +0 -164
  487. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/syntax_node.rb +0 -72
  488. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +0 -16
  489. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +0 -17
  490. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/version.rb +0 -9
  491. data/vendor/digitpaint/personify/vendor/treetop/script/generate_metagrammar.rb +0 -14
  492. data/vendor/digitpaint/personify/vendor/treetop/script/svnadd +0 -11
  493. data/vendor/digitpaint/personify/vendor/treetop/script/svnrm +0 -11
  494. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/and_predicate_spec.rb +0 -36
  495. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/anything_symbol_spec.rb +0 -52
  496. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/character_class_spec.rb +0 -188
  497. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/choice_spec.rb +0 -80
  498. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/circular_compilation_spec.rb +0 -28
  499. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +0 -21
  500. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +0 -84
  501. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_spec.rb +0 -41
  502. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +0 -40
  503. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/not_predicate_spec.rb +0 -38
  504. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/one_or_more_spec.rb +0 -35
  505. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/optional_spec.rb +0 -37
  506. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +0 -19
  507. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parsing_rule_spec.rb +0 -32
  508. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/sequence_spec.rb +0 -115
  509. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_spec.rb +0 -81
  510. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +0 -37
  511. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.treetop +0 -7
  512. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.tt +0 -7
  513. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar_do.treetop +0 -7
  514. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/zero_or_more_spec.rb +0 -56
  515. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/a.treetop +0 -11
  516. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/b.treetop +0 -11
  517. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/c.treetop +0 -10
  518. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/d.treetop +0 -10
  519. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/grammar_composition_spec.rb +0 -26
  520. data/vendor/digitpaint/personify/vendor/treetop/spec/ruby_extensions/string_spec.rb +0 -32
  521. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/compiled_parser_spec.rb +0 -101
  522. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +0 -147
  523. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +0 -349
  524. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +0 -385
  525. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +0 -660
  526. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +0 -6175
  527. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +0 -58
  528. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +0 -23
  529. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +0 -164
  530. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +0 -84
  531. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/syntax_node_spec.rb +0 -53
  532. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_helper.rb +0 -106
  533. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_suite.rb +0 -4
  534. data/vendor/digitpaint/personify/vendor/treetop/treetop.gemspec +0 -18
  535. data/vendor/mootools-on-rails/README +0 -54
  536. data/vendor/mootools-on-rails/Rakefile +0 -22
  537. data/vendor/mootools-on-rails/lib/mootools_on_rails.rb +0 -30
  538. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +0 -510
  539. data/vendor/mootools-on-rails/test/mootools_helper_test.rb +0 -138
  540. data/vendor/mootools-on-rails/test/test_helper.rb +0 -5
@@ -1 +1 @@
1
- (function(){var a=tinymce.each;tinymce.create("tinymce.plugins.AdvListPlugin",{init:function(b,c){var d=this;d.editor=b;function e(g){var f=[];a(g.split(/,/),function(h){f.push({title:"advlist."+(h=="default"?"def":h.replace(/-/g,"_")),styles:{listStyleType:h=="default"?"":h}})});return f}d.numlist=b.getParam("advlist_number_styles")||e("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");d.bullist=b.getParam("advlist_bullet_styles")||e("default,circle,disc,square")},createControl:function(d,b){var f=this,e,h;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){h=f[d][0]}function c(i,k){var j=true;a(k.styles,function(m,l){if(f.editor.dom.getStyle(i,l)!=m){j=false;return false}});return j}function g(){var k,i=f.editor,l=i.dom,j=i.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,h)){i.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(h){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,h.styles);k.removeAttribute("_mce_style")}}}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){g()}});e.onRenderMenu.add(function(i,j){j.onShowMenu.add(function(){var m=f.editor.dom,l=m.getParent(f.editor.selection.getNode(),"ol,ul"),k;if(l||h){k=f[d];a(j.items,function(n){var o=true;n.setSelected(0);if(l&&!n.isDisabled()){a(k,function(p){if(p.id==n.id){if(!c(l,p)){o=false;return false}}});if(o){n.setSelected(1)}}});if(!l){j.items[h.id].setSelected(1)}}});j.add({id:f.editor.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle"}).setDisabled(1);a(f[d],function(k){k.id=f.editor.dom.uniqueId();j.add({id:k.id,title:k.title,onclick:function(){h=k;g()}})})});return e}},getInfo:function(){return{longname:"Advanced lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlist",tinymce.plugins.AdvListPlugin)})();
1
+ (function(){var a=tinymce.each;tinymce.create("tinymce.plugins.AdvListPlugin",{init:function(b,c){var d=this;d.editor=b;function e(g){var f=[];a(g.split(/,/),function(h){f.push({title:"advlist."+(h=="default"?"def":h.replace(/-/g,"_")),styles:{listStyleType:h=="default"?"":h}})});return f}d.numlist=b.getParam("advlist_number_styles")||e("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");d.bullist=b.getParam("advlist_bullet_styles")||e("default,circle,disc,square");if(tinymce.isIE&&/MSIE [2-7]/.test(navigator.userAgent)){d.isIE7=true}},createControl:function(d,b){var f=this,e,i,g=f.editor;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){i=f[d][0]}function c(j,l){var k=true;a(l.styles,function(n,m){if(g.dom.getStyle(j,m)!=n){k=false;return false}});return k}function h(){var k,l=g.dom,j=g.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,i)){g.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(i){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,i.styles);k.removeAttribute("data-mce-style")}}g.focus()}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){h()}});e.onRenderMenu.add(function(j,k){k.onHideMenu.add(function(){if(f.bookmark){g.selection.moveToBookmark(f.bookmark);f.bookmark=0}});k.onShowMenu.add(function(){var n=g.dom,m=n.getParent(g.selection.getNode(),"ol,ul"),l;if(m||i){l=f[d];a(k.items,function(o){var p=true;o.setSelected(0);if(m&&!o.isDisabled()){a(l,function(q){if(q.id==o.id){if(!c(m,q)){p=false;return false}}});if(p){o.setSelected(1)}}});if(!m){k.items[i.id].setSelected(1)}}g.focus();if(tinymce.isIE){f.bookmark=g.selection.getBookmark(1)}});k.add({id:g.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle",titleItem:true}).setDisabled(1);a(f[d],function(l){if(f.isIE7&&l.styles.listStyleType=="lower-greek"){return}l.id=g.dom.uniqueId();k.add({id:l.id,title:l.title,onclick:function(){i=l;h()}})})});return e}},getInfo:function(){return{longname:"Advanced lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlist",tinymce.plugins.AdvListPlugin)})();
@@ -35,10 +35,13 @@
35
35
  // Setup number formats from config or default
36
36
  t.numlist = ed.getParam("advlist_number_styles") || buildFormats("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");
37
37
  t.bullist = ed.getParam("advlist_bullet_styles") || buildFormats("default,circle,disc,square");
38
+
39
+ if (tinymce.isIE && /MSIE [2-7]/.test(navigator.userAgent))
40
+ t.isIE7 = true;
38
41
  },
39
42
 
40
43
  createControl: function(name, cm) {
41
- var t = this, btn, format;
44
+ var t = this, btn, format, editor = t.editor;
42
45
 
43
46
  if (name == 'numlist' || name == 'bullist') {
44
47
  // Default to first item if it's a default item
@@ -50,7 +53,7 @@
50
53
 
51
54
  each(format.styles, function(value, name) {
52
55
  // Format doesn't match
53
- if (t.editor.dom.getStyle(node, name) != value) {
56
+ if (editor.dom.getStyle(node, name) != value) {
54
57
  state = false;
55
58
  return false;
56
59
  }
@@ -60,24 +63,25 @@
60
63
  };
61
64
 
62
65
  function applyListFormat() {
63
- var list, ed = t.editor, dom = ed.dom, sel = ed.selection;
66
+ var list, dom = editor.dom, sel = editor.selection;
64
67
 
65
68
  // Check for existing list element
66
69
  list = dom.getParent(sel.getNode(), 'ol,ul');
67
70
 
68
71
  // Switch/add list type if needed
69
72
  if (!list || list.nodeName == (name == 'bullist' ? 'OL' : 'UL') || hasFormat(list, format))
70
- ed.execCommand(name == 'bullist' ? 'InsertUnorderedList' : 'InsertOrderedList');
73
+ editor.execCommand(name == 'bullist' ? 'InsertUnorderedList' : 'InsertOrderedList');
71
74
 
72
75
  // Append styles to new list element
73
76
  if (format) {
74
77
  list = dom.getParent(sel.getNode(), 'ol,ul');
75
-
76
78
  if (list) {
77
79
  dom.setStyles(list, format.styles);
78
- list.removeAttribute('_mce_style');
80
+ list.removeAttribute('data-mce-style');
79
81
  }
80
82
  }
83
+
84
+ editor.focus();
81
85
  };
82
86
 
83
87
  btn = cm.createSplitButton(name, {
@@ -89,8 +93,15 @@
89
93
  });
90
94
 
91
95
  btn.onRenderMenu.add(function(btn, menu) {
96
+ menu.onHideMenu.add(function() {
97
+ if (t.bookmark) {
98
+ editor.selection.moveToBookmark(t.bookmark);
99
+ t.bookmark = 0;
100
+ }
101
+ });
102
+
92
103
  menu.onShowMenu.add(function() {
93
- var dom = t.editor.dom, list = dom.getParent(t.editor.selection.getNode(), 'ol,ul'), fmtList;
104
+ var dom = editor.dom, list = dom.getParent(editor.selection.getNode(), 'ol,ul'), fmtList;
94
105
 
95
106
  if (list || format) {
96
107
  fmtList = t[name];
@@ -120,12 +131,23 @@
120
131
  if (!list)
121
132
  menu.items[format.id].setSelected(1);
122
133
  }
134
+
135
+ editor.focus();
136
+
137
+ // IE looses it's selection so store it away and restore it later
138
+ if (tinymce.isIE) {
139
+ t.bookmark = editor.selection.getBookmark(1);
140
+ }
123
141
  });
124
142
 
125
- menu.add({id : t.editor.dom.uniqueId(), title : 'advlist.types', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
143
+ menu.add({id : editor.dom.uniqueId(), title : 'advlist.types', 'class' : 'mceMenuItemTitle', titleItem: true}).setDisabled(1);
126
144
 
127
145
  each(t[name], function(item) {
128
- item.id = t.editor.dom.uniqueId();
146
+ // IE<8 doesn't support lower-greek, skip it
147
+ if (t.isIE7 && item.styles.listStyleType == 'lower-greek')
148
+ return;
149
+
150
+ item.id = editor.dom.uniqueId();
129
151
 
130
152
  menu.add({id : item.id, title : item.title, onclick : function() {
131
153
  format = item;
@@ -0,0 +1 @@
1
+ (function(){tinymce.create("tinymce.plugins.AutolinkPlugin",{init:function(a,b){var c=this;if(tinyMCE.isIE){return}a.onKeyDown.add(function(d,f){if(f.keyCode==13){return c.handleEnter(d)}});a.onKeyPress.add(function(d,f){if(f.which==41){return c.handleEclipse(d)}});a.onKeyUp.add(function(d,f){if(f.keyCode==32){return c.handleSpacebar(d)}})},handleEclipse:function(a){this.parseCurrentLine(a,-1,"(",true)},handleSpacebar:function(a){this.parseCurrentLine(a,0,"",true)},handleEnter:function(a){this.parseCurrentLine(a,-1,"",false)},parseCurrentLine:function(i,d,b,g){var a,f,c,n,k,m,h,e,j;a=i.selection.getRng().cloneRange();if(a.startOffset<5){e=a.endContainer.previousSibling;if(e==null){if(a.endContainer.firstChild==null||a.endContainer.firstChild.nextSibling==null){return}e=a.endContainer.firstChild.nextSibling}j=e.length;a.setStart(e,j);a.setEnd(e,j);if(a.endOffset<5){return}f=a.endOffset;n=e}else{n=a.endContainer;if(n.nodeType!=3&&n.firstChild){while(n.nodeType!=3&&n.firstChild){n=n.firstChild}a.setStart(n,0);a.setEnd(n,n.nodeValue.length)}if(a.endOffset==1){f=2}else{f=a.endOffset-1-d}}c=f;do{a.setStart(n,f-2);a.setEnd(n,f-1);f-=1}while(a.toString()!=" "&&a.toString()!=""&&a.toString().charCodeAt(0)!=160&&(f-2)>=0&&a.toString()!=b);if(a.toString()==b||a.toString().charCodeAt(0)==160){a.setStart(n,f);a.setEnd(n,c);f+=1}else{if(a.startOffset==0){a.setStart(n,0);a.setEnd(n,c)}else{a.setStart(n,f);a.setEnd(n,c)}}m=a.toString();h=m.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)(.+)$/i);if(h){if(h[1]=="www."){h[1]="http://www."}k=i.selection.getBookmark();i.selection.setRng(a);tinyMCE.execCommand("createlink",false,h[1]+h[2]);i.selection.moveToBookmark(k);if(tinyMCE.isWebKit){i.selection.collapse(false);var l=Math.min(n.length,c+1);a.setStart(n,l);a.setEnd(n,l);i.selection.setRng(a)}}},getInfo:function(){return{longname:"Autolink",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autolink",tinymce.plugins.AutolinkPlugin)})();
@@ -0,0 +1,172 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2011, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://tinymce.moxiecode.com/license
8
+ * Contributing: http://tinymce.moxiecode.com/contributing
9
+ */
10
+
11
+ (function() {
12
+ tinymce.create('tinymce.plugins.AutolinkPlugin', {
13
+ /**
14
+ * Initializes the plugin, this will be executed after the plugin has been created.
15
+ * This call is done before the editor instance has finished it's initialization so use the onInit event
16
+ * of the editor instance to intercept that event.
17
+ *
18
+ * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
19
+ * @param {string} url Absolute URL to where the plugin is located.
20
+ */
21
+
22
+ init : function(ed, url) {
23
+ var t = this;
24
+
25
+ // Internet Explorer has built-in automatic linking
26
+ if (tinyMCE.isIE)
27
+ return;
28
+
29
+ // Add a key down handler
30
+ ed.onKeyDown.add(function(ed, e) {
31
+ if (e.keyCode == 13)
32
+ return t.handleEnter(ed);
33
+ });
34
+
35
+ ed.onKeyPress.add(function(ed, e) {
36
+ if (e.which == 41)
37
+ return t.handleEclipse(ed);
38
+ });
39
+
40
+ // Add a key up handler
41
+ ed.onKeyUp.add(function(ed, e) {
42
+ if (e.keyCode == 32)
43
+ return t.handleSpacebar(ed);
44
+ });
45
+ },
46
+
47
+ handleEclipse : function(ed) {
48
+ this.parseCurrentLine(ed, -1, '(', true);
49
+ },
50
+
51
+ handleSpacebar : function(ed) {
52
+ this.parseCurrentLine(ed, 0, '', true);
53
+ },
54
+
55
+ handleEnter : function(ed) {
56
+ this.parseCurrentLine(ed, -1, '', false);
57
+ },
58
+
59
+ parseCurrentLine : function(ed, end_offset, delimiter, goback) {
60
+ var r, end, start, endContainer, bookmark, text, matches, prev, len;
61
+
62
+ // We need at least five characters to form a URL,
63
+ // hence, at minimum, five characters from the beginning of the line.
64
+ r = ed.selection.getRng().cloneRange();
65
+ if (r.startOffset < 5) {
66
+ // During testing, the caret is placed inbetween two text nodes.
67
+ // The previous text node contains the URL.
68
+ prev = r.endContainer.previousSibling;
69
+ if (prev == null) {
70
+ if (r.endContainer.firstChild == null || r.endContainer.firstChild.nextSibling == null)
71
+ return;
72
+
73
+ prev = r.endContainer.firstChild.nextSibling;
74
+ }
75
+ len = prev.length;
76
+ r.setStart(prev, len);
77
+ r.setEnd(prev, len);
78
+
79
+ if (r.endOffset < 5)
80
+ return;
81
+
82
+ end = r.endOffset;
83
+ endContainer = prev;
84
+ } else {
85
+ endContainer = r.endContainer;
86
+
87
+ // Get a text node
88
+ if (endContainer.nodeType != 3 && endContainer.firstChild) {
89
+ while (endContainer.nodeType != 3 && endContainer.firstChild)
90
+ endContainer = endContainer.firstChild;
91
+
92
+ r.setStart(endContainer, 0);
93
+ r.setEnd(endContainer, endContainer.nodeValue.length);
94
+ }
95
+
96
+ if (r.endOffset == 1)
97
+ end = 2;
98
+ else
99
+ end = r.endOffset - 1 - end_offset;
100
+ }
101
+
102
+ start = end;
103
+
104
+ do
105
+ {
106
+ // Move the selection one character backwards.
107
+ r.setStart(endContainer, end - 2);
108
+ r.setEnd(endContainer, end - 1);
109
+ end -= 1;
110
+
111
+ // Loop until one of the following is found: a blank space, &nbsp;, delimeter, (end-2) >= 0
112
+ } while (r.toString() != ' ' && r.toString() != '' && r.toString().charCodeAt(0) != 160 && (end -2) >= 0 && r.toString() != delimiter);
113
+
114
+ if (r.toString() == delimiter || r.toString().charCodeAt(0) == 160) {
115
+ r.setStart(endContainer, end);
116
+ r.setEnd(endContainer, start);
117
+ end += 1;
118
+ } else if (r.startOffset == 0) {
119
+ r.setStart(endContainer, 0);
120
+ r.setEnd(endContainer, start);
121
+ }
122
+ else {
123
+ r.setStart(endContainer, end);
124
+ r.setEnd(endContainer, start);
125
+ }
126
+
127
+ text = r.toString();
128
+ matches = text.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)(.+)$/i);
129
+
130
+ if (matches) {
131
+ if (matches[1] == 'www.') {
132
+ matches[1] = 'http://www.';
133
+ }
134
+
135
+ bookmark = ed.selection.getBookmark();
136
+
137
+ ed.selection.setRng(r);
138
+ tinyMCE.execCommand('createlink',false, matches[1] + matches[2]);
139
+ ed.selection.moveToBookmark(bookmark);
140
+
141
+ // TODO: Determine if this is still needed.
142
+ if (tinyMCE.isWebKit) {
143
+ // move the caret to its original position
144
+ ed.selection.collapse(false);
145
+ var max = Math.min(endContainer.length, start + 1);
146
+ r.setStart(endContainer, max);
147
+ r.setEnd(endContainer, max);
148
+ ed.selection.setRng(r);
149
+ }
150
+ }
151
+ },
152
+
153
+ /**
154
+ * Returns information about the plugin as a name/value array.
155
+ * The current keys are longname, author, authorurl, infourl and version.
156
+ *
157
+ * @return {Object} Name/value array containing information about the plugin.
158
+ */
159
+ getInfo : function() {
160
+ return {
161
+ longname : 'Autolink',
162
+ author : 'Moxiecode Systems AB',
163
+ authorurl : 'http://tinymce.moxiecode.com',
164
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink',
165
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
166
+ };
167
+ }
168
+ });
169
+
170
+ // Register plugin
171
+ tinymce.PluginManager.add('autolink', tinymce.plugins.AutolinkPlugin);
172
+ })();
@@ -1 +1 @@
1
- (function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this;if(a.getParam("fullscreen_is_enabled")){return}function b(){var h=a.getDoc(),e=h.body,j=h.documentElement,g=tinymce.DOM,i=d.autoresize_min_height,f;f=tinymce.isIE?e.scrollHeight:j.offsetHeight;if(f>d.autoresize_min_height){i=f}g.setStyle(g.get(a.id+"_ifr"),"height",i+"px");if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=a.getElement().offsetHeight;a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onInit.add(function(f,e){f.setProgressState(true);d.throbbing=true;f.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(f,e){b();setTimeout(function(){b();f.setProgressState(false);d.throbbing=false},1250)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})();
1
+ (function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this,e=0;if(a.getParam("fullscreen_is_enabled")){return}function b(){var i=a.getDoc(),f=i.body,k=i.documentElement,h=tinymce.DOM,j=d.autoresize_min_height,g;g=tinymce.isIE?f.scrollHeight:i.body.offsetHeight;if(g>d.autoresize_min_height){j=g}if(d.autoresize_max_height&&g>d.autoresize_max_height){j=d.autoresize_max_height;a.getBody().style.overflowY="auto"}else{a.getBody().style.overflowY="hidden"}if(j!==e){h.setStyle(h.get(a.id+"_ifr"),"height",j+"px");e=j}if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight));d.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0));a.onInit.add(function(f){f.dom.setStyle(f.getBody(),"paddingBottom",f.getParam("autoresize_bottom_margin",50)+"px")});a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onInit.add(function(g,f){g.setProgressState(true);d.throbbing=true;g.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(g,f){b();setTimeout(function(){b();g.setProgressState(false);d.throbbing=false},1250)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})();
@@ -26,7 +26,7 @@
26
26
  * @param {string} url Absolute URL to where the plugin is located.
27
27
  */
28
28
  init : function(ed, url) {
29
- var t = this;
29
+ var t = this, oldSize = 0;
30
30
 
31
31
  if (ed.getParam('fullscreen_is_enabled'))
32
32
  return;
@@ -38,14 +38,24 @@
38
38
  var d = ed.getDoc(), b = d.body, de = d.documentElement, DOM = tinymce.DOM, resizeHeight = t.autoresize_min_height, myHeight;
39
39
 
40
40
  // Get height differently depending on the browser used
41
- myHeight = tinymce.isIE ? b.scrollHeight : de.offsetHeight;
41
+ myHeight = tinymce.isIE ? b.scrollHeight : d.body.offsetHeight;
42
42
 
43
43
  // Don't make it smaller than the minimum height
44
44
  if (myHeight > t.autoresize_min_height)
45
45
  resizeHeight = myHeight;
46
46
 
47
+ // If a maximum height has been defined don't exceed this height
48
+ if (t.autoresize_max_height && myHeight > t.autoresize_max_height) {
49
+ resizeHeight = t.autoresize_max_height;
50
+ ed.getBody().style.overflowY = "auto";
51
+ } else
52
+ ed.getBody().style.overflowY = "hidden";
53
+
47
54
  // Resize content element
48
- DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px');
55
+ if (resizeHeight !== oldSize) {
56
+ DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px');
57
+ oldSize = resizeHeight;
58
+ }
49
59
 
50
60
  // if we're throbbing, we'll re-throb to match the new size
51
61
  if (t.throbbing) {
@@ -57,7 +67,15 @@
57
67
  t.editor = ed;
58
68
 
59
69
  // Define minimum height
60
- t.autoresize_min_height = ed.getElement().offsetHeight;
70
+ t.autoresize_min_height = parseInt( ed.getParam('autoresize_min_height', ed.getElement().offsetHeight) );
71
+
72
+ // Define maximum height
73
+ t.autoresize_max_height = parseInt( ed.getParam('autoresize_max_height', 0) );
74
+
75
+ // Add padding at the bottom for better UX
76
+ ed.onInit.add(function(ed){
77
+ ed.dom.setStyle(ed.getBody(), 'paddingBottom', ed.getParam('autoresize_bottom_margin', 50) + 'px');
78
+ });
61
79
 
62
80
  // Add appropriate listeners for resizing content area
63
81
  ed.onChange.add(resize);
@@ -116,4 +134,4 @@
116
134
 
117
135
  // Register plugin
118
136
  tinymce.PluginManager.add('autoresize', tinymce.plugins.AutoResizePlugin);
119
- })();
137
+ })();
@@ -1 +1 @@
1
- (function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent({draft:true}).replace(/\s|&nbsp;|<\/?p[^>]*>|<br[^>]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){h.storeDraft();i.nodeChanged()},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();m.save("TinyMCE")},getItem:function(l){var m=i.getElement();m.load("TinyMCE");return m.getAttribute(l)},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent({draft:true});if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,i=h.storage;if(i){content=i.getItem(h.key);if(content){h.editor.setContent(content);h.onRestoreDraft.dispatch(h,{content:content})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()<i.getTime()){return b}h.removeDraft()}else{return b}}}return false},removeDraft:function(){var h=this,k=h.storage,i=h.key,j;if(k){j=k.getItem(i);k.removeItem(i);k.removeItem(i+"_expires");if(j){h.onRemoveDraft.dispatch(h,{content:j})}}},"static":{_beforeUnloadHandler:function(h){var i;e.each(tinyMCE.editors,function(j){if(j.plugins.autosave){j.plugins.autosave.storeDraft()}if(j.getParam("fullscreen_is_enabled")){return}if(!i&&j.isDirty()&&j.getParam("autosave_ask_before_unload")){i=j.getLang("autosave.unload_msg")}});return i}}});e.PluginManager.add("autosave",e.plugins.AutoSave)})(tinymce);
1
+ (function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent({draft:true}).replace(/\s|&nbsp;|<\/?p[^>]*>|<br[^>]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){h.storeDraft();i.nodeChanged()},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();try{m.save("TinyMCE")}catch(o){}},getItem:function(l){var m=i.getElement();try{m.load("TinyMCE");return m.getAttribute(l)}catch(n){return null}},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent({draft:true});if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,j=h.storage,i;if(j){i=j.getItem(h.key);if(i){h.editor.setContent(i);h.onRestoreDraft.dispatch(h,{content:i})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()<i.getTime()){return b}h.removeDraft()}else{return b}}}return false},removeDraft:function(){var h=this,k=h.storage,i=h.key,j;if(k){j=k.getItem(i);k.removeItem(i);k.removeItem(i+"_expires");if(j){h.onRemoveDraft.dispatch(h,{content:j})}}},"static":{_beforeUnloadHandler:function(h){var i;e.each(tinyMCE.editors,function(j){if(j.plugins.autosave){j.plugins.autosave.storeDraft()}if(j.getParam("fullscreen_is_enabled")){return}if(!i&&j.isDirty()&&j.getParam("autosave_ask_before_unload")){i=j.getLang("autosave.unload_msg")}});return i}}});e.PluginManager.add("autosave",e.plugins.AutoSave)})(tinymce);
@@ -257,15 +257,24 @@
257
257
 
258
258
  userDataElement.setAttribute(key, value);
259
259
  userDataElement.expires = self.getExpDate();
260
- userDataElement.save("TinyMCE");
260
+
261
+ try {
262
+ userDataElement.save("TinyMCE");
263
+ } catch (e) {
264
+ // Ignore, saving might fail if "Userdata Persistence" is disabled in IE
265
+ }
261
266
  },
262
267
 
263
268
  getItem : function(key) {
264
269
  var userDataElement = ed.getElement();
265
270
 
266
- userDataElement.load("TinyMCE");
267
-
268
- return userDataElement.getAttribute(key);
271
+ try {
272
+ userDataElement.load("TinyMCE");
273
+ return userDataElement.getAttribute(key);
274
+ } catch (e) {
275
+ // Ignore, loading might fail if "Userdata Persistence" is disabled in IE
276
+ return null;
277
+ }
269
278
  },
270
279
 
271
280
  removeItem : function(key) {
@@ -326,7 +335,7 @@
326
335
  * @method restoreDraft
327
336
  */
328
337
  restoreDraft : function() {
329
- var self = this, storage = self.storage;
338
+ var self = this, storage = self.storage, content;
330
339
 
331
340
  if (storage) {
332
341
  content = storage.getItem(self.key);
@@ -1 +1 @@
1
- (function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(a,b){var d=this,c=a.getParam("bbcode_dialect","punbb").toLowerCase();a.onBeforeSetContent.add(function(e,f){f.content=d["_"+c+"_bbcode2html"](f.content)});a.onPostProcess.add(function(e,f){if(f.set){f.content=d["_"+c+"_bbcode2html"](f.content)}if(f.get){f.content=d["_"+c+"_html2bbcode"](f.content)}})},getInfo:function(){return{longname:"BBCode Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_punbb_html2bbcode:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");b(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");b(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");b(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]");b(/<font>(.*?)<\/font>/gi,"$1");b(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");b(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");b(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");b(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");b(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");b(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");b(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");b(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");b(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");b(/<\/(strong|b)>/gi,"[/b]");b(/<(strong|b)>/gi,"[b]");b(/<\/(em|i)>/gi,"[/i]");b(/<(em|i)>/gi,"[i]");b(/<\/u>/gi,"[/u]");b(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]");b(/<u>/gi,"[u]");b(/<blockquote[^>]*>/gi,"[quote]");b(/<\/blockquote>/gi,"[/quote]");b(/<br \/>/gi,"\n");b(/<br\/>/gi,"\n");b(/<br>/gi,"\n");b(/<p>/gi,"");b(/<\/p>/gi,"\n");b(/&nbsp;/gi," ");b(/&quot;/gi,'"');b(/&lt;/gi,"<");b(/&gt;/gi,">");b(/&amp;/gi,"&");return a},_punbb_bbcode2html:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/\n/gi,"<br />");b(/\[b\]/gi,"<strong>");b(/\[\/b\]/gi,"</strong>");b(/\[i\]/gi,"<em>");b(/\[\/i\]/gi,"</em>");b(/\[u\]/gi,"<u>");b(/\[\/u\]/gi,"</u>");b(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>');b(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>');b(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />');b(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>');b(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span>&nbsp;');b(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span>&nbsp;');return a}});tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)})();
1
+ (function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(a,b){var d=this,c=a.getParam("bbcode_dialect","punbb").toLowerCase();a.onBeforeSetContent.add(function(e,f){f.content=d["_"+c+"_bbcode2html"](f.content)});a.onPostProcess.add(function(e,f){if(f.set){f.content=d["_"+c+"_bbcode2html"](f.content)}if(f.get){f.content=d["_"+c+"_html2bbcode"](f.content)}})},getInfo:function(){return{longname:"BBCode Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_punbb_html2bbcode:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");b(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");b(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");b(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]");b(/<font>(.*?)<\/font>/gi,"$1");b(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");b(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");b(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");b(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");b(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");b(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");b(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");b(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");b(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");b(/<\/(strong|b)>/gi,"[/b]");b(/<(strong|b)>/gi,"[b]");b(/<\/(em|i)>/gi,"[/i]");b(/<(em|i)>/gi,"[i]");b(/<\/u>/gi,"[/u]");b(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]");b(/<u>/gi,"[u]");b(/<blockquote[^>]*>/gi,"[quote]");b(/<\/blockquote>/gi,"[/quote]");b(/<br \/>/gi,"\n");b(/<br\/>/gi,"\n");b(/<br>/gi,"\n");b(/<p>/gi,"");b(/<\/p>/gi,"\n");b(/&nbsp;|\u00a0/gi," ");b(/&quot;/gi,'"');b(/&lt;/gi,"<");b(/&gt;/gi,">");b(/&amp;/gi,"&");return a},_punbb_bbcode2html:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/\n/gi,"<br />");b(/\[b\]/gi,"<strong>");b(/\[\/b\]/gi,"</strong>");b(/\[i\]/gi,"<em>");b(/\[\/i\]/gi,"</em>");b(/\[u\]/gi,"<u>");b(/\[\/u\]/gi,"</u>");b(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>');b(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>');b(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />');b(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>');b(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span>&nbsp;');b(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span>&nbsp;');return a}});tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)})();
@@ -79,7 +79,7 @@
79
79
  rep(/<br>/gi,"\n");
80
80
  rep(/<p>/gi,"");
81
81
  rep(/<\/p>/gi,"\n");
82
- rep(/&nbsp;/gi," ");
82
+ rep(/&nbsp;|\u00a0/gi," ");
83
83
  rep(/&quot;/gi,"\"");
84
84
  rep(/&lt;/gi,"<");
85
85
  rep(/&gt;/gi,">");
@@ -1 +1 @@
1
- (function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(d){var f=this,g;f.editor=d;f.onContextMenu=new tinymce.util.Dispatcher(this);d.onContextMenu.add(function(h,i){if(!i.ctrlKey){if(g){h.selection.setRng(g)}f._getMenu(h).showMenu(i.clientX,i.clientY);a.add(h.getDoc(),"click",function(j){e(h,j)});a.cancel(i)}});d.onRemove.add(function(){if(f._menu){f._menu.removeAll()}});function e(h,i){g=null;if(i&&i.button==2){g=h.selection.getRng();return}if(f._menu){f._menu.removeAll();f._menu.destroy();a.remove(h.getDoc(),"click",e)}}d.onMouseDown.add(e);d.onKeyDown.add(e)},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(h){var l=this,f=l._menu,i=h.selection,e=i.isCollapsed(),d=i.getNode()||h.getBody(),g,k,j;if(f){f.removeAll();f.destroy()}k=b.getPos(h.getContentAreaContainer());j=b.getPos(h.getContainer());f=h.controlManager.createDropMenu("contextmenu",{offset_x:k.x+h.getParam("contextmenu_offset_x",0),offset_y:k.y+h.getParam("contextmenu_offset_y",0),constrain:1});l._menu=f;f.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(e);f.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(e);f.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((d.nodeName=="A"&&!h.dom.getAttrib(d,"name"))||!e){f.addSeparator();f.add({title:"advanced.link_desc",icon:"link",cmd:h.plugins.advlink?"mceAdvLink":"mceLink",ui:true});f.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}f.addSeparator();f.add({title:"advanced.image_desc",icon:"image",cmd:h.plugins.advimage?"mceAdvImage":"mceImage",ui:true});f.addSeparator();g=f.addMenu({title:"contextmenu.align"});g.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});g.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});g.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});g.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});l.onContextMenu.dispatch(l,f,d,e);return f}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})();
1
+ (function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(e){var h=this,f,d,i;h.editor=e;d=e.settings.contextmenu_never_use_native;h.onContextMenu=new tinymce.util.Dispatcher(this);f=e.onContextMenu.add(function(j,k){if((i!==0?i:k.ctrlKey)&&!d){return}a.cancel(k);if(k.target.nodeName=="IMG"){j.selection.select(k.target)}h._getMenu(j).showMenu(k.clientX||k.pageX,k.clientY||k.pageY);a.add(j.getDoc(),"click",function(l){g(j,l)});j.nodeChanged()});e.onRemove.add(function(){if(h._menu){h._menu.removeAll()}});function g(j,k){i=0;if(k&&k.button==2){i=k.ctrlKey;return}if(h._menu){h._menu.removeAll();h._menu.destroy();a.remove(j.getDoc(),"click",g)}}e.onMouseDown.add(g);e.onKeyDown.add(g);e.onKeyDown.add(function(j,k){if(k.shiftKey&&!k.ctrlKey&&!k.altKey&&k.keyCode===121){a.cancel(k);f(j,k)}})},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(e){var g=this,d=g._menu,j=e.selection,f=j.isCollapsed(),h=j.getNode()||e.getBody(),i,k;if(d){d.removeAll();d.destroy()}k=b.getPos(e.getContentAreaContainer());d=e.controlManager.createDropMenu("contextmenu",{offset_x:k.x+e.getParam("contextmenu_offset_x",0),offset_y:k.y+e.getParam("contextmenu_offset_y",0),constrain:1,keyboard_focus:true});g._menu=d;d.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(f);d.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(f);d.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((h.nodeName=="A"&&!e.dom.getAttrib(h,"name"))||!f){d.addSeparator();d.add({title:"advanced.link_desc",icon:"link",cmd:e.plugins.advlink?"mceAdvLink":"mceLink",ui:true});d.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}d.addSeparator();d.add({title:"advanced.image_desc",icon:"image",cmd:e.plugins.advimage?"mceAdvImage":"mceImage",ui:true});d.addSeparator();i=d.addMenu({title:"contextmenu.align"});i.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});i.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});i.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});i.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});g.onContextMenu.dispatch(g,d,h,f);return d}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})();
@@ -27,10 +27,12 @@
27
27
  * @param {string} url Absolute URL to where the plugin is located.
28
28
  */
29
29
  init : function(ed) {
30
- var t = this, lastRng;
30
+ var t = this, showMenu, contextmenuNeverUseNative, realCtrlKey;
31
31
 
32
32
  t.editor = ed;
33
33
 
34
+ contextmenuNeverUseNative = ed.settings.contextmenu_never_use_native;
35
+
34
36
  /**
35
37
  * This event gets fired when the context menu is shown.
36
38
  *
@@ -40,18 +42,23 @@
40
42
  */
41
43
  t.onContextMenu = new tinymce.util.Dispatcher(this);
42
44
 
43
- ed.onContextMenu.add(function(ed, e) {
44
- if (!e.ctrlKey) {
45
- // Restore the last selection since it was removed
46
- if (lastRng)
47
- ed.selection.setRng(lastRng);
45
+ showMenu = ed.onContextMenu.add(function(ed, e) {
46
+ // Block TinyMCE menu on ctrlKey and work around Safari issue
47
+ if ((realCtrlKey !== 0 ? realCtrlKey : e.ctrlKey) && !contextmenuNeverUseNative)
48
+ return;
48
49
 
49
- t._getMenu(ed).showMenu(e.clientX, e.clientY);
50
- Event.add(ed.getDoc(), 'click', function(e) {
51
- hide(ed, e);
52
- });
53
- Event.cancel(e);
54
- }
50
+ Event.cancel(e);
51
+
52
+ // Select the image if it's clicked. WebKit would other wise expand the selection
53
+ if (e.target.nodeName == 'IMG')
54
+ ed.selection.select(e.target);
55
+
56
+ t._getMenu(ed).showMenu(e.clientX || e.pageX, e.clientY || e.pageY);
57
+ Event.add(ed.getDoc(), 'click', function(e) {
58
+ hide(ed, e);
59
+ });
60
+
61
+ ed.nodeChanged();
55
62
  });
56
63
 
57
64
  ed.onRemove.add(function() {
@@ -60,12 +67,12 @@
60
67
  });
61
68
 
62
69
  function hide(ed, e) {
63
- lastRng = null;
70
+ realCtrlKey = 0;
64
71
 
65
72
  // Since the contextmenu event moves
66
73
  // the selection we need to store it away
67
74
  if (e && e.button == 2) {
68
- lastRng = ed.selection.getRng();
75
+ realCtrlKey = e.ctrlKey;
69
76
  return;
70
77
  }
71
78
 
@@ -78,6 +85,12 @@
78
85
 
79
86
  ed.onMouseDown.add(hide);
80
87
  ed.onKeyDown.add(hide);
88
+ ed.onKeyDown.add(function(ed, e) {
89
+ if (e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode === 121) {
90
+ Event.cancel(e);
91
+ showMenu(ed, e);
92
+ }
93
+ });
81
94
  },
82
95
 
83
96
  /**
@@ -98,20 +111,20 @@
98
111
  },
99
112
 
100
113
  _getMenu : function(ed) {
101
- var t = this, m = t._menu, se = ed.selection, col = se.isCollapsed(), el = se.getNode() || ed.getBody(), am, p1, p2;
114
+ var t = this, m = t._menu, se = ed.selection, col = se.isCollapsed(), el = se.getNode() || ed.getBody(), am, p;
102
115
 
103
116
  if (m) {
104
117
  m.removeAll();
105
118
  m.destroy();
106
119
  }
107
120
 
108
- p1 = DOM.getPos(ed.getContentAreaContainer());
109
- p2 = DOM.getPos(ed.getContainer());
121
+ p = DOM.getPos(ed.getContentAreaContainer());
110
122
 
111
123
  m = ed.controlManager.createDropMenu('contextmenu', {
112
- offset_x : p1.x + ed.getParam('contextmenu_offset_x', 0),
113
- offset_y : p1.y + ed.getParam('contextmenu_offset_y', 0),
114
- constrain : 1
124
+ offset_x : p.x + ed.getParam('contextmenu_offset_x', 0),
125
+ offset_y : p.y + ed.getParam('contextmenu_offset_y', 0),
126
+ constrain : 1,
127
+ keyboard_focus: true
115
128
  });
116
129
 
117
130
  t._menu = m;
@@ -144,4 +157,4 @@
144
157
 
145
158
  // Register plugin
146
159
  tinymce.PluginManager.add('contextmenu', tinymce.plugins.ContextMenu);
147
- })();
160
+ })();