skylinecms 3.0.8 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
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