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.
- data/CHANGELOG +131 -10
- data/README.md +1 -2
- data/Rakefile +3 -3
- data/app/controllers/skyline/application_controller.rb +40 -4
- data/app/controllers/skyline/articles_controller.rb +4 -4
- data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +1 -1
- data/app/controllers/skyline/content_controller.rb +4 -3
- data/app/controllers/skyline/{media_files_data_controller.rb → media/data_controller.rb} +61 -59
- data/app/controllers/skyline/media/dirs_controller.rb +83 -0
- data/app/controllers/skyline/media/files_controller.rb +80 -0
- data/app/controllers/skyline/sections_controller.rb +10 -3
- data/app/controllers/skyline/settings_controller.rb +4 -2
- data/app/controllers/skyline/user_preferences_controller.rb +18 -0
- data/app/controllers/skyline/users_controller.rb +1 -1
- data/app/controllers/skyline/variant_current_editor_controller.rb +2 -0
- data/app/helpers/skyline/application_helper.rb +39 -35
- data/app/helpers/skyline/dialog_helper.rb +11 -10
- data/app/helpers/skyline/editors/boolean.rb +2 -2
- data/app/helpers/skyline/editors/page_browser.rb +2 -0
- data/app/helpers/skyline/editors/wysiwyg.rb +1 -1
- data/app/helpers/skyline/js_layout_helper.rb +19 -0
- data/app/helpers/skyline/media/dirs_helper.rb +2 -0
- data/app/helpers/skyline/media/files_helper.rb +6 -0
- data/app/helpers/skyline/media_files_helper.rb +2 -2
- data/app/helpers/skyline/menu_helper.rb +33 -0
- data/app/helpers/skyline/message_generator.rb +5 -1
- data/app/helpers/skyline/notification_generator.rb +6 -0
- data/app/helpers/skyline/plugin_helper.rb +21 -0
- data/app/helpers/skyline/presenters/presenter.rb +4 -13
- data/app/helpers/skyline/presenters/table.rb +0 -27
- data/app/helpers/skyline/ref_object_helper.rb +2 -2
- data/app/helpers/skyline/tree_helper.rb +74 -5
- data/app/models/skyline/article.rb +18 -6
- data/app/models/skyline/article_version.rb +1 -1
- data/app/models/skyline/image_ref.rb +9 -5
- data/app/models/skyline/inline_ref.rb +3 -2
- data/app/models/skyline/link_section_link.rb +2 -2
- data/app/models/skyline/media_file.rb +33 -10
- data/app/models/skyline/page.rb +10 -9
- data/app/models/skyline/section.rb +1 -1
- data/app/models/skyline/sections/content_collection_section.rb +1 -1
- data/app/models/skyline/sections/content_item_section.rb +1 -1
- data/app/models/skyline/sections/heading_section.rb +1 -1
- data/app/models/skyline/sections/iframe_section.rb +2 -2
- data/app/models/skyline/sections/link_section.rb +1 -1
- data/app/models/skyline/sections/media_section.rb +32 -5
- data/app/models/skyline/sections/page_fragment_section.rb +1 -1
- data/app/models/skyline/sections/raw_section.rb +1 -1
- data/app/models/skyline/sections/redirect_section.rb +4 -4
- data/app/models/skyline/sections/rss_section.rb +7 -2
- data/app/models/skyline/sections/splitter_section.rb +1 -1
- data/app/models/skyline/sections/wysiwyg_section.rb +3 -3
- data/app/models/skyline/site.rb +1 -1
- data/app/models/skyline/user.rb +1 -1
- data/app/models/skyline/user_preference.rb +69 -0
- data/app/models/skyline/variant.rb +1 -1
- data/app/templates/skyline/sections/content_item_section/default/index.html.erb +1 -1
- data/app/templates/skyline/sections/media_section/default/index.html.erb +9 -9
- data/app/views/skyline/articles/_list.html.erb +34 -0
- data/app/views/skyline/articles/edit.html.erb +13 -6
- data/app/views/skyline/articles/index.html.erb +12 -43
- data/app/views/skyline/articles/page/_index.html.erb +13 -11
- data/app/views/skyline/authentications/new.html.erb +2 -2
- data/app/views/skyline/browser/links/_index.html.erb +4 -2
- data/app/views/skyline/browser/tabs/media_library/_index.html.erb +12 -13
- data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +122 -51
- data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +7 -7
- data/app/views/skyline/content/list.rhtml +1 -3
- data/app/views/skyline/content/presenters/_table.html.erb +45 -0
- data/app/views/skyline/layouts/content.html.erb +1 -1
- data/app/views/skyline/layouts/media.html.erb +2 -1
- data/app/views/skyline/layouts/pages.html.erb +10 -0
- data/app/views/skyline/link_section_links/_form.html.erb +0 -1
- data/app/views/skyline/locales/show.js.erb +2 -2
- data/app/views/skyline/media/dirs/_edit.html.erb +42 -0
- data/app/views/skyline/media/dirs/_index.html.erb +14 -0
- data/app/views/skyline/media/dirs/_show.html.erb +34 -0
- data/app/views/skyline/media/dirs/index.html.erb +36 -0
- data/app/views/skyline/media/files/_edit.html.erb +101 -0
- data/app/views/skyline/media/files/_index.html.erb +68 -0
- data/app/views/skyline/media/files/_new.html.erb +45 -0
- data/app/views/skyline/publications/_index.html.erb +2 -2
- data/app/views/skyline/sections/_media_section.html.erb +12 -2
- data/app/views/skyline/sections/_wysiwyg_section.html.erb +2 -3
- data/app/views/skyline/settings/index.html +14 -0
- data/app/views/skyline/shared/_head.html.erb +2 -0
- data/app/views/skyline/shared/_header_area.html.erb +7 -5
- data/app/views/skyline/users/index.html.erb +31 -16
- data/config/initializers/dependencies.rb +6 -1
- data/config/initializers/observers.rb +1 -2
- data/config/initializers/rails_defaults.rb +1 -1
- data/config/locales/en-US.yml +110 -68
- data/config/locales/nl-NL.yml +117 -77
- data/config/routes.rb +36 -32
- data/db/fixtures/roles_and_rights.rb +65 -40
- data/db/migrate/20090302102548_add_media_nodes.rb +2 -2
- data/db/migrate/20090309133933_add_description_to_media_nodes.rb +2 -2
- data/db/migrate/20090309134731_add_tags.rb +2 -2
- data/db/migrate/20090309135746_create_media_files_tags.rb +2 -2
- data/db/migrate/20090319091342_create_media_caches.rb +2 -2
- data/db/migrate/20090327083240_create_users.rb +2 -2
- data/db/migrate/20090327084656_create_roles.rb +2 -2
- data/db/migrate/20090327084719_create_rights.rb +2 -2
- data/db/migrate/20090327084739_create_grants.rb +2 -2
- data/db/migrate/20090327090918_create_rights_roles.rb +2 -2
- data/db/migrate/20090408115155_create_ref_objects.rb +2 -2
- data/db/migrate/20090504140044_create_test_sections.rb +2 -2
- data/db/migrate/20090506083107_add_refering_column_name_to_ref_objects.rb +2 -2
- data/db/migrate/20090706124019_add_skyline_media_node_title.rb +1 -1
- data/db/migrate/20090904121447_create_skyline_referable_uris.rb +6 -6
- data/db/migrate/20091221145204_add_skyline_media_section_link.rb +11 -0
- data/db/migrate/20100109145958_add_associated_tags_index.rb +9 -0
- data/db/migrate/20100115111440_create_skyline_user_preferences.rb +14 -0
- data/db/migrate/20100120113953_remove_unused_articles_index.rb +9 -0
- data/db/migrate/20100409073447_change_referable_uri_to_text.rb +9 -0
- data/doc/Bundler.md +33 -28
- data/doc/MIGRATION.md +48 -0
- data/lib/skyline/{content_item.rb → belongs_to_referable.rb} +57 -88
- data/lib/skyline/configuration.rb +14 -15
- data/lib/skyline/content/content.rb +14 -2
- data/lib/skyline/deprecated/version3_0_8.rb +106 -0
- data/lib/skyline/{form_builder_with_errors.rb → form_builder.rb} +5 -5
- data/lib/skyline/{referable.rb → has_many_referables_in.rb} +22 -12
- data/lib/skyline/javascript_generator_methods.rb +1 -1
- data/lib/skyline/plugins_manager.rb +135 -14
- data/lib/skyline/rendering/helpers/renderer_helper.rb +14 -9
- data/lib/skyline/{renderer.rb → rendering/renderer.rb} +3 -4
- data/lib/skyline/{renderable_scope_interface.rb → rendering/scopes/interface.rb} +1 -1
- data/lib/skyline/{wildcard_renderable_scope.rb → rendering/scopes/wildcard.rb} +3 -3
- data/lib/skyline/{section_item.rb → sections/interface.rb} +17 -10
- data/lib/skyline/settings.rb +29 -19
- data/lib/skyline/taggable.rb +3 -3
- data/lib/skyline/version.rb +2 -2
- data/{tasks → lib/tasks}/database.rake +14 -2
- data/{tasks → lib/tasks}/implementation.rake +0 -0
- data/lib/tasks/testing.rake +41 -0
- data/public/skyline/images/backgrounds/panel-dt.gif +0 -0
- data/public/skyline/javascripts/src/application.js +114 -120
- data/public/skyline/javascripts/src/browser.js +22 -4
- data/public/skyline/javascripts/src/library_uploader.js +13 -3
- data/public/skyline/javascripts/src/sections.js +57 -6
- data/public/skyline/javascripts/src/skyline/src/dialog.js +6 -0
- data/public/skyline/javascripts/src/skyline/src/drag.js +6 -0
- data/public/skyline/javascripts/src/skyline/src/events.js +50 -0
- data/public/skyline/javascripts/src/skyline/src/field_replicator.js +12 -11
- data/public/skyline/javascripts/src/skyline/src/layout.js +172 -30
- data/public/skyline/javascripts/src/skyline/src/menu.js +3 -0
- data/public/skyline/javascripts/src/skyline/src/menubutton.js +3 -0
- data/public/skyline/javascripts/src/skyline/src/skyline.js +3 -0
- data/public/skyline/javascripts/src/skyline/src/table.js +398 -0
- data/public/skyline/javascripts/src/skyline/src/tabs.js +2 -2
- data/public/skyline/javascripts/src/skyline/src/tag_selector.js +34 -26
- data/public/skyline/javascripts/src/skyline/src/tree.js +3 -0
- data/public/skyline/javascripts/src/skyline/src/uploader.js +2 -2
- data/public/skyline/javascripts/src/skyline/src/utils.js +3 -0
- data/public/skyline/javascripts/src/skyline/test/_dynamic_right.html +24 -0
- data/public/skyline/javascripts/src/skyline/test/_right_content.html +1 -0
- data/public/skyline/javascripts/src/skyline/test/basic_layout.html +190 -0
- data/public/skyline/javascripts/src/skyline/test/dialog.html +101 -0
- data/public/skyline/javascripts/src/skyline/test/draggablefiles.html +196 -0
- data/public/skyline/javascripts/src/skyline/test/dynamic_layout.html +89 -0
- data/public/skyline/javascripts/src/skyline/test/field_replicator.html +60 -0
- data/public/skyline/javascripts/src/skyline/test/last-closed.gif +0 -0
- data/public/skyline/javascripts/src/skyline/test/last-open.gif +0 -0
- data/public/skyline/javascripts/src/skyline/test/menubutton.html +81 -0
- data/public/skyline/javascripts/src/skyline/test/middle.gif +0 -0
- data/public/skyline/javascripts/src/skyline/test/sortable.html +121 -0
- data/public/skyline/javascripts/src/skyline/test/table.html +521 -0
- data/public/skyline/javascripts/src/skyline/test/tagselector.html +72 -0
- data/public/skyline/javascripts/src/skyline/test/toggle.html +95 -0
- data/public/skyline/javascripts/src/skyline/test/tree.html +310 -0
- data/public/skyline/javascripts/src/skyline/test/tree.png +0 -0
- data/public/skyline/javascripts/src/skyline/test/undohtml.css +27 -0
- data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.js +2 -2
- data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +1 -354
- data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +64 -52
- data/public/skyline/javascripts/src/skyline.editor/assets/content.css +1 -1
- data/public/skyline/javascripts/src/skyline.editor/src/script_loader.js +156 -75
- data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +14 -4
- data/public/skyline/javascripts/src/skyline.editor/src/theme.js +8 -0
- data/public/skyline/javascripts/src/skyline.editor/test/dialog.html +28 -0
- data/public/skyline/javascripts/src/skyline.editor/test/lorem.html +7 -0
- data/public/skyline/javascripts/src/skyline.editor/test/multiple_editors.html +87 -0
- data/public/skyline/javascripts/src/skyline.editor/test/undohtml.css +27 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +205 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/content.css +54 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/custom_formats.html +111 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +19 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/simple.html +6 -2
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +14 -10
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +7 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +8 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +18 -2
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +52 -44
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +388 -17
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +58 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +8 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +10 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +18 -8
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +12 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +18 -9
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +7 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +564 -124
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +2 -8
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +2 -8
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +7 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +4 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +4 -9
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +106 -27
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +6 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +4 -11
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +7 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +921 -918
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +41 -24
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js +18 -20
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +48 -23
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +24 -15
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +3 -8
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js +10 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/template.htm +2 -9
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +26 -16
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +3 -10
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +3 -10
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +3 -10
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +3 -11
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +11 -15
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +3 -11
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +8 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +7 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +7 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +7 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +7 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +8 -8
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +7 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +1 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +2 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +252 -188
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +7 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +10 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +2 -2
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +4 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +2 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +7 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +4 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +5 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +7 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +3 -2
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +4 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +2 -8
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +5 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +5492 -4341
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +5 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +6 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +5 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +5 -4
- data/public/skyline/javascripts/src/skyline.js +3 -1
- data/public/skyline/javascripts/src/user_preferences.js +49 -0
- data/public/skyline/stylesheets/general.css +149 -47
- data/rails/init.rb +3 -3
- data/test/factories.rb +28 -0
- data/test/integration/media_browser_super_access_test.rb +52 -0
- data/test/integration/media_browser_user_access_test.rb +50 -0
- data/test/integration/user_preferences_test.rb +73 -0
- data/test/mocks/test_content_object.rb +32 -0
- data/test/mocks/test_section.rb +22 -0
- data/test/test_helper.rb +60 -0
- data/test/unit/inline_ref_test.rb +195 -0
- data/test/unit/locales_test.rb +82 -0
- data/test/unit/page_test.rb +204 -0
- data/test/unit/test_content_object_test.rb +69 -0
- data/test/unit/test_section_test.rb +247 -0
- data/test/unit/user_preference_test.rb +123 -0
- data/test/unit/user_test.rb +74 -0
- data/test/user_access_helper.rb +36 -0
- data/vendor/digitpaint/personify/test/fixtures/multiple_tags.txt +8 -0
- data/vendor/digitpaint/personify/test/parse_runner.rb +25 -0
- data/vendor/digitpaint/personify/test/parser_test.rb +109 -0
- data/vendor/digitpaint/personify/test/test_helper.rb +16 -0
- data/vendor/digitpaint/personify/vendor/treetop/.gitignore +5 -0
- data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +13 -4
- data/vendor/mootools-on-rails/test/mootools_helper_test.rb +138 -0
- data/vendor/mootools-on-rails/test/test_helper.rb +5 -0
- data/vendor/weppos/url_validation.rb +76 -0
- metadata +384 -189
- data/app/controllers/skyline/media_dirs_controller.rb +0 -56
- data/app/controllers/skyline/media_files_controller.rb +0 -87
- data/app/helpers/skyline/presenters/article_list.rb +0 -139
- data/app/observers/skyline/media_file_observer.rb +0 -32
- data/app/views/skyline/media_dirs/_edit.html.erb +0 -25
- data/app/views/skyline/media_dirs/_index.html.erb +0 -14
- data/app/views/skyline/media_dirs/index.html.erb +0 -42
- data/app/views/skyline/media_files/_edit.html.erb +0 -75
- data/app/views/skyline/media_files/_header.html.erb +0 -3
- data/app/views/skyline/media_files/_index.html.erb +0 -51
- data/app/views/skyline/media_files/_new.html.erb +0 -50
- data/db/migrate/20090603104115_prefix_tables_for_skyline.rb +0 -30
- data/lib/skyline/indexer.rb +0 -36
- data/lib/skyline/renderable_scope.rb +0 -27
- data/lib/skyline/rendering/helpers/settings_helper.rb +0 -26
- data/lib/skyline/searchable_item.rb +0 -132
- data/lib/skyline/url_validation.rb +0 -66
- data/public/skyline/images/backgrounds/splitter.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.bat +0 -2
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.xml +0 -364
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full_jquery.html +0 -94
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/AddOnManager.js +0 -95
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/CommandManager.js +0 -54
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ControlManager.js +0 -489
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Developer.js +0 -91
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Editor.js +0 -2295
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorCommands.js +0 -934
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorManager.js +0 -453
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ForceBlocks.js +0 -644
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Popup.js +0 -412
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/UndoManager.js +0 -183
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/WindowManager.js +0 -169
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/adapter.js +0 -240
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js +0 -179
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/prototype/adapter.js +0 -38
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/BlockQuote.js +0 -135
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/CutCopyPaste.js +0 -24
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/InsertHorizontalRule.js +0 -15
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/RemoveFormat.js +0 -173
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/UndoRedo.js +0 -38
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/DOMUtils.js +0 -1823
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Element.js +0 -199
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/EventUtils.js +0 -349
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Range.js +0 -721
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/ScriptLoader.js +0 -351
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Selection.js +0 -747
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Serializer.js +0 -979
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Sizzle.js +0 -975
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/StringWriter.js +0 -200
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/TridentSelection.js +0 -273
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/XMLWriter.js +0 -155
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/firebug/firebug-lite.js +0 -2518
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/tinymce.js +0 -549
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Button.js +0 -68
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ColorSplitButton.js +0 -212
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Container.js +0 -56
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Control.js +0 -182
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/DropMenu.js +0 -397
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ListBox.js +0 -320
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Menu.js +0 -175
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuButton.js +0 -128
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuItem.js +0 -69
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/NativeListBox.js +0 -198
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Separator.js +0 -34
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/SplitButton.js +0 -99
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Toolbar.js +0 -86
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Cookie.js +0 -126
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Dispatcher.js +0 -101
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSON.js +0 -81
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONP.js +0 -25
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONRequest.js +0 -87
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/URI.js +0 -289
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/XHR.js +0 -80
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/xml/Parser.js +0 -126
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/jquery.tinymce.js +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +0 -616
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js +0 -438
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_dev.js +0 -128
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery.js +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery_src.js +0 -12198
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype.js +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype_src.js +0 -13057
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api.html +0 -18
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_jquery.html +0 -18
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_prototype.html +0 -19
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/basic.html +0 -548
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/crossdomain.html +0 -87
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/css/unit.css +0 -120
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/index.html +0 -10
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/jquery_plugin.html +0 -112
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/api.js +0 -1438
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/testrunner.js +0 -791
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/main.html +0 -8
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/media.html +0 -221
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/menu.html +0 -22
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/parts.html +0 -90
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/paste.html +0 -132
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/performance.html +0 -152
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/range.html +0 -522
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/removeformat.html +0 -88
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/selection.html +0 -235
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/config.ini +0 -27
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/footer.html +0 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/header.html +0 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/index.php +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/instructions.txt +0 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/logo.png +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/selectors.list +0 -40
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/style.css +0 -181
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/index.php +0 -112
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/slickspeed.js +0 -147
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/template.php +0 -47
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/template.html +0 -2865
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/test.xml +0 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/ant-contrib.jar +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/js_build_tools.jar +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnClientAdapter.jar +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnant.jar +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnjavahl.jar +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnkit.jar +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/yuicompressor.jar +0 -0
|
@@ -8,17 +8,24 @@ class Skyline::SectionsController < Skyline::ApplicationController
|
|
|
8
8
|
section.sectionable = params[:sectionable_type].constantize.new
|
|
9
9
|
section_guid = Guid.new
|
|
10
10
|
|
|
11
|
+
if params[:after_section]
|
|
12
|
+
pos, id = :after, params[:after_section]
|
|
13
|
+
else
|
|
14
|
+
pos, id = :bottom, "contentlist"
|
|
15
|
+
end
|
|
16
|
+
|
|
11
17
|
fields_for params[:object_name] do |variant_form|
|
|
12
|
-
page.insert_html(
|
|
18
|
+
page.insert_html(pos, id, :partial => "form", :locals => {:variant_form => variant_form, :section => section, :guid => section_guid})
|
|
13
19
|
end
|
|
20
|
+
|
|
14
21
|
page << "$('contentlist').retrieve('application.sections').addSection('section_#{section_guid}');"
|
|
15
|
-
page << "
|
|
22
|
+
page << "$('contentEditPanel').scrollTo(0, $('contentEditPanel').getScroll().y + $('section_#{section_guid}').getPosition(\"contentEditPanel\").y)"
|
|
16
23
|
end
|
|
17
24
|
end
|
|
18
25
|
|
|
19
26
|
protected
|
|
20
27
|
def find_renderable_scope
|
|
21
|
-
@renderable_scope = Skyline::
|
|
28
|
+
@renderable_scope = Skyline::Rendering::Scopes::Interface.unserialize(params[:renderable_scope]) if params[:renderable_scope]
|
|
22
29
|
raise "Can't load renderable_scope from params[:renderable_scope]: '#{params[:renderable_scope]}'" unless @renderable_scope
|
|
23
30
|
end
|
|
24
31
|
end
|
|
@@ -2,12 +2,14 @@ class Skyline::SettingsController < Skyline::Skyline2Controller
|
|
|
2
2
|
|
|
3
3
|
layout "skyline/layouts/settings"
|
|
4
4
|
|
|
5
|
-
self.
|
|
5
|
+
self.default_menu = :admin
|
|
6
6
|
|
|
7
7
|
authorize :index, :edit, :update, :by => :settings_update
|
|
8
8
|
|
|
9
9
|
def index
|
|
10
|
-
|
|
10
|
+
if @implementation.has_settings?
|
|
11
|
+
redirect_to edit_skyline_setting_path(@implementation.settings.page_names.first)
|
|
12
|
+
end
|
|
11
13
|
end
|
|
12
14
|
|
|
13
15
|
def edit
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
class Skyline::UserPreferencesController < Skyline::ApplicationController
|
|
2
|
+
def create
|
|
3
|
+
unless params[:skyline_up].blank?
|
|
4
|
+
user_preference = ActiveSupport::JSON.decode(params[:skyline_up])
|
|
5
|
+
|
|
6
|
+
if user_preference.values.first == "_delete"
|
|
7
|
+
current_user.user_preferences.remove(user_preference.keys.first)
|
|
8
|
+
up = {}
|
|
9
|
+
else
|
|
10
|
+
current_user.user_preferences.set(user_preference.keys.first, user_preference.values.first)
|
|
11
|
+
up = {user_preference.keys.first => user_preference.values.first}
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
respond_to do |format|
|
|
15
|
+
format.json { render :json => up }
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
module Skyline::ApplicationHelper
|
|
2
2
|
# Place a tick or a cross depending on the value of bool
|
|
3
3
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
# options<Hash>:: Options will be passed to the image_tag method
|
|
7
|
-
#
|
|
8
|
-
# --
|
|
4
|
+
# @param [Boolean] bool The value of the tick/cross
|
|
5
|
+
# @param [Hash] options ({}) Options will be passed to the image_tag method
|
|
9
6
|
def tick_image(bool,options={})
|
|
10
7
|
name = bool ? "true" : "false"
|
|
11
8
|
src = "/skyline/images/icons/#{name}.gif"
|
|
@@ -15,56 +12,63 @@ module Skyline::ApplicationHelper
|
|
|
15
12
|
image_tag(src,options)
|
|
16
13
|
end
|
|
17
14
|
|
|
15
|
+
# Set the Skyline JS layout to use. Used in templates so the layout can initialize the correct layout.
|
|
16
|
+
#
|
|
17
|
+
# @param [Symbol] name The name of the js layout to use @see #render_js_layout
|
|
18
|
+
def use_js_layout(name)
|
|
19
|
+
@_js_layout = name
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Does this template have a Skyline JS Layout set?
|
|
23
|
+
#
|
|
24
|
+
# @return [Boolean]
|
|
25
|
+
def has_js_layout?
|
|
26
|
+
@_js_layout.present?
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Actually render the JS code to initialize the previously set Skyline JS Layout.
|
|
30
|
+
#
|
|
31
|
+
# @todo Currently only implemented in EntopicEditor plugin
|
|
32
|
+
def render_js_layout
|
|
33
|
+
return unless @_js_layout
|
|
34
|
+
raise "TO BE IMPLEMENTED"
|
|
35
|
+
end
|
|
36
|
+
|
|
18
37
|
# You can use this method to place a message directly in your view. This also
|
|
19
38
|
# works directly from a render(:update) or an update_page block.
|
|
20
39
|
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
# optiosn<Hash>:: Options to be passed to the MessageGenerator (javascript)
|
|
25
|
-
#
|
|
26
|
-
# --
|
|
40
|
+
# @param [Symbol] type The type of the message (:error,:notification,:success)
|
|
41
|
+
# @param [String] message The message to show
|
|
42
|
+
# @param [Hash] options ({}) Options to be passed to the MessageGenerator (javascript)
|
|
27
43
|
def message(type,message,options={})
|
|
28
|
-
MessageGenerator.new(type,message,options)
|
|
44
|
+
Skyline::MessageGenerator.new(type,message,options)
|
|
29
45
|
end
|
|
30
46
|
|
|
31
47
|
# You can use this method to place a notification directly in your view. This also
|
|
32
48
|
# works directly from a render(:update) or an update_page block.
|
|
33
49
|
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
# optiosn<Hash>:: Options to be passed to the MessageGenerator (javascript)
|
|
38
|
-
#
|
|
39
|
-
# --
|
|
50
|
+
# @param [Symbol] type The type of the message (:error,:notification,:success)
|
|
51
|
+
# @param [String] message The message to show
|
|
52
|
+
# @param [Hash] options ({}) Options to be passed to the MessageGenerator (javascript)
|
|
40
53
|
def notification(type,message,options={})
|
|
41
|
-
|
|
54
|
+
Skyline::NotificationGenerator.new(type,message,options)
|
|
42
55
|
end
|
|
43
56
|
|
|
57
|
+
# Actually render the messages on screen.
|
|
58
|
+
#
|
|
59
|
+
# @option options [Class] :generator (Skyline::MessageGenerator) The generator to use to render the messages.
|
|
44
60
|
def render_messages(options={})
|
|
45
61
|
_render_volatiles(self.messages,options)
|
|
46
62
|
end
|
|
47
63
|
|
|
64
|
+
# Actually render the notifications on screen.
|
|
65
|
+
#
|
|
66
|
+
# @option options [Class] :generator (Skyline::NotificationGenerator) The generator to use to render the messages.
|
|
48
67
|
def render_notifications(options={})
|
|
68
|
+
options.reverse_merge! :generator => Skyline::NotificationGenerator
|
|
49
69
|
_render_volatiles(self.notifications,options)
|
|
50
70
|
end
|
|
51
|
-
|
|
52
|
-
def plugin_hook(name)
|
|
53
|
-
template = caller.first[/app\/views\/([^:]*):/,1]
|
|
54
|
-
raise "Cannot determine template from caller: #{caller}" unless template
|
|
55
|
-
plugin_template = template.sub(".html.erb", "_#{name}.html.erb")
|
|
56
71
|
|
|
57
|
-
logger.debug "Looking for template #{plugin_template} in plugins..."
|
|
58
|
-
Dir[Rails.root + "vendor/skyline_plugins/*/app/views/#{plugin_template}"].each do |file|
|
|
59
|
-
if RAILS_ENV == "development"
|
|
60
|
-
concat render(:inline => File.read(file), :layout => nil)
|
|
61
|
-
else
|
|
62
|
-
# render :file caches the file somehow, so only use it in production mode
|
|
63
|
-
concat render(:file => file, :layout => nil)
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
72
|
protected
|
|
69
73
|
|
|
70
74
|
def _render_volatiles(messages_hash, options={})
|
|
@@ -8,23 +8,24 @@ module Skyline::DialogHelper
|
|
|
8
8
|
content = args.last
|
|
9
9
|
options = options_for_render
|
|
10
10
|
else
|
|
11
|
-
options = options_for_render.slice!(:partial, :locals)
|
|
12
|
-
options.each do |k,v|
|
|
13
|
-
options[k] = case v
|
|
14
|
-
when String,Symbol : "'" + escape_javascript(v.to_s) + "'"
|
|
15
|
-
when Hash : options_for_javascript(v)
|
|
16
|
-
else v
|
|
17
|
-
end
|
|
18
|
-
end
|
|
11
|
+
options = options_for_render.slice!(:partial, :locals)
|
|
19
12
|
content = render(options_for_render)
|
|
20
13
|
end
|
|
21
14
|
|
|
22
|
-
|
|
15
|
+
options.each do |k,v|
|
|
16
|
+
options[k] = case v
|
|
17
|
+
when String,Symbol : "'" + escape_javascript(v.to_s) + "'"
|
|
18
|
+
when Hash : options_for_javascript(v)
|
|
19
|
+
else v
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
p = "(function(){"
|
|
23
24
|
p << "var sd = new Skyline.Dialog(#{options_for_javascript(options)});"
|
|
24
25
|
p << "sd.setTitle('#{escape_javascript(title)}');"
|
|
25
26
|
p << "sd.setContent('#{escape_javascript(content)}');"
|
|
26
27
|
p << "sd.setup(); sd.show();"
|
|
27
|
-
p << "}()"
|
|
28
|
+
p << "})()"
|
|
28
29
|
end
|
|
29
30
|
|
|
30
31
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
class Skyline::Editors::Boolean < Skyline::Editors::Editor
|
|
2
2
|
def output_without_errors
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
hidden_field_tag(input_name(self.attribute_names), "0") +
|
|
4
|
+
check_box_tag(input_name(self.attribute_names), "1" , field.value(record)) + " " + field.singular_label
|
|
5
5
|
end
|
|
6
6
|
end
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
class Skyline::Editors::PageBrowser < Skyline::Editors::Editor
|
|
2
2
|
def output_without_errors
|
|
3
|
+
return "" unless Skyline::Configuration.enable_pages
|
|
4
|
+
|
|
3
5
|
attr_names = self.attribute_names.dup
|
|
4
6
|
attr_names[-1] = attr_names[-1].to_s.gsub(/_id$/, "_attributes")
|
|
5
7
|
input_name_prefix = input_name(attr_names) # ie: element[image_attributes]
|
|
@@ -2,7 +2,7 @@ class Skyline::Editors::Wysiwyg < Skyline::Editors::Editor
|
|
|
2
2
|
def output_without_errors
|
|
3
3
|
out = content_tag("div",text_area_tag(
|
|
4
4
|
input_name(self.attribute_names),
|
|
5
|
-
record.send(field.name
|
|
5
|
+
record.send(field.name),
|
|
6
6
|
:class => "wysiwyg",
|
|
7
7
|
:rows => 15,
|
|
8
8
|
:cols => 90,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Skyline::JsLayoutHelper
|
|
2
|
+
def use_js_layout(name)
|
|
3
|
+
@_js_layout = name
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def has_js_layout?
|
|
7
|
+
@_js_layout.present?
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def render_js_layout
|
|
11
|
+
return unless @_js_layout
|
|
12
|
+
|
|
13
|
+
t = ["Layout"]
|
|
14
|
+
t << {:content => "Content", :media => "Media"}[@_js_layout.to_sym]
|
|
15
|
+
|
|
16
|
+
layout_js = "new Application.#{t.compact.join(".")}()"
|
|
17
|
+
javascript_tag(layout_js)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
module Skyline::Media::FilesHelper
|
|
2
|
+
def skyline_media_dir_files_path_with_session_information(media_dir)
|
|
3
|
+
session_key = ActionController::Base.session_options[:session_key] || ActionController::Base.session_options[:key]
|
|
4
|
+
skyline_media_dir_files_path(media_dir, session_key => cookies[session_key], request_forgery_protection_token => form_authenticity_token)
|
|
5
|
+
end
|
|
6
|
+
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @private
|
|
2
2
|
module Skyline::MediaFilesHelper
|
|
3
|
-
def
|
|
3
|
+
def skyline_media_dir_files_path_with_session_information(media_dir)
|
|
4
4
|
session_key = ActionController::Base.session_options[:session_key] || ActionController::Base.session_options[:key]
|
|
5
|
-
|
|
5
|
+
skyline_media_dir_files_path(media_dir, session_key => cookies[session_key], request_forgery_protection_token => form_authenticity_token)
|
|
6
6
|
end
|
|
7
7
|
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Skyline::MenuHelper
|
|
2
|
+
|
|
3
|
+
# @param scope [Array]
|
|
4
|
+
# @param url [String,Hash]
|
|
5
|
+
# @param options [Hash]
|
|
6
|
+
def menu_item(*scope)
|
|
7
|
+
scope = Array(scope)
|
|
8
|
+
url_options = scope.extract_options!
|
|
9
|
+
options = url_options.slice!(:method)
|
|
10
|
+
|
|
11
|
+
url = scope.pop
|
|
12
|
+
scope = current_menu_scope(scope)
|
|
13
|
+
if controller.current_menu[0, scope.size] == scope
|
|
14
|
+
(options[:class] ||= "") << " active"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
content_tag("li", link_to(t(scope.last, :scope => [:navigation, scope[-2]]), url, url_options), options)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def menu_for(*scope, &block)
|
|
22
|
+
return unless controller.current_menu[0, scope.size] == scope
|
|
23
|
+
@_menu_scope = scope
|
|
24
|
+
menu = capture(&block)
|
|
25
|
+
@_menu_scope = []
|
|
26
|
+
concat(menu)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def current_menu_scope(scope)
|
|
30
|
+
(@_menu_scope || []) + scope
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
@@ -15,11 +15,15 @@ class Skyline::MessageGenerator
|
|
|
15
15
|
else v
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
|
-
"new
|
|
18
|
+
"new #{self.js_object}('#{self.escape_javascript(@message)}',#{self.options_for_javascript(options)})"
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def to_str
|
|
22
22
|
to_s
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
+
def js_object
|
|
26
|
+
"Application.Message"
|
|
27
|
+
end
|
|
28
|
+
|
|
25
29
|
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Skyline::PluginHelper
|
|
2
|
+
|
|
3
|
+
# Add a hook to the template where a plugin can place it's own template.
|
|
4
|
+
# If templates from multiple plugins match the templates will be concatenated.
|
|
5
|
+
def plugin_hook(name)
|
|
6
|
+
template = caller.first[/app\/views\/([^:]*):/,1]
|
|
7
|
+
raise "Cannot determine template from caller: #{caller}" unless template
|
|
8
|
+
plugin_template = template.sub(".html.erb", "_#{name}.html.erb")
|
|
9
|
+
|
|
10
|
+
logger.debug "Looking for template #{plugin_template} in plugins..."
|
|
11
|
+
Dir[Skyline::PluginsManager.plugin_path + "*/app/views/#{plugin_template}"].each do |file|
|
|
12
|
+
if Rails.env == "development"
|
|
13
|
+
concat render(:inline => File.read(file), :layout => nil)
|
|
14
|
+
else
|
|
15
|
+
# render :file caches the file somehow, so only use it in production mode
|
|
16
|
+
concat render(:file => file, :layout => nil)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
@@ -4,11 +4,7 @@
|
|
|
4
4
|
class Skyline::Presenters::Presenter
|
|
5
5
|
class << self
|
|
6
6
|
def create(presenter,records,fieldset,template,options={})
|
|
7
|
-
|
|
8
|
-
when :article : Skyline::Presenters::ArticleList
|
|
9
|
-
else Skyline::Presenters::Table
|
|
10
|
-
end
|
|
11
|
-
klass.new(records,fieldset,template,options)
|
|
7
|
+
Skyline::Presenters::Table.new(records,fieldset,template,options)
|
|
12
8
|
end
|
|
13
9
|
end
|
|
14
10
|
|
|
@@ -31,14 +27,9 @@ class Skyline::Presenters::Presenter
|
|
|
31
27
|
def content_tag(*params); @template.content_tag(*params); end # :nodoc:
|
|
32
28
|
|
|
33
29
|
def output
|
|
34
|
-
|
|
30
|
+
@template.render :partial => "skyline/content/presenters/table", :locals => {:presenter => self}
|
|
35
31
|
end
|
|
36
|
-
|
|
37
|
-
def header; ""; end
|
|
38
|
-
def body; ""; end
|
|
39
|
-
def footer; ""; end
|
|
40
|
-
|
|
41
|
-
protected
|
|
32
|
+
|
|
42
33
|
|
|
43
34
|
def edit_button(record)
|
|
44
35
|
link_to button_text(:edit),{:action => "edit", :types => stack.url_types(:down => [record.id]), :return_to => url_for({:filter => params[:filter]})}, :class => "button small"
|
|
@@ -118,7 +109,7 @@ class Skyline::Presenters::Presenter
|
|
|
118
109
|
truncate(simple_format(strip_tags(content.gsub("<br />", "<br />\n").gsub("</p>", "</p>\n"))),150)
|
|
119
110
|
end
|
|
120
111
|
when String : truncate(content,150)
|
|
121
|
-
when TrueClass,FalseClass : [(content ? image_tag("icons/
|
|
112
|
+
when TrueClass,FalseClass : [(content ? image_tag("/skyline/images/icons/true.gif") : image_tag("/skyline/images/icons/false.gif")),{:class => "center"}]
|
|
122
113
|
when Date,Time : l(content, :format => :long)
|
|
123
114
|
else content.to_s
|
|
124
115
|
end
|
|
@@ -1,30 +1,3 @@
|
|
|
1
1
|
class Skyline::Presenters::Table < Skyline::Presenters::Presenter
|
|
2
|
-
|
|
3
|
-
def output
|
|
4
|
-
content_tag("table",super, :class => "listing")
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
def header
|
|
8
|
-
"<thead><tr>#{self.heading_collection.map{|f| content_tag("th",f.singular_label.capitalize)}.join("\n")}<th></th><th></th></tr></thead>"
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def body
|
|
12
|
-
if self.collection.any?
|
|
13
|
-
self.collection.map{|el| next if el.new_record?; content_tag("tr",self.row(el).join("\n"), :class => cycle("odd","even")) }
|
|
14
|
-
else
|
|
15
|
-
"<tr class=\"blank-slate\"><td colspan=\"#{self.heading_collection.size + 2}\">#{t(:blank_slate, :scope => [:content,:list], :class => self.fieldset.plural_name.downcase)}.</td></tr>"
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def row(record)
|
|
20
|
-
return if record.new_record? # there can't be any new records in a list!
|
|
21
|
-
content_cells = self.heading_collection.map do |field|
|
|
22
|
-
content,options = self.value(record,field);
|
|
23
|
-
content_tag("td",content,options)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
[content_cells, content_tag("td",edit_button(record), :class => "edit"), content_tag("td",delete_button(record),:class => "delete")]
|
|
27
|
-
end
|
|
28
|
-
|
|
29
2
|
|
|
30
3
|
end
|
|
@@ -76,9 +76,9 @@ module Skyline::RefObjectHelper
|
|
|
76
76
|
l << browse_button
|
|
77
77
|
end
|
|
78
78
|
|
|
79
|
-
c = content_tag("div", c.join, :class => "relatesTo #{"linked" if linked_form.object.
|
|
79
|
+
c = content_tag("div", c.join, :class => "relatesTo #{"linked" if linked_form.object.present? && !linked_form.object.andand.marked_for_destruction?}")
|
|
80
80
|
end
|
|
81
81
|
|
|
82
|
-
content_tag
|
|
82
|
+
content_tag("div", c, :id => form_builder.dom_id(field), :class => css_class) + form_builder.fieldset_errors(field).to_s
|
|
83
83
|
end
|
|
84
84
|
end
|
|
@@ -20,7 +20,13 @@ module Skyline::TreeHelper
|
|
|
20
20
|
edit_skyline_article_path(page["id"])
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
options.reverse_merge!
|
|
23
|
+
options.reverse_merge!(
|
|
24
|
+
:id_prefix => "article",
|
|
25
|
+
:node_content => node_content,
|
|
26
|
+
:node_url => node_url,
|
|
27
|
+
:node_title => node_title,
|
|
28
|
+
:open_nodes => preferred_open_nodes("pages.tree.nodes.open", options[:selected])
|
|
29
|
+
)
|
|
24
30
|
node_tree(pages,roots,options)
|
|
25
31
|
end
|
|
26
32
|
|
|
@@ -36,27 +42,90 @@ module Skyline::TreeHelper
|
|
|
36
42
|
node_url = Proc.new do |node|
|
|
37
43
|
skyline_media_dir_media_files_path(node)
|
|
38
44
|
end
|
|
39
|
-
options.reverse_merge!
|
|
45
|
+
options.reverse_merge!(
|
|
46
|
+
:id_prefix => "media",
|
|
47
|
+
:node_content => node_content,
|
|
48
|
+
:node_url => node_url,
|
|
49
|
+
:node_title => node_title,
|
|
50
|
+
:open_nodes => preferred_open_nodes("media.dirs.tree.nodes.open", options[:selected])
|
|
51
|
+
)
|
|
40
52
|
node_tree(dirs,roots,options)
|
|
41
53
|
end
|
|
42
54
|
|
|
43
|
-
|
|
55
|
+
# Build a nested UL/LI construct used for trees.
|
|
56
|
+
#
|
|
57
|
+
# @param node_collection [Hash] A flat Hash which is keyed on parent_id and have as value all the child elements
|
|
58
|
+
# @param nodes [Array] The nodes for the current level to place (mostly the root nodes).
|
|
59
|
+
#
|
|
60
|
+
# @option options id_prefix [String] The prefix to place before the node id (this is used as the DOM id of the LI tag)
|
|
61
|
+
# @option options node_content [lambda{|node| }] A proc returning a string that will put as the content of the node
|
|
62
|
+
# @option options node_url [lambda{|node| }] A proc returning the URL for the node
|
|
63
|
+
# @option options node_title [lambda{|node| }] The title to use for node A tag.
|
|
64
|
+
# @option options selected [~id] The selected node, will be compared against #id
|
|
65
|
+
# @option options class [String] The CSS class to give the node
|
|
44
66
|
def node_tree(node_collection,nodes,options={})
|
|
45
67
|
node_url = Proc.new{|node| "" }
|
|
46
68
|
node_content = Proc.new{|node| node }
|
|
47
69
|
node_title = Proc.new{|node| "" }
|
|
48
|
-
options.reverse_merge!
|
|
70
|
+
options.reverse_merge!(
|
|
71
|
+
:id_prefix => "node",
|
|
72
|
+
:node_content => node_content,
|
|
73
|
+
:node_url => node_url,
|
|
74
|
+
:node_title => node_title,
|
|
75
|
+
:selected => nil,
|
|
76
|
+
:open_nodes => []
|
|
77
|
+
)
|
|
78
|
+
|
|
49
79
|
tags = []
|
|
50
80
|
nodes ||= []
|
|
81
|
+
open_nodes = options[:open_nodes] || []
|
|
82
|
+
|
|
83
|
+
logger.warn("ON #{open_nodes.inspect}");
|
|
51
84
|
|
|
52
85
|
nodes.each do |node|
|
|
53
86
|
selected = options[:selected].present? ? options[:selected].id == node.id : false
|
|
54
87
|
li = link_to(options[:node_content].call(node), options[:node_url].call(node), :class => (selected ? "selected" : nil), :title => options[:node_title].call(node))
|
|
55
88
|
li << node_tree(node_collection,node_collection[node.id],options) if node_collection.has_key?(node.id)
|
|
56
|
-
|
|
89
|
+
|
|
90
|
+
node_class = []
|
|
91
|
+
# node_class << node.open ? "open" : "closed" if node_collection.has_key?(node.id) && node.respond_to?(:open)
|
|
92
|
+
node_class << (open_nodes.include?("#{node.id}") ? "open" : "closed") if node_collection.has_key?(node.id)
|
|
93
|
+
node_class << options[:class] if options[:class]
|
|
94
|
+
|
|
95
|
+
tags << content_tag("li",li , :id => "#{options[:id_prefix]}_#{node.id}", :class => (node_class.any? ? node_class.join(" ") : nil))
|
|
57
96
|
end
|
|
58
97
|
|
|
59
98
|
content_tag("ul",tags.join("\n"));
|
|
60
99
|
end
|
|
61
100
|
|
|
101
|
+
# Get's the current user preferred open nodes
|
|
102
|
+
#
|
|
103
|
+
# @param String up_key The User preferences key to use ("a.b.c")
|
|
104
|
+
# @param ~id selected The currently selected node
|
|
105
|
+
#
|
|
106
|
+
def preferred_open_nodes(up_key, selected = nil)
|
|
107
|
+
open_nodes = []
|
|
108
|
+
if user_preferences = current_user.user_preferences.get(up_key)
|
|
109
|
+
open_nodes = user_preferences.inject([]) do |result, (k,v)|
|
|
110
|
+
if v
|
|
111
|
+
id = k
|
|
112
|
+
result << id
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Make sure parents are open.
|
|
118
|
+
if selected.present?
|
|
119
|
+
if selected.respond_to?("nesting")
|
|
120
|
+
selected.nesting.each do |p|
|
|
121
|
+
open_nodes << p.id.to_s
|
|
122
|
+
end
|
|
123
|
+
else
|
|
124
|
+
open_nodes << selected.parent_id.to_s
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
open_nodes
|
|
129
|
+
end
|
|
130
|
+
|
|
62
131
|
end
|
|
@@ -14,9 +14,20 @@ class Skyline::Article < ActiveRecord::Base
|
|
|
14
14
|
super
|
|
15
15
|
subclass.set_table_name subclass.name.underscore.gsub("/","_")
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
parentclass = subclass.parent
|
|
18
|
+
parentclass.class_eval do
|
|
19
|
+
belongs_to :default_variant_data, :class_name => subclass.name
|
|
20
|
+
belongs_to :published_publication_data, :class_name => subclass.name
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
subclass.class_eval do
|
|
24
|
+
has_one :article, :foreign_key => "published_publication_data_id", :class_name => parentclass.name
|
|
25
|
+
|
|
26
|
+
named_scope :published, {
|
|
27
|
+
:include => [:article],
|
|
28
|
+
:conditions => "skyline_articles.published_publication_data_id = #{self.table_name}.id"
|
|
29
|
+
}
|
|
30
|
+
end
|
|
20
31
|
|
|
21
32
|
if !Rails.configuration.cache_classes && !(ActiveSupport::Dependencies.load_once_path?(__FILE__) && subclass.parents[-2] == ::Skyline)
|
|
22
33
|
ActiveSupport::Dependencies.autoloaded_constants << subclass.to_s
|
|
@@ -183,7 +194,8 @@ class Skyline::Article < ActiveRecord::Base
|
|
|
183
194
|
|
|
184
195
|
def set_default_variant!(variant)
|
|
185
196
|
return if variant.id == self.default_variant_id && variant.data_id == self.default_variant_data_id
|
|
186
|
-
self.
|
|
197
|
+
self.attributes = {:default_variant_id => variant.id, :default_variant_data_id => variant.data_id}
|
|
198
|
+
self.save(false)
|
|
187
199
|
end
|
|
188
200
|
|
|
189
201
|
def set_default_variant(variant)
|
|
@@ -228,7 +240,7 @@ class Skyline::Article < ActiveRecord::Base
|
|
|
228
240
|
end
|
|
229
241
|
|
|
230
242
|
def renderable_scope
|
|
231
|
-
Skyline::
|
|
243
|
+
Skyline::Rendering::Scopes::Wildcard.new
|
|
232
244
|
end
|
|
233
245
|
|
|
234
246
|
protected
|
|
@@ -249,7 +261,7 @@ class Skyline::Article < ActiveRecord::Base
|
|
|
249
261
|
raise StandardError, "can't be destroyed because this page is persistent" if self.persistent?
|
|
250
262
|
end
|
|
251
263
|
|
|
252
|
-
#
|
|
264
|
+
# Reset ref objects that refer to this now removed Article.
|
|
253
265
|
# by setting referable_id = nil
|
|
254
266
|
def reset_ref_object
|
|
255
267
|
Skyline::RefObject.update_all({:referable_id => nil}, {:referable_id => self.id, :referable_type => self.class.name})
|