skylinecms 3.0.8 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. data/CHANGELOG +131 -10
  2. data/README.md +1 -2
  3. data/Rakefile +3 -3
  4. data/app/controllers/skyline/application_controller.rb +40 -4
  5. data/app/controllers/skyline/articles_controller.rb +4 -4
  6. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +1 -1
  7. data/app/controllers/skyline/content_controller.rb +4 -3
  8. data/app/controllers/skyline/{media_files_data_controller.rb → media/data_controller.rb} +61 -59
  9. data/app/controllers/skyline/media/dirs_controller.rb +83 -0
  10. data/app/controllers/skyline/media/files_controller.rb +80 -0
  11. data/app/controllers/skyline/sections_controller.rb +10 -3
  12. data/app/controllers/skyline/settings_controller.rb +4 -2
  13. data/app/controllers/skyline/user_preferences_controller.rb +18 -0
  14. data/app/controllers/skyline/users_controller.rb +1 -1
  15. data/app/controllers/skyline/variant_current_editor_controller.rb +2 -0
  16. data/app/helpers/skyline/application_helper.rb +39 -35
  17. data/app/helpers/skyline/dialog_helper.rb +11 -10
  18. data/app/helpers/skyline/editors/boolean.rb +2 -2
  19. data/app/helpers/skyline/editors/page_browser.rb +2 -0
  20. data/app/helpers/skyline/editors/wysiwyg.rb +1 -1
  21. data/app/helpers/skyline/js_layout_helper.rb +19 -0
  22. data/app/helpers/skyline/media/dirs_helper.rb +2 -0
  23. data/app/helpers/skyline/media/files_helper.rb +6 -0
  24. data/app/helpers/skyline/media_files_helper.rb +2 -2
  25. data/app/helpers/skyline/menu_helper.rb +33 -0
  26. data/app/helpers/skyline/message_generator.rb +5 -1
  27. data/app/helpers/skyline/notification_generator.rb +6 -0
  28. data/app/helpers/skyline/plugin_helper.rb +21 -0
  29. data/app/helpers/skyline/presenters/presenter.rb +4 -13
  30. data/app/helpers/skyline/presenters/table.rb +0 -27
  31. data/app/helpers/skyline/ref_object_helper.rb +2 -2
  32. data/app/helpers/skyline/tree_helper.rb +74 -5
  33. data/app/models/skyline/article.rb +18 -6
  34. data/app/models/skyline/article_version.rb +1 -1
  35. data/app/models/skyline/image_ref.rb +9 -5
  36. data/app/models/skyline/inline_ref.rb +3 -2
  37. data/app/models/skyline/link_section_link.rb +2 -2
  38. data/app/models/skyline/media_file.rb +33 -10
  39. data/app/models/skyline/page.rb +10 -9
  40. data/app/models/skyline/section.rb +1 -1
  41. data/app/models/skyline/sections/content_collection_section.rb +1 -1
  42. data/app/models/skyline/sections/content_item_section.rb +1 -1
  43. data/app/models/skyline/sections/heading_section.rb +1 -1
  44. data/app/models/skyline/sections/iframe_section.rb +2 -2
  45. data/app/models/skyline/sections/link_section.rb +1 -1
  46. data/app/models/skyline/sections/media_section.rb +32 -5
  47. data/app/models/skyline/sections/page_fragment_section.rb +1 -1
  48. data/app/models/skyline/sections/raw_section.rb +1 -1
  49. data/app/models/skyline/sections/redirect_section.rb +4 -4
  50. data/app/models/skyline/sections/rss_section.rb +7 -2
  51. data/app/models/skyline/sections/splitter_section.rb +1 -1
  52. data/app/models/skyline/sections/wysiwyg_section.rb +3 -3
  53. data/app/models/skyline/site.rb +1 -1
  54. data/app/models/skyline/user.rb +1 -1
  55. data/app/models/skyline/user_preference.rb +69 -0
  56. data/app/models/skyline/variant.rb +1 -1
  57. data/app/templates/skyline/sections/content_item_section/default/index.html.erb +1 -1
  58. data/app/templates/skyline/sections/media_section/default/index.html.erb +9 -9
  59. data/app/views/skyline/articles/_list.html.erb +34 -0
  60. data/app/views/skyline/articles/edit.html.erb +13 -6
  61. data/app/views/skyline/articles/index.html.erb +12 -43
  62. data/app/views/skyline/articles/page/_index.html.erb +13 -11
  63. data/app/views/skyline/authentications/new.html.erb +2 -2
  64. data/app/views/skyline/browser/links/_index.html.erb +4 -2
  65. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +12 -13
  66. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +122 -51
  67. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +7 -7
  68. data/app/views/skyline/content/list.rhtml +1 -3
  69. data/app/views/skyline/content/presenters/_table.html.erb +45 -0
  70. data/app/views/skyline/layouts/content.html.erb +1 -1
  71. data/app/views/skyline/layouts/media.html.erb +2 -1
  72. data/app/views/skyline/layouts/pages.html.erb +10 -0
  73. data/app/views/skyline/link_section_links/_form.html.erb +0 -1
  74. data/app/views/skyline/locales/show.js.erb +2 -2
  75. data/app/views/skyline/media/dirs/_edit.html.erb +42 -0
  76. data/app/views/skyline/media/dirs/_index.html.erb +14 -0
  77. data/app/views/skyline/media/dirs/_show.html.erb +34 -0
  78. data/app/views/skyline/media/dirs/index.html.erb +36 -0
  79. data/app/views/skyline/media/files/_edit.html.erb +101 -0
  80. data/app/views/skyline/media/files/_index.html.erb +68 -0
  81. data/app/views/skyline/media/files/_new.html.erb +45 -0
  82. data/app/views/skyline/publications/_index.html.erb +2 -2
  83. data/app/views/skyline/sections/_media_section.html.erb +12 -2
  84. data/app/views/skyline/sections/_wysiwyg_section.html.erb +2 -3
  85. data/app/views/skyline/settings/index.html +14 -0
  86. data/app/views/skyline/shared/_head.html.erb +2 -0
  87. data/app/views/skyline/shared/_header_area.html.erb +7 -5
  88. data/app/views/skyline/users/index.html.erb +31 -16
  89. data/config/initializers/dependencies.rb +6 -1
  90. data/config/initializers/observers.rb +1 -2
  91. data/config/initializers/rails_defaults.rb +1 -1
  92. data/config/locales/en-US.yml +110 -68
  93. data/config/locales/nl-NL.yml +117 -77
  94. data/config/routes.rb +36 -32
  95. data/db/fixtures/roles_and_rights.rb +65 -40
  96. data/db/migrate/20090302102548_add_media_nodes.rb +2 -2
  97. data/db/migrate/20090309133933_add_description_to_media_nodes.rb +2 -2
  98. data/db/migrate/20090309134731_add_tags.rb +2 -2
  99. data/db/migrate/20090309135746_create_media_files_tags.rb +2 -2
  100. data/db/migrate/20090319091342_create_media_caches.rb +2 -2
  101. data/db/migrate/20090327083240_create_users.rb +2 -2
  102. data/db/migrate/20090327084656_create_roles.rb +2 -2
  103. data/db/migrate/20090327084719_create_rights.rb +2 -2
  104. data/db/migrate/20090327084739_create_grants.rb +2 -2
  105. data/db/migrate/20090327090918_create_rights_roles.rb +2 -2
  106. data/db/migrate/20090408115155_create_ref_objects.rb +2 -2
  107. data/db/migrate/20090504140044_create_test_sections.rb +2 -2
  108. data/db/migrate/20090506083107_add_refering_column_name_to_ref_objects.rb +2 -2
  109. data/db/migrate/20090706124019_add_skyline_media_node_title.rb +1 -1
  110. data/db/migrate/20090904121447_create_skyline_referable_uris.rb +6 -6
  111. data/db/migrate/20091221145204_add_skyline_media_section_link.rb +11 -0
  112. data/db/migrate/20100109145958_add_associated_tags_index.rb +9 -0
  113. data/db/migrate/20100115111440_create_skyline_user_preferences.rb +14 -0
  114. data/db/migrate/20100120113953_remove_unused_articles_index.rb +9 -0
  115. data/db/migrate/20100409073447_change_referable_uri_to_text.rb +9 -0
  116. data/doc/Bundler.md +33 -28
  117. data/doc/MIGRATION.md +48 -0
  118. data/lib/skyline/{content_item.rb → belongs_to_referable.rb} +57 -88
  119. data/lib/skyline/configuration.rb +14 -15
  120. data/lib/skyline/content/content.rb +14 -2
  121. data/lib/skyline/deprecated/version3_0_8.rb +106 -0
  122. data/lib/skyline/{form_builder_with_errors.rb → form_builder.rb} +5 -5
  123. data/lib/skyline/{referable.rb → has_many_referables_in.rb} +22 -12
  124. data/lib/skyline/javascript_generator_methods.rb +1 -1
  125. data/lib/skyline/plugins_manager.rb +135 -14
  126. data/lib/skyline/rendering/helpers/renderer_helper.rb +14 -9
  127. data/lib/skyline/{renderer.rb → rendering/renderer.rb} +3 -4
  128. data/lib/skyline/{renderable_scope_interface.rb → rendering/scopes/interface.rb} +1 -1
  129. data/lib/skyline/{wildcard_renderable_scope.rb → rendering/scopes/wildcard.rb} +3 -3
  130. data/lib/skyline/{section_item.rb → sections/interface.rb} +17 -10
  131. data/lib/skyline/settings.rb +29 -19
  132. data/lib/skyline/taggable.rb +3 -3
  133. data/lib/skyline/version.rb +2 -2
  134. data/{tasks → lib/tasks}/database.rake +14 -2
  135. data/{tasks → lib/tasks}/implementation.rake +0 -0
  136. data/lib/tasks/testing.rake +41 -0
  137. data/public/skyline/images/backgrounds/panel-dt.gif +0 -0
  138. data/public/skyline/javascripts/src/application.js +114 -120
  139. data/public/skyline/javascripts/src/browser.js +22 -4
  140. data/public/skyline/javascripts/src/library_uploader.js +13 -3
  141. data/public/skyline/javascripts/src/sections.js +57 -6
  142. data/public/skyline/javascripts/src/skyline/src/dialog.js +6 -0
  143. data/public/skyline/javascripts/src/skyline/src/drag.js +6 -0
  144. data/public/skyline/javascripts/src/skyline/src/events.js +50 -0
  145. data/public/skyline/javascripts/src/skyline/src/field_replicator.js +12 -11
  146. data/public/skyline/javascripts/src/skyline/src/layout.js +172 -30
  147. data/public/skyline/javascripts/src/skyline/src/menu.js +3 -0
  148. data/public/skyline/javascripts/src/skyline/src/menubutton.js +3 -0
  149. data/public/skyline/javascripts/src/skyline/src/skyline.js +3 -0
  150. data/public/skyline/javascripts/src/skyline/src/table.js +398 -0
  151. data/public/skyline/javascripts/src/skyline/src/tabs.js +2 -2
  152. data/public/skyline/javascripts/src/skyline/src/tag_selector.js +34 -26
  153. data/public/skyline/javascripts/src/skyline/src/tree.js +3 -0
  154. data/public/skyline/javascripts/src/skyline/src/uploader.js +2 -2
  155. data/public/skyline/javascripts/src/skyline/src/utils.js +3 -0
  156. data/public/skyline/javascripts/src/skyline/test/_dynamic_right.html +24 -0
  157. data/public/skyline/javascripts/src/skyline/test/_right_content.html +1 -0
  158. data/public/skyline/javascripts/src/skyline/test/basic_layout.html +190 -0
  159. data/public/skyline/javascripts/src/skyline/test/dialog.html +101 -0
  160. data/public/skyline/javascripts/src/skyline/test/draggablefiles.html +196 -0
  161. data/public/skyline/javascripts/src/skyline/test/dynamic_layout.html +89 -0
  162. data/public/skyline/javascripts/src/skyline/test/field_replicator.html +60 -0
  163. data/public/skyline/javascripts/src/skyline/test/last-closed.gif +0 -0
  164. data/public/skyline/javascripts/src/skyline/test/last-open.gif +0 -0
  165. data/public/skyline/javascripts/src/skyline/test/menubutton.html +81 -0
  166. data/public/skyline/javascripts/src/skyline/test/middle.gif +0 -0
  167. data/public/skyline/javascripts/src/skyline/test/sortable.html +121 -0
  168. data/public/skyline/javascripts/src/skyline/test/table.html +521 -0
  169. data/public/skyline/javascripts/src/skyline/test/tagselector.html +72 -0
  170. data/public/skyline/javascripts/src/skyline/test/toggle.html +95 -0
  171. data/public/skyline/javascripts/src/skyline/test/tree.html +310 -0
  172. data/public/skyline/javascripts/src/skyline/test/tree.png +0 -0
  173. data/public/skyline/javascripts/src/skyline/test/undohtml.css +27 -0
  174. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.js +2 -2
  175. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +1 -354
  176. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +64 -52
  177. data/public/skyline/javascripts/src/skyline.editor/assets/content.css +1 -1
  178. data/public/skyline/javascripts/src/skyline.editor/src/script_loader.js +156 -75
  179. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +14 -4
  180. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +8 -0
  181. data/public/skyline/javascripts/src/skyline.editor/test/dialog.html +28 -0
  182. data/public/skyline/javascripts/src/skyline.editor/test/lorem.html +7 -0
  183. data/public/skyline/javascripts/src/skyline.editor/test/multiple_editors.html +87 -0
  184. data/public/skyline/javascripts/src/skyline.editor/test/undohtml.css +27 -0
  185. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +205 -0
  186. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/content.css +54 -0
  187. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/custom_formats.html +111 -0
  188. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +19 -3
  189. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +1 -0
  190. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/simple.html +6 -2
  191. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +14 -10
  192. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +7 -3
  193. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +8 -4
  194. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +18 -2
  195. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +6 -3
  196. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +2 -7
  197. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +6 -3
  198. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +2 -7
  199. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +1 -1
  200. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +6 -3
  201. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +1 -1
  202. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +2 -7
  203. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  204. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
  205. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -1
  206. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +52 -44
  207. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -1
  208. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +388 -17
  209. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
  210. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +6 -3
  211. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -1
  212. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +58 -6
  213. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +6 -3
  214. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -1
  215. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +8 -5
  216. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm +2 -7
  217. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js +6 -3
  218. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -1
  219. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +10 -3
  220. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +2 -7
  221. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +18 -8
  222. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -1
  223. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +12 -6
  224. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -1
  225. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +6 -3
  226. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +6 -3
  227. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +6 -3
  228. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +6 -3
  229. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  230. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  231. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -1
  232. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +18 -9
  233. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +2 -7
  234. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -1
  235. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +7 -4
  236. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +6 -3
  237. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +6 -3
  238. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -1
  239. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +564 -124
  240. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +2 -8
  241. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +2 -8
  242. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +6 -3
  243. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +6 -3
  244. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +6 -3
  245. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -1
  246. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +7 -4
  247. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +4 -0
  248. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +4 -9
  249. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -1
  250. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +106 -27
  251. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +6 -3
  252. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +4 -11
  253. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -1
  254. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +7 -4
  255. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +2 -7
  256. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -1
  257. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +921 -918
  258. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +41 -24
  259. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js +18 -20
  260. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +48 -23
  261. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +24 -15
  262. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +3 -8
  263. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +2 -7
  264. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +2 -7
  265. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +1 -1
  266. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js +10 -7
  267. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/template.htm +2 -9
  268. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -1
  269. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +26 -16
  270. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
  271. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
  272. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +3 -10
  273. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +3 -10
  274. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +2 -7
  275. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +3 -10
  276. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +3 -11
  277. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -1
  278. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +11 -15
  279. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +3 -11
  280. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +8 -5
  281. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +7 -4
  282. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +7 -4
  283. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +7 -4
  284. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +7 -4
  285. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +8 -8
  286. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +7 -4
  287. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +1 -3
  288. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +2 -7
  289. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +0 -1
  290. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +2 -4
  291. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -1
  292. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +252 -188
  293. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +2 -7
  294. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  295. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +7 -7
  296. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +10 -0
  297. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +2 -2
  298. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +4 -4
  299. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +2 -7
  300. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +7 -3
  301. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +4 -3
  302. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +5 -6
  303. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +7 -3
  304. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +3 -2
  305. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +4 -4
  306. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +2 -8
  307. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +5 -5
  308. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -1
  309. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +1 -1
  310. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +5492 -4341
  311. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +5 -4
  312. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +6 -5
  313. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +5 -4
  314. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +5 -4
  315. data/public/skyline/javascripts/src/skyline.js +3 -1
  316. data/public/skyline/javascripts/src/user_preferences.js +49 -0
  317. data/public/skyline/stylesheets/general.css +149 -47
  318. data/rails/init.rb +3 -3
  319. data/test/factories.rb +28 -0
  320. data/test/integration/media_browser_super_access_test.rb +52 -0
  321. data/test/integration/media_browser_user_access_test.rb +50 -0
  322. data/test/integration/user_preferences_test.rb +73 -0
  323. data/test/mocks/test_content_object.rb +32 -0
  324. data/test/mocks/test_section.rb +22 -0
  325. data/test/test_helper.rb +60 -0
  326. data/test/unit/inline_ref_test.rb +195 -0
  327. data/test/unit/locales_test.rb +82 -0
  328. data/test/unit/page_test.rb +204 -0
  329. data/test/unit/test_content_object_test.rb +69 -0
  330. data/test/unit/test_section_test.rb +247 -0
  331. data/test/unit/user_preference_test.rb +123 -0
  332. data/test/unit/user_test.rb +74 -0
  333. data/test/user_access_helper.rb +36 -0
  334. data/vendor/digitpaint/personify/test/fixtures/multiple_tags.txt +8 -0
  335. data/vendor/digitpaint/personify/test/parse_runner.rb +25 -0
  336. data/vendor/digitpaint/personify/test/parser_test.rb +109 -0
  337. data/vendor/digitpaint/personify/test/test_helper.rb +16 -0
  338. data/vendor/digitpaint/personify/vendor/treetop/.gitignore +5 -0
  339. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +13 -4
  340. data/vendor/mootools-on-rails/test/mootools_helper_test.rb +138 -0
  341. data/vendor/mootools-on-rails/test/test_helper.rb +5 -0
  342. data/vendor/weppos/url_validation.rb +76 -0
  343. metadata +384 -189
  344. data/app/controllers/skyline/media_dirs_controller.rb +0 -56
  345. data/app/controllers/skyline/media_files_controller.rb +0 -87
  346. data/app/helpers/skyline/presenters/article_list.rb +0 -139
  347. data/app/observers/skyline/media_file_observer.rb +0 -32
  348. data/app/views/skyline/media_dirs/_edit.html.erb +0 -25
  349. data/app/views/skyline/media_dirs/_index.html.erb +0 -14
  350. data/app/views/skyline/media_dirs/index.html.erb +0 -42
  351. data/app/views/skyline/media_files/_edit.html.erb +0 -75
  352. data/app/views/skyline/media_files/_header.html.erb +0 -3
  353. data/app/views/skyline/media_files/_index.html.erb +0 -51
  354. data/app/views/skyline/media_files/_new.html.erb +0 -50
  355. data/db/migrate/20090603104115_prefix_tables_for_skyline.rb +0 -30
  356. data/lib/skyline/indexer.rb +0 -36
  357. data/lib/skyline/renderable_scope.rb +0 -27
  358. data/lib/skyline/rendering/helpers/settings_helper.rb +0 -26
  359. data/lib/skyline/searchable_item.rb +0 -132
  360. data/lib/skyline/url_validation.rb +0 -66
  361. data/public/skyline/images/backgrounds/splitter.gif +0 -0
  362. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.bat +0 -2
  363. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.xml +0 -364
  364. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full_jquery.html +0 -94
  365. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/AddOnManager.js +0 -95
  366. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/CommandManager.js +0 -54
  367. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ControlManager.js +0 -489
  368. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Developer.js +0 -91
  369. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Editor.js +0 -2295
  370. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorCommands.js +0 -934
  371. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorManager.js +0 -453
  372. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ForceBlocks.js +0 -644
  373. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Popup.js +0 -412
  374. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/UndoManager.js +0 -183
  375. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/WindowManager.js +0 -169
  376. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/adapter.js +0 -240
  377. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js +0 -179
  378. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/prototype/adapter.js +0 -38
  379. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/BlockQuote.js +0 -135
  380. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/CutCopyPaste.js +0 -24
  381. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/InsertHorizontalRule.js +0 -15
  382. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/RemoveFormat.js +0 -173
  383. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/UndoRedo.js +0 -38
  384. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/DOMUtils.js +0 -1823
  385. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Element.js +0 -199
  386. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/EventUtils.js +0 -349
  387. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Range.js +0 -721
  388. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/ScriptLoader.js +0 -351
  389. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Selection.js +0 -747
  390. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Serializer.js +0 -979
  391. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Sizzle.js +0 -975
  392. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/StringWriter.js +0 -200
  393. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/TridentSelection.js +0 -273
  394. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/XMLWriter.js +0 -155
  395. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/firebug/firebug-lite.js +0 -2518
  396. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/tinymce.js +0 -549
  397. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Button.js +0 -68
  398. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ColorSplitButton.js +0 -212
  399. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Container.js +0 -56
  400. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Control.js +0 -182
  401. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/DropMenu.js +0 -397
  402. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ListBox.js +0 -320
  403. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Menu.js +0 -175
  404. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuButton.js +0 -128
  405. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuItem.js +0 -69
  406. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/NativeListBox.js +0 -198
  407. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Separator.js +0 -34
  408. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/SplitButton.js +0 -99
  409. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Toolbar.js +0 -86
  410. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Cookie.js +0 -126
  411. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Dispatcher.js +0 -101
  412. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSON.js +0 -81
  413. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONP.js +0 -25
  414. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONRequest.js +0 -87
  415. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/URI.js +0 -289
  416. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/XHR.js +0 -80
  417. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/xml/Parser.js +0 -126
  418. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/jquery.tinymce.js +0 -1
  419. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +0 -1
  420. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +0 -616
  421. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm +0 -1
  422. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +0 -1
  423. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js +0 -438
  424. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_dev.js +0 -128
  425. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery.js +0 -1
  426. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery_src.js +0 -12198
  427. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype.js +0 -1
  428. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype_src.js +0 -13057
  429. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api.html +0 -18
  430. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_jquery.html +0 -18
  431. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_prototype.html +0 -19
  432. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/basic.html +0 -548
  433. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/crossdomain.html +0 -87
  434. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/css/unit.css +0 -120
  435. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/index.html +0 -10
  436. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/jquery_plugin.html +0 -112
  437. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/api.js +0 -1438
  438. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/testrunner.js +0 -791
  439. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/main.html +0 -8
  440. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/media.html +0 -221
  441. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/menu.html +0 -22
  442. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/parts.html +0 -90
  443. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/paste.html +0 -132
  444. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/performance.html +0 -152
  445. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/range.html +0 -522
  446. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/removeformat.html +0 -88
  447. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/selection.html +0 -235
  448. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/config.ini +0 -27
  449. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/footer.html +0 -3
  450. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/header.html +0 -6
  451. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/index.php +0 -1
  452. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/instructions.txt +0 -4
  453. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/logo.png +0 -0
  454. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/selectors.list +0 -40
  455. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/style.css +0 -181
  456. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/index.php +0 -112
  457. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/slickspeed.js +0 -147
  458. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/template.php +0 -47
  459. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/template.html +0 -2865
  460. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/test.xml +0 -6
  461. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/ant-contrib.jar +0 -0
  462. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/js_build_tools.jar +0 -0
  463. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnClientAdapter.jar +0 -0
  464. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnant.jar +0 -0
  465. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnjavahl.jar +0 -0
  466. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnkit.jar +0 -0
  467. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/yuicompressor.jar +0 -0
data/CHANGELOG CHANGED
@@ -1,4 +1,125 @@
1
- *3.0.8 (December 18, 2009)*
1
+ # Changelog for Skyline #
2
+
3
+ ## 3.1.0 (Juli 14, 2011) ##
4
+
5
+ ### Core ###
6
+ * [Core] Update gemfile to work with bundler 1.0.7
7
+ * [Core] Update gemfile to use Rails 2.3.10 and rack 1.1.0
8
+ * [Core] Change migrations so there are no more references to tables without the skyline_* prefix.
9
+ * [Core] Removed routes that are overwritten in the implementation
10
+ * [Core] Remove mysql as a dependency
11
+ * [Core] Update gemfile to use willpaginate ~>2.3.15
12
+ * [Core] Fix Rails deprecation errors regarding returning
13
+ * [Core] Change load_paths to autoload_path
14
+ * [Core] Moved tasks to lib/tasks because of deprecation
15
+ * [Core] Multiple language file and translation fixes in english translations
16
+ * [Core] Change {{}} to %{} in locale files
17
+
18
+
19
+ ### Deprecations ###
20
+ **Important** : Some functionality has been deprecated in Skyline 3.1 you can still use the deprecation-layer if you are updating from an older version.
21
+
22
+ * [Deprecations] Deprecations for 3.0.8 aren't loaded automatically anymore: require skyline/lib/deprecated/version3_0_8 manually to enable them.
23
+ * [Deprecations] Removed all of Solr search, it will be put in a plugin.
24
+ * [Deprecations] Refactor Renderer and RenderableScope* to the Rendering module.
25
+ * [Deprecations] Deprecate Skyline::Renderer in favour of Skyline::Rendering::Renderer
26
+ * [Deprecations] Deprecate Skyline::UrlValidation in favour of vendored UrlValidation
27
+ * [Deprecations] Deprecate Skyline::Renderer::SettingsHelper#get and Skyline::Renderer::SettingsHelper#get_page
28
+ * [Deprecations] Deprecate Skyline::FormBuilderWithErrors in favour of Skyline::FormBuilder
29
+ * [Deprecations] Deprecate SectionItem in favour of Sections::Interface.
30
+ * [Deprecations] Deprecate Referable in favour of HasManyReferablesIn.
31
+ * [Deprecations] Deprecate ContentItem in favour of BelongsToReferable.
32
+
33
+ ### Configuration (core) ###
34
+ * [Config] Make the url_prefix for the CMS screens (default = "/skyline") configurable. This does not change the url of the assets!
35
+ * [Config] Add an option to disable pages in the CMS. This only removes them from the template/browsers. You have to change the skyline.root route yourself!
36
+
37
+ ### User interface (core) ###
38
+ * [UI] Update tinyMCE to 3.3.9
39
+ * [UI] Upgrade mootools to 1.2.5 for IE9 compatibility
40
+ * [UI] Fix generator methods to use notifications.
41
+ * [UI] Add support for disappearing flashes.
42
+ * [UI] Refactored Skyline.Layout javascript classes
43
+ * [UI] Refactored Skyline.Tree javascript classes
44
+ * [UI] Added Skyline.Table for scrollable and draggable tables
45
+ * [UI] Add event delay/delegation for Skyline JS components.
46
+ * [UI] Add support for multiple wysiwygs in sections collections.
47
+ * [UI] Use HTML5 data-* attributes to store data on element nodes
48
+ * [UI] Add support for disappearing flashes
49
+ * [UI] Don't show buttons in inactive panel headers (it's confusing)
50
+ * [UI] Add onFocus event to skyline.editor
51
+ * [UI] Add support for section focus
52
+ * [UI] New sections are now added after the currentActive section
53
+ * [UI] Add config.locale configuration, it set's the default skyline interface locale. Skyline sets this on every request.
54
+ * [UI] Add UserPrefernces for all kinds of user specific data
55
+ * [UI] Minimize initial click target of flash upload shim to 1x1 px
56
+ * [UI] Remove targetRelay for Swiff.Uploader.js to fix double-click bug in FireFox 4+
57
+ * [UI] Refactored javascript layout classes
58
+ * [UI] Show fieldset_errors after image and link browsers
59
+
60
+ ### Plugin management (core) ###
61
+ * [Plugins] Refactor plugin manager to do more stuff for each plugin. (see also: b20f527)
62
+ * [Plugins] Seed plugin seeds too. Refactor pluginsmanager a bit.
63
+ * [Plugins] Load plugin helpers inside of Skyline::ApplicationController, makes it easier to override methods.
64
+ * [Plugins] Put plugin hooking and other plugin specific stuff in plugin_helper
65
+
66
+ ### Referables (core) ###
67
+ * [Referables] Use present? method instead of checking the existence of ref object in the helper
68
+ * [Referables] Correctly mark referable_field as changed
69
+ * [Referables] Bugfix: don't set refering type and id when object_ref is being destroyed
70
+ * [Referables] Fix copying from one field with referables to another within the same object.
71
+ * [Referables] Fix after_create callbacks when you are using HasManyReferablesIn and try to resave on after_create.
72
+ * [Referables] Changed uri to text in skyline_referable_uri to allow for longer links
73
+ * [Referables] Fix bug where a ID conflict could result in broken ref_id's.
74
+ * [Referables] Don't break if you try to add a non-image file as an image into a inline ref
75
+
76
+ ### Media Library ###
77
+ * [MediaLibrary] Refactored interface and controllers
78
+ * [MediaLibrary] The URL for all files have been changed, this should not be a problem as long as there are no hardcoded references.
79
+ * [MediaLibrary] Fix display of "add" button in media library
80
+ * [MediaLibrary] Implement user preferences for media tree
81
+ * [MediaLibrary] Fixed popup for link browser
82
+ * [MediaLibrary] Fix updating of number of files in uploader.
83
+ * [MediaLibrary] Added proportional dimension calculation to MediaFile and use it in MediaSection.
84
+
85
+ ### Articles, pages & rendering ###
86
+ * [Articles] Add option to ArticleVersion to save it without increasing version numer
87
+ * [Articles] Don't validate simple update of internal variables of Article.
88
+ * [Articles] Improve the default view of article lists
89
+ * [Articles] Add sensible default heading to article list
90
+ * [Articles] Beautify interface if the "head" partial of an article is empty
91
+ * [Articles] Fix duplicate call of sectionlist initialization
92
+ * [Articles] Remove an unused index from article table.
93
+ * [Articles] Add support for custom lists for articles
94
+
95
+ * [Pages] Added documentation for Page#find_by_url
96
+ * [Pages] Implement user preferences for Page tree collapsing/expanding
97
+
98
+ * [Renderer] Skip template directories without an index.html.erb file.
99
+ * [Renderer] Expose the controller within the renderer
100
+ * [Renderer] Remove RenderableScope, it should be in a plugin.
101
+
102
+ ### Sections (builtin) ###
103
+ * [Sections] Redirect section - Don't prepend url with protocol, host and port if the url already has one.
104
+ * [Sections] RSS section - Add link to rss section
105
+ * [Sections] Media section - Add (optional) link to Skyline::Sections::MediaSection.
106
+
107
+ * [Tagging] Added index to associated tags table
108
+ * [Tagging] Optimized generated query in with_tags scope
109
+
110
+ ### Content elements ###
111
+ * [ContentElements] Changed icons in presenter for content elements
112
+ * [ContentElements] Fixed boolean helper for content elements
113
+ * [ContentElements] Remove article-list presenter for content elements. First part of content element refactoring. You can still use it but it will just display the table variant.
114
+
115
+ ### Settings and users ###
116
+ * [Settings] Don't fail if we have no settings
117
+
118
+ * [Users] Updated usermanagement to adher to new style
119
+ * [Users] Fix number of users display and don't break if created_at is not set.
120
+
121
+
122
+ ## 3.0.8 (December 18, 2009) ##
2
123
 
3
124
  * Added support for SQLite3
4
125
  * Always make the last saved variant the default variant
@@ -10,7 +131,7 @@
10
131
  * Deprecate the settings helper in favour of Settings#get and Settings#get_page
11
132
  * Deprecate page_sections_per_column in favour of sections_per_column
12
133
 
13
- *3.0.7 (December 8, 2009)*
134
+ ## 3.0.7 (December 8, 2009) ##
14
135
 
15
136
  * Minor optimalisation to make (auto)loading work better
16
137
  * Added the skylincms binary to bootstrap new implementation
@@ -56,20 +177,20 @@
56
177
  * Ready for open source release
57
178
  * Define all offsetparents for tree elements
58
179
 
59
- *3.0.6 (October 2, 2009)*
180
+ ## 3.0.6 (October 2, 2009) ##
60
181
 
61
182
  * Fix drag of tree elements when there was scroll. (#67) Minor improvements on visual drag-cues.
62
183
 
63
- *3.0.5 (September 10, 2009)*
184
+ ## 3.0.5 (September 10, 2009) ##
64
185
 
65
186
  * Fix issue with IE6 and external links. (resolves #13)
66
187
  * Removed memoize from page.rb
67
188
 
68
- *3.0.4 (August 28, 2009)*
189
+ ## 3.0.4 (August 28, 2009) ##
69
190
 
70
191
  * Import functions of content model can now return error messages
71
192
 
72
- *3.0.3 (August 6, 2009)*
193
+ ## 3.0.3 (August 6, 2009) ##
73
194
 
74
195
  * Add better page locking, as long as someone is editing a variant it can't be edited by someone else.
75
196
  * Add support for edit "takeover" so you can take over editing even if someone else is editing a variant.
@@ -92,14 +213,14 @@
92
213
  * Cleanup functionality added to delete unuused tags
93
214
  * Moved selection of content items (for ContentItemSection) to model and ContentItem module
94
215
 
95
- *3.0.2.1 (July 23, 2009)*
216
+ ## 3.0.2.1 (July 23, 2009) ##
96
217
  Bugfix release, mainly for monitoring deletions of InlineRefs.
97
218
 
98
219
  * Add version number to login screen.
99
220
  * Add logger statement when InlineRef's are deleted, watch for [InlineRef].
100
221
  * Nullify RefObject#refering_id on all links when a page is deleted
101
222
 
102
- *3.0.2 (July 23, 2009)*
223
+ ## 3.0.2 (July 23, 2009) ##
103
224
 
104
225
  * Added localization for TinyMCE through skyline localization file
105
226
  * Automatically select target="_blank" if selecting a file or external link
@@ -111,13 +232,13 @@ Bugfix release, mainly for monitoring deletions of InlineRefs.
111
232
  * Added TinyMCE Skyline Contextmenu plugin
112
233
  * Added TinyMCE Skyline Table plugin (edit simple tables)
113
234
 
114
- *3.0.1 (July 21, 2009)*
235
+ ## 3.0.1 (July 21, 2009) ##
115
236
 
116
237
  * Load helpers with Skyline.root as base
117
238
  * The browser controllers are now descendants of Skyline::ApplicationController
118
239
  * Update TinyMCE to 3.2.5
119
240
  * Bug: LinkSectionLink isn't in module Skyline::Sections
120
241
 
121
- *3.0.0 (July 20, 2009)*
242
+ ## 3.0.0 (July 20, 2009) ##
122
243
 
123
244
  * Initial Skyline 3.0.0 version released as a Rails plugin.
data/README.md CHANGED
@@ -2,7 +2,6 @@ Skyline CMS
2
2
  ===========
3
3
 
4
4
  **Homepage**: [http://www.skylinecms.nl](http://www.skylinecms.nl)
5
- **IRC**: Join us on IRC in #skylinecms on irc.freenode.net!
6
5
  **Twitter**: Follow [skylinecms](http://www.twitter.com/skylinecms) on twitter
7
6
  **Git**: [http://github.com/digitpaint/skyline](http://github.com/digitpaint/skyline)
8
7
  **Author**: DigitPaint
@@ -42,5 +41,5 @@ If you're running into problems, don't hesitate to contact us!
42
41
  Copyright
43
42
  ---------
44
43
 
45
- Skyline CMS © 2009 by [DigitPaint](mailto:info@digitpaint.nl). Licensed under the LGPL
44
+ Skyline CMS © 2011 by [DigitPaint](mailto:info@digitpaint.nl). Licensed under the LGPL
46
45
  license. Please see the {file:COPYING} and {file:COPYING.LESSER} for more information.
data/Rakefile CHANGED
@@ -81,8 +81,8 @@ namespace :gem do
81
81
 
82
82
  gemspec.add_dependency "thor", "0.12.0"
83
83
 
84
- gemspec.add_dependency "rails", "2.3.5"
85
- gemspec.add_dependency "rack", "1.0.1"
84
+ gemspec.add_dependency "rails", "2.3.10"
85
+ gemspec.add_dependency "rack", "1.1.0"
86
86
 
87
87
  gemspec.add_dependency "polyglot", "0.2.6"
88
88
  gemspec.add_dependency "sprockets", "1.0.2"
@@ -90,7 +90,7 @@ namespace :gem do
90
90
  gemspec.add_dependency "rmagick", "2.9.1"
91
91
  gemspec.add_dependency "hpricot", "0.8.2"
92
92
  gemspec.add_dependency "guid", "0.1.1"
93
- gemspec.add_dependency "will_paginate", "~>2.3.11"
93
+ gemspec.add_dependency "will_paginate", "~>2.3.15"
94
94
  gemspec.add_dependency "seed-fu", "~>1.2.0"
95
95
 
96
96
  end
@@ -1,18 +1,28 @@
1
1
  class Skyline::ApplicationController < ApplicationController
2
2
  include Skyline::TranslationHelper
3
3
 
4
+ before_filter :set_locale
4
5
  before_filter :authenticate_user, :identifier => :authentication
6
+ before_filter :handle_user_preferences, :identifier => :preferences
5
7
  before_filter :authorize_user_for_action, :identifier => :authorization
6
8
 
7
9
  around_filter Skyline::ArticleVersionObserver.instance
8
10
 
9
- class_inheritable_accessor :default_menu_item
10
- protected :default_menu_item, :default_menu_item=
11
+ class_inheritable_accessor :default_menu
12
+ attr_accessor :current_menu
13
+ hide_action :default_menu, :default_menu=, :current_menu, :current_menu=, :menu
14
+
11
15
 
12
16
  # Load all helpers
13
17
  Dir[Skyline.root + "app/helpers/**/*_helper.rb"].each do |helper|
14
18
  helper helper.sub(Skyline.root + "app/helpers/","").sub(/_helper\.rb$/,"")
15
- end
19
+ end
20
+
21
+ # Load all plugin helpers so they can override stuff.
22
+ Dir[Skyline::PluginsManager.plugin_path + "*/app/helpers/**/*_helper.rb"].each do |helper|
23
+ helper helper.sub(/^#{Regexp.escape(Skyline::PluginsManager.plugin_path.to_s)}\/?.+?\/app\/helpers\//,"").sub(/_helper\.rb$/,"")
24
+ end
25
+
16
26
 
17
27
  class << self
18
28
 
@@ -57,9 +67,15 @@ class Skyline::ApplicationController < ApplicationController
57
67
  end
58
68
  self.filter_chain.send(:update_filter_chain,filters, :before,pos+1, &block)
59
69
  end
70
+
60
71
  end
61
72
 
62
73
  protected
74
+
75
+ # Sets locale according to the configuration on every request
76
+ def set_locale
77
+ I18n.locale = Skyline::Configuration.locale.present? ? Skyline::Configuration.locale : "en-US"
78
+ end
63
79
 
64
80
  def default_url_options(options=nil)
65
81
  return if options.nil?
@@ -92,6 +108,26 @@ class Skyline::ApplicationController < ApplicationController
92
108
  end
93
109
  end
94
110
 
111
+ # Handle the user preferences
112
+ # --
113
+ def handle_user_preferences
114
+ if cookies["skyline_up"].present?
115
+ up = ActiveSupport::JSON.decode(cookies["skyline_up"])
116
+
117
+ up.each do |k,v|
118
+ if k == "_delete"
119
+ v.each do |delete_id|
120
+ current_user.user_preferences.remove(delete_id)
121
+ end
122
+ else
123
+ current_user.user_preferences.set(k,v)
124
+ end
125
+ end
126
+
127
+ cookies.delete("skyline_up")
128
+ end
129
+ end
130
+
95
131
  # The authorization callback
96
132
  # --
97
133
  def authorize_user_for_action
@@ -149,7 +185,7 @@ class Skyline::ApplicationController < ApplicationController
149
185
  @_menuitem = menuitem
150
186
  end
151
187
  def current_menu_item
152
- @_menuitem || self.class.default_menu_item
188
+ @_menuitem || self.class.default_menu
153
189
  end
154
190
  helper_method :current_menu_item
155
191
 
@@ -10,7 +10,7 @@ class Skyline::ArticlesController < Skyline::ApplicationController
10
10
 
11
11
  layout :determine_layout
12
12
 
13
- self.default_menu_item = :content_library
13
+ self.default_menu = :content_library
14
14
 
15
15
  def index
16
16
  case params[:type]
@@ -216,9 +216,9 @@ class Skyline::ArticlesController < Skyline::ApplicationController
216
216
 
217
217
  def class_from_type(type=params[:type])
218
218
  raise "Cannot infer class from #{type.inspect}" if type.blank?
219
- klass = type.camelcase.constantize
220
- if klass.ancestors.include?(Skyline::Article)
221
- return klass
219
+ @klass = type.camelcase.constantize
220
+ if @klass.ancestors.include?(Skyline::Article)
221
+ return @klass
222
222
  else
223
223
  raise "Class #{klass.to_s} is not a subclass of Skyline::Article"
224
224
  end
@@ -8,7 +8,7 @@ class Skyline::Browser::Tabs::MediaLibrary::MediaFilesController < Skyline::Appl
8
8
  # p.replace_html("browserUploadPanel", :partial => "new", :locals => {:media_dir => @media_dir})
9
9
  # end
10
10
 
11
- p.replace("browserFilelist", :partial => "index")
11
+ p.replace_html("browserContentPanel", :partial => "index")
12
12
  end
13
13
  end
14
14
 
@@ -4,7 +4,7 @@ class Skyline::ContentController < Skyline::Skyline2Controller
4
4
 
5
5
  layout "skyline/layouts/content"
6
6
 
7
- self.default_menu_item = :content_library
7
+ self.default_menu = :content_library
8
8
 
9
9
  def index
10
10
  if request.xhr?
@@ -89,13 +89,14 @@ class Skyline::ContentController < Skyline::Skyline2Controller
89
89
  if request.xhr? && stack.klass.orderable? && params[:order]
90
90
  ids = params[:order].split(",").collect{|s| s.to_i}
91
91
  if ids.size > 1 && stack.klass.reorder(ids)
92
- render(:update){|p| p.call "Application.addOddEven", "list"}
92
+ render(:update){|p| p.call "Application.addOddEven", "#{stack.klass.name}Listing", "tbody tr"}
93
93
  elsif ids.size <= 1
94
94
  render :nothing => true
95
95
  else
96
96
  list_elements!
97
97
  render :update do |p|
98
- p.replace "list-wrapper", presenter_for(@elements,stack.klass)
98
+ p.replace_html "contentEditPanel", presenter_for(@elements,stack.klass)
99
+ p << "$('contentEditPanel').retrieve('skyline.layout').setup()";
99
100
  end
100
101
  end
101
102
  end
@@ -1,60 +1,62 @@
1
- class Skyline::MediaFilesDataController < Skyline::ApplicationController
2
- after_filter :perform_cache, :only => :show
3
-
4
- self.page_cache_directory = Skyline::MediaCache.cache_path
5
-
6
- # show
7
- # Renders the requested image with specified size parameters and stores the image in the cache.
8
- # If the image is already in the cache then 304 Not Modified is rendered.
9
- #
10
- # ==== Parameters
11
- # size <String> WidthxHeight
12
-
13
- def show
14
- @skip_caching = false
15
-
16
- filename = "#{params[:name]}.#{params[:format]}"
17
-
18
- @media_file = Skyline::MediaFile.find(:first, :conditions => {:parent_id => params[:media_dir_id], :name => filename})
19
-
20
- cached_file = File.join(self.page_cache_directory,request.path)
21
-
22
- if File.exist?(cached_file)
23
- response.etag = File.mtime(cached_file)
24
-
25
- if request.etag_matches?(response.etag)
26
- head :not_modified
27
- else
28
- send_file cached_file, :filename => @media_file.name, :type => @media_file.content_type, :disposition => 'inline', :stream => false, :cache => true
29
- end
30
- @skip_caching = true
31
- else
32
- if params[:size].present?
33
- size = params[:size].to_s.split("x").map{|v| v.to_i }
34
- size = nil if size[0] == @media_file.width && size[1] >= @media_file.height || size[1] == @media_file.height && size[0] >= @media_file.width
35
- else
36
- size = nil
37
- end
38
-
39
- if size.nil?
40
- send_file @media_file.file_path, :filename => @media_file.name, :type => @media_file.content_type, :disposition => 'inline', :cache => true
41
- @skip_caching = true
42
- else
43
- if size.all?{|s| s > 0 }
44
- send_data @media_file.thumbnail(size[0],size[1]), :filename => @media_file.name, :type => @media_file.content_type, :disposition => 'inline', :cache => true
45
- else
46
- render :nothing => true, :status => :unprocessable_entity
47
- end
48
- end
49
- end
50
- end
51
-
52
- protected
53
- def perform_cache
54
- return if @skip_caching
55
- ActiveRecord::Base.transaction do
56
- Skyline::MediaCache.create(:url => request.path, :object_type => "MediaFile", :object_id => @media_file.id)
57
- self.class.cache_page(response.body, request.path)
58
- end
59
- end
1
+ class Skyline::Media::DataController < Skyline::ApplicationController
2
+
3
+ after_filter :perform_cache, :only => :show
4
+
5
+ self.page_cache_directory = Skyline::MediaCache.cache_path
6
+
7
+ # show
8
+ # Renders the requested image with specified size parameters and stores the image in the cache.
9
+ # If the image is already in the cache then 304 Not Modified is rendered.
10
+ #
11
+ # ==== Parameters
12
+ # size <String> WidthxHeight
13
+
14
+ def show
15
+ @skip_caching = false
16
+
17
+ filename = "#{params[:name]}.#{params[:format]}"
18
+
19
+ @file = Skyline::MediaFile.first(:conditions => {:parent_id => params[:dir_id], :name => filename})
20
+
21
+ cached_file = File.join(self.page_cache_directory,request.path)
22
+
23
+ if File.exist?(cached_file)
24
+ response.etag = File.mtime(cached_file)
25
+
26
+ if request.etag_matches?(response.etag)
27
+ head :not_modified
28
+ else
29
+ send_file cached_file, :filename => @file.name, :type => @file.content_type, :disposition => 'inline', :stream => false, :cache => true
30
+ end
31
+ @skip_caching = true
32
+ else
33
+ if params[:size].present?
34
+ size = params[:size].to_s.split("x").map{|v| v.to_i }
35
+ size = nil if size[0] == @file.width && size[1] >= @file.height || size[1] == @file.height && size[0] >= @file.width
36
+ else
37
+ size = nil
38
+ end
39
+
40
+ if size.nil?
41
+ send_file @file.file_path, :filename => @file.name, :type => @file.content_type, :disposition => 'inline', :cache => true
42
+ @skip_caching = true
43
+ else
44
+ if size.all?{|s| s > 0 }
45
+ send_data @file.thumbnail(size[0],size[1]), :filename => @file.name, :type => @file.content_type, :disposition => 'inline', :cache => true
46
+ else
47
+ render :nothing => true, :status => :unprocessable_entity
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ protected
54
+ def perform_cache
55
+ return if @skip_caching
56
+ ActiveRecord::Base.transaction do
57
+ Skyline::MediaCache.create(:url => request.path, :object_type => "MediaFile", :object_id => @file.id)
58
+ self.class.cache_page(response.body, request.path)
59
+ end
60
+ end
61
+
60
62
  end
@@ -0,0 +1,83 @@
1
+ class Skyline::Media::DirsController < Skyline::ApplicationController
2
+
3
+ layout "skyline/layouts/media"
4
+ self.default_menu = :media_library
5
+
6
+ authorize :create, :by => "media_dir_create"
7
+ authorize :edit, :update, :by => "media_dir_update"
8
+ authorize :destroy, :by => "media_dir_delete"
9
+
10
+ def index
11
+ @dirs = Skyline::MediaDir.group_by_parent_id
12
+ @dir = Skyline::MediaDir.root
13
+ end
14
+
15
+ def show
16
+ @dir = Skyline::MediaDir.find(params[:id])
17
+
18
+ # selected_file = params[:selected_file_id].nil? || params[:selected_file_id] == "0" ? nil : Skyline::MediaFile.find(params[:selected_file_id])
19
+
20
+ render :update do |p|
21
+ p.replace_html("contentPanel", :partial => "show")
22
+ p.replace_html("metaPanel", :partial => "edit")
23
+ end
24
+ end
25
+
26
+ def create
27
+ parent_id = params[:parent_id] || 0
28
+
29
+ @parent = Skyline::MediaDir.find_by_id(parent_id)
30
+ if @parent
31
+ @dir = @parent.subdirectories.build
32
+ else
33
+ @dir = Skyline::MediaDir.new
34
+ end
35
+ @dir.save
36
+
37
+ @dirs = Skyline::MediaDir.group_by_parent_id
38
+ render :update do |p|
39
+ p.replace "dirtree", :partial => "index"
40
+ p.replace_html("contentPanel", :partial => "show")
41
+ p.replace_html("metaPanel", :partial => "edit")
42
+ end
43
+ end
44
+
45
+ def update
46
+ @dir = Skyline::MediaDir.find(params[:id])
47
+
48
+ if params[:skyline_media_dir]
49
+ @dir.name = params[:skyline_media_dir][:name] if !params[:skyline_media_dir][:name].blank?
50
+ @dir.parent_id = (params[:skyline_media_dir][:parent_id] == "0") ? nil : params[:skyline_media_dir][:parent_id]
51
+
52
+ @saved = @dir.save
53
+ end
54
+
55
+ @dirs = Skyline::MediaDir.group_by_parent_id
56
+ render :update do |p|
57
+ if @saved
58
+ p.notification :success, t(:success, :scope => [:media, :dirs,:update,:flashes])
59
+ else
60
+ p.notification :failed, t(:success, :scope => [:media, :dirs,:update,:flashes])
61
+ end
62
+ p.replace "dirtree", :partial => "index"
63
+ p.replace_html("contentPanel", :partial => "show")
64
+ p.replace_html("metaPanel", :partial => "edit")
65
+ end
66
+ end
67
+
68
+ def destroy
69
+ destroy_dir = Skyline::MediaDir.find(params[:id])
70
+
71
+ @dir = destroy_dir.directory
72
+ destroy_dir.destroy
73
+
74
+ @dirs = Skyline::MediaDir.group_by_parent_id
75
+ render :update do |p|
76
+ p.notification :success, t(:success, :scope => [:media, :dirs,:destroy,:flashes])
77
+ p.replace "dirtree", :partial => "index"
78
+ p.replace_html("contentPanel", :partial => "show")
79
+ p.replace_html("metaPanel", :partial => "edit")
80
+ end
81
+ end
82
+
83
+ end
@@ -0,0 +1,80 @@
1
+ class Skyline::Media::FilesController < Skyline::ApplicationController
2
+
3
+ before_filter :find_dir
4
+
5
+ self.default_menu = :media_library
6
+
7
+ authorize :create, :by => "media_file_create"
8
+ authorize :edit, :update, :by => "media_file_update"
9
+ authorize :destroy, :by => "media_file_delete"
10
+
11
+ def index
12
+ render :update do |p|
13
+ p.replace_html "contentEditPanel", :partial => "index"
14
+ end
15
+ end
16
+
17
+ def edit
18
+ @file = @dir.files.find(params[:id])
19
+
20
+ render :update do |p|
21
+ p.replace_html "metaPanel", :partial => "edit"
22
+ end
23
+ end
24
+
25
+ # We've got two different kinds of updates:
26
+ # 1. The regular "update" through a form
27
+ # 2. A drag action to a different directory.
28
+ #
29
+ def update
30
+ @file = @dir.files.find(params[:id])
31
+ @file.attributes = params[:skyline_media_file]
32
+
33
+ # We use an instance variable because we want to use it in the render(:update) block.
34
+ @saved = @file.save
35
+
36
+ render :update do |p|
37
+ # file was moved to another directory
38
+ @dir = @file.directory if @dir.id != @file.parent_id
39
+
40
+ if @saved
41
+ p.notification :success, t(:success, :scope => [:media, :files ,:update,:flashes])
42
+ p.replace_html "contentPanel", :partial => "skyline/media/dirs/show"
43
+ else
44
+ p.message :error, t(:failed, :scope => [:media_file,:update,:flashes])
45
+ end
46
+
47
+ p.replace_html "metaPanel", :partial => "edit"
48
+
49
+ end
50
+ end
51
+
52
+ def create
53
+ @file = @dir.files.build(:name => params[:Filename], :data => params[:Filedata])
54
+ sleep 5
55
+
56
+ if @file.save
57
+ render :json => {:result => "success"}
58
+ else
59
+ render :json => {:result => "failed"}
60
+ end
61
+
62
+ end
63
+
64
+ def destroy
65
+ @file = @dir.files.find(params[:id])
66
+ @file.destroy
67
+ render :update do |p|
68
+ p.notification :success, t(:success, :scope => [:media, :files,:destroy,:flashes])
69
+ p.replace_html("contentPanel", :partial => "skyline/media/dirs/show")
70
+ p.replace_html("metaPanel", :partial => "skyline/media/dirs/edit")
71
+ end
72
+ end
73
+
74
+ protected
75
+
76
+ def find_dir
77
+ @dir = Skyline::MediaDir.find(params[:dir_id])
78
+ end
79
+
80
+ end