skylinecms 3.1.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/CHANGELOG +51 -1
- data/Gemfile +8 -0
- data/Rakefile +0 -43
- data/app/controllers/skyline/application_controller.rb +30 -26
- data/app/controllers/skyline/articles_controller.rb +8 -28
- data/app/controllers/skyline/authentications_controller.rb +6 -8
- data/app/controllers/skyline/browser/links_controller.rb +12 -8
- data/app/controllers/skyline/browser/tabs/linkables_controller.rb +9 -0
- data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +0 -12
- data/app/controllers/skyline/content/editors/editable_list_controller.rb +0 -4
- data/app/controllers/skyline/content/editors/joinable_list_controller.rb +1 -19
- data/app/controllers/skyline/content_controller.rb +14 -30
- data/app/controllers/skyline/content_items_controller.rb +3 -9
- data/app/controllers/skyline/content_sections_controller.rb +3 -10
- data/app/controllers/skyline/link_section_links_controller.rb +2 -10
- data/app/controllers/skyline/media/data_controller.rb +24 -14
- data/app/controllers/skyline/media/dirs_controller.rb +12 -26
- data/app/controllers/skyline/media/files_controller.rb +12 -28
- data/app/controllers/skyline/publications_controller.rb +0 -12
- data/app/controllers/skyline/published_publications_controller.rb +0 -4
- data/app/controllers/skyline/sections_controller.rb +4 -18
- data/app/controllers/skyline/site/media_files_data_controller.rb +11 -13
- data/app/controllers/skyline/site/pages_controller.rb +4 -3
- data/app/controllers/skyline/skyline2_controller.rb +1 -1
- data/app/controllers/skyline/users_controller.rb +7 -31
- data/app/controllers/skyline/variant_current_editor_controller.rb +5 -5
- data/app/controllers/skyline/variants_controller.rb +3 -3
- data/app/helpers/skyline/application_helper.rb +16 -5
- data/app/helpers/skyline/button_helper.rb +12 -18
- data/app/helpers/skyline/content_helper.rb +11 -11
- data/app/helpers/skyline/dialog_helper.rb +3 -2
- data/app/helpers/skyline/editors/checkable_list.rb +4 -2
- data/app/helpers/skyline/editors/date_time.rb +1 -1
- data/app/helpers/skyline/editors/display.rb +1 -1
- data/app/helpers/skyline/editors/editable_list.rb +13 -8
- data/app/helpers/skyline/editors/editor.rb +10 -10
- data/app/helpers/skyline/editors/list.rb +2 -2
- data/app/helpers/skyline/editors/page_browser.rb +1 -0
- data/app/helpers/skyline/editors/wysiwyg.rb +2 -3
- data/app/helpers/skyline/form_helper.rb +36 -0
- data/app/helpers/skyline/media/files_helper.rb +1 -1
- data/app/helpers/skyline/message_generator.rb +13 -4
- data/app/helpers/skyline/pages_helper.rb +1 -1
- data/app/helpers/skyline/plugin_helper.rb +1 -1
- data/app/helpers/skyline/presenters/presenter.rb +12 -8
- data/app/helpers/skyline/ref_object_helper.rb +9 -7
- data/app/helpers/skyline/translation_helper.rb +1 -1
- data/app/helpers/skyline/tree_helper.rb +1 -3
- data/app/middleware/skyline/flash_session_cookie_middleware.rb +6 -1
- data/app/middleware/skyline/plugins_loader_middleware.rb +1 -1
- data/app/middleware/skyline/sprockets_middleware.rb +1 -1
- data/app/models/skyline/article.rb +94 -26
- data/app/models/skyline/article_version.rb +22 -9
- data/app/models/skyline/image_ref.rb +1 -1
- data/app/models/skyline/inline_ref.rb +78 -62
- data/app/models/skyline/link_ref.rb +1 -1
- data/app/models/skyline/media_cache.rb +4 -2
- data/app/models/skyline/media_file.rb +2 -5
- data/app/models/skyline/media_node.rb +2 -2
- data/app/models/skyline/object_ref.rb +2 -2
- data/app/models/skyline/page.rb +8 -6
- data/app/models/skyline/page_fragment.rb +4 -2
- data/app/models/skyline/publication.rb +1 -1
- data/app/models/skyline/sections/content_collection_section.rb +1 -1
- data/app/models/skyline/sections/link_section.rb +1 -1
- data/app/models/skyline/user.rb +17 -7
- data/app/models/skyline/user_preference.rb +1 -1
- data/app/models/skyline/variant.rb +11 -5
- data/app/templates/skyline/page/default/index.html.erb +1 -1
- data/app/templates/skyline/sections/raw_section/default/index.html.erb +1 -1
- data/app/templates/skyline/sections/wysiwyg_section/default/index.html.erb +1 -1
- data/app/views/skyline/articles/_currently_editing.html.erb +1 -1
- data/app/views/skyline/articles/_meta.html.erb +24 -11
- data/app/views/skyline/articles/_security.html.erb +2 -2
- data/app/views/skyline/articles/_takeover_action.html.erb +1 -1
- data/app/views/skyline/articles/edit.html.erb +29 -16
- data/app/views/skyline/articles/edit_preview_only.html.erb +2 -2
- data/app/views/skyline/articles/index.html.erb +2 -2
- data/app/views/skyline/articles/page/_header.html.erb +1 -1
- data/app/views/skyline/articles/page/_index.html.erb +9 -3
- data/app/views/skyline/articles/page_fragment/_index.html.erb +7 -2
- data/app/views/skyline/articles/update.js.erb +20 -0
- data/app/views/skyline/authentications/new.html.erb +1 -1
- data/app/views/skyline/browser/links/_index.html.erb +2 -0
- data/app/views/skyline/browser/tabs/linkables/_index.html.erb +29 -0
- data/app/views/skyline/browser/tabs/linkables/_show.html.erb +67 -0
- data/app/views/skyline/browser/tabs/linkables/show.js.erb +4 -0
- data/app/views/skyline/browser/tabs/media_library/_index.html.erb +2 -2
- data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +4 -35
- data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +1 -3
- data/app/views/skyline/browser/tabs/media_library/media_files/index.js.erb +1 -0
- data/app/views/skyline/browser/tabs/media_library/media_files/show.js.erb +1 -0
- data/app/views/skyline/browser/tabs/pages/_index.html.erb +1 -1
- data/app/views/skyline/content/_add.rhtml +6 -1
- data/app/views/skyline/content/_filter.rhtml +1 -1
- data/app/views/skyline/content/_import.html.erb +1 -1
- data/app/views/skyline/content/_index.html.erb +2 -2
- data/app/views/skyline/content/_meta.html.erb +2 -2
- data/app/views/skyline/content/create.rhtml +1 -1
- data/app/views/skyline/content/edit.rhtml +1 -1
- data/app/views/skyline/content/editors/editable_list/new.js.erb +2 -0
- data/app/views/skyline/content/editors/joinable_list/_add.html.erb +17 -10
- data/app/views/skyline/content/editors/joinable_list/_list.html.erb +24 -8
- data/app/views/skyline/content/editors/joinable_list/cancel.js.erb +1 -0
- data/app/views/skyline/content/editors/joinable_list/index.js.erb +1 -0
- data/app/views/skyline/content/editors/joinable_list/new.js.erb +5 -0
- data/app/views/skyline/content/field.js.erb +2 -0
- data/app/views/skyline/content/import.js.erb +4 -0
- data/app/views/skyline/content/order.js.erb +6 -0
- data/app/views/skyline/content/presenters/_table.html.erb +1 -1
- data/app/views/skyline/content_items/_content_item.html.erb +2 -2
- data/app/views/skyline/content_items/new.js.erb +6 -0
- data/app/views/skyline/content_sections/_tags.html.erb +2 -2
- data/app/views/skyline/content_sections/new.js.erb +6 -0
- data/app/views/skyline/link_section_links/_form.html.erb +1 -1
- data/app/views/skyline/link_section_links/new.js.erb +4 -0
- data/app/views/skyline/locales/show.js.erb +3 -3
- data/app/views/skyline/media/dirs/_edit.html.erb +9 -7
- data/app/views/skyline/media/dirs/edit.js.erb +1 -0
- data/app/views/skyline/media/dirs/index.html.erb +16 -6
- data/app/views/skyline/media/dirs/index.js.erb +6 -0
- data/app/views/skyline/media/dirs/show.js.erb +5 -0
- data/app/views/skyline/media/files/_edit.html.erb +13 -11
- data/app/views/skyline/media/files/_index.html.erb +2 -2
- data/app/views/skyline/media/files/_new.html.erb +2 -2
- data/app/views/skyline/media/files/edit.js.erb +4 -0
- data/app/views/skyline/media/files/index.js.erb +4 -0
- data/app/views/skyline/media/files/update.js.erb +8 -0
- data/app/views/skyline/publications/_index.html.erb +2 -2
- data/app/views/skyline/publications/index.js.erb +9 -0
- data/app/views/skyline/sections/_content_collection_section.html.erb +6 -6
- data/app/views/skyline/sections/_content_item_section.html.erb +1 -1
- data/app/views/skyline/sections/_form.html.erb +4 -4
- data/app/views/skyline/sections/_link_section.html.erb +6 -1
- data/app/views/skyline/sections/_splitter_section.html.erb +1 -1
- data/app/views/skyline/sections/_wysiwyg_section.html.erb +2 -2
- data/app/views/skyline/sections/new.js.erb +12 -0
- data/app/views/skyline/settings/edit.html.erb +1 -1
- data/app/views/skyline/shared/_head.html.erb +3 -0
- data/app/views/skyline/shared/_header_area.html.erb +5 -5
- data/app/views/skyline/users/_edit.html.erb +1 -1
- data/app/views/skyline/users/_form.html.erb +1 -1
- data/app/views/skyline/users/_new.html.erb +1 -1
- data/app/views/skyline/users/create.js.erb +2 -0
- data/app/views/skyline/users/edit.js.erb +1 -0
- data/app/views/skyline/users/index.html.erb +21 -6
- data/app/views/skyline/users/new.js.erb +1 -0
- data/app/views/skyline/users/update.js.erb +2 -0
- data/config/initializers/dependencies.rb +1 -17
- data/config/initializers/gem_dependencies.rb +10 -0
- data/config/initializers/locales.rb +8 -1
- data/config/initializers/middlewares.rb +7 -3
- data/config/initializers/observers.rb +6 -4
- data/config/locales/en-US.yml +44 -34
- data/config/locales/nl-NL.yml +45 -33
- data/config/routes.rb +65 -74
- data/db/migrate/20090508145820_create_skyline_pages.rb +2 -2
- data/db/migrate/20090508145852_create_skyline_page_versions.rb +2 -2
- data/db/migrate/20090508150149_create_skyline_sections.rb +1 -1
- data/db/migrate/20090610142139_add_skyline_tags_taggable_type.rb +2 -2
- data/db/migrate/20090624154251_create_skyline_link_section_links.rb +1 -1
- data/db/migrate/20100120113953_remove_unused_articles_index.rb +1 -1
- data/db/migrate/20110816080626_add_skyline_test_article_data.rb +13 -0
- data/db/migrate/20111101092405_rename_indexes.rb +24 -0
- data/doc/INSTALL.md +54 -27
- data/doc/MIGRATION.md +27 -2
- data/lib/skyline.rb +2 -1
- data/lib/skyline/authentication/user.rb +80 -0
- data/lib/skyline/belongs_to_referable.rb +1 -1
- data/lib/skyline/cli/init.rb +14 -26
- data/lib/skyline/cli/init/templates/config/initializers/skyline_configuration.rb +0 -1
- data/lib/skyline/configuration.rb +74 -32
- data/lib/skyline/content/content.rb +7 -6
- data/lib/skyline/content/field_meta_data.rb +2 -2
- data/lib/skyline/content/stack.rb +1 -1
- data/lib/skyline/content_item_section_selectable.rb +4 -4
- data/lib/skyline/deprecated/version3_0_8.rb +2 -2
- data/lib/skyline/engine.rb +37 -0
- data/lib/skyline/form_builder.rb +8 -8
- data/lib/skyline/linkable.rb +28 -0
- data/lib/skyline/plugins/manager.rb +77 -0
- data/lib/skyline/plugins/plugin.rb +89 -0
- data/lib/skyline/rendering/helpers/renderer_helper.rb +1 -1
- data/lib/skyline/rendering/renderer.rb +27 -13
- data/lib/skyline/route_constraint.rb +15 -0
- data/lib/skyline/settings.rb +9 -7
- data/lib/skyline/taggable.rb +2 -2
- data/lib/skyline/version.rb +4 -4
- data/lib/skylinecms.rb +5 -3
- data/lib/tasks/database.rake +2 -2
- data/public/skyline/javascripts/src/application.js +5 -4
- data/public/skyline/javascripts/src/rails.js +165 -0
- data/public/skyline/javascripts/src/sections.js +6 -9
- data/public/skyline/javascripts/src/skyline.editor/src/plugins/autoresize/editor_plugin.js +72 -27
- data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/dialog.js +13 -12
- data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/dialog.js +7 -7
- data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +4 -3
- data/public/skyline/javascripts/src/skyline.editor/src/theme.js +101 -536
- data/public/skyline/javascripts/src/skyline.editor/test/multiple_editors.html +1 -0
- data/public/skyline/javascripts/src/skyline.editor/test/single.html +56 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +1410 -1091
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/accessibility.html +101 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/custom_formats.html +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +12 -12
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/media_list.js +5 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.flv +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +2 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +4 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +3 -2
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +1 -170
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js +1 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +30 -29
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +34 -31
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +32 -13
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +1 -43
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +21 -17
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +1 -52
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +35 -30
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js +31 -9
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js +172 -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 +23 -5
- 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 +14 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +1 -1
- 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 +34 -21
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +15 -14
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +1 -20
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js +50 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +3 -42
- 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 +315 -63
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +18 -330
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +199 -438
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +1 -85
- 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 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +2 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +80 -16
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +2 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +31 -28
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js +781 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +5 -4
- 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 +703 -295
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js +361 -602
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js +1 -103
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +365 -285
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/moxieplayer.swf +0 -0
- 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 +4 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +7 -2
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +1 -4
- 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 +148 -239
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +1 -5
- 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 +4 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +18 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +1 -16
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +17 -16
- 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 +55 -38
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js +3 -9
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +1 -63
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +515 -398
- 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 +122 -112
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +16 -14
- 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 +1364 -1139
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +44 -11
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +18 -18
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +15 -14
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +1 -74
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +11 -11
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +12 -9
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +54 -53
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js +1 -15
- 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 +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +36 -20
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +6 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +6 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +6 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +5 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +9 -8
- 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 +6 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +11 -10
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +1 -16
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +2 -12
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +3 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +4 -13
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +1 -32
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +3 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +5 -5
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +39 -40
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +10 -9
- 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 +195 -54
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +51 -51
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
- 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/img/iframe.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/pagebreak → themes/advanced}/img/pagebreak.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/realmedia.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/trans.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/video.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/windowsmedia.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +5 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +26 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js +108 -32
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +12 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +4 -7
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +6 -12
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js +1 -62
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js +1 -51
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +27 -28
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/shortcuts.htm +47 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +14 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +5 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +24 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +12 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +1 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +8 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +3 -3
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +1 -2
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js +1 -11
- 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 +7838 -5579
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +1 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +14 -4
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +95 -10
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +35 -3
- data/public/skyline/javascripts/src/skyline/src/drag.js +10 -7
- data/public/skyline/javascripts/src/skyline/src/layout.js +13 -12
- data/public/skyline/javascripts/src/skyline/src/menubutton.js +1 -3
- data/public/skyline/javascripts/src/skyline/src/sortable.js +7 -5
- data/public/skyline/javascripts/src/skyline/src/tree.js +8 -4
- data/public/skyline/javascripts/src/skyline/test/sortable.html +73 -12
- data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +485 -2
- data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +130 -81
- data/public/skyline/stylesheets/general.css +23 -6
- data/skylinecms.gemspec +45 -0
- data/test/mocks/test_article.rb +11 -0
- data/test/mocks/test_section.rb +1 -1
- data/test/test_helper.rb +2 -1
- data/test/unit/article_test.rb +142 -0
- data/test/unit/inline_ref_test.rb +38 -16
- data/test/unit/test_content_object_test.rb +2 -1
- data/vendor/digitpaint/nested_attributes_positioning.rb +1 -1
- metadata +207 -487
- data/app/helpers/skyline/media_files_helper.rb +0 -7
- data/config/initializers/javascript_generator_methods.rb +0 -4
- data/config/initializers/rails_defaults.rb +0 -6
- data/doc/Bundler.md +0 -76
- data/lib/skyline/plugins_manager.rb +0 -150
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +0 -84
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +0 -6
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css +0 -1
- data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
- data/rails/init.rb +0 -32
- data/vendor/digitpaint/personify/README.md +0 -86
- data/vendor/digitpaint/personify/lib/parser/personify.rb +0 -838
- data/vendor/digitpaint/personify/lib/parser/personify.treetop +0 -126
- data/vendor/digitpaint/personify/lib/parser/personify_node_classes.rb +0 -7
- data/vendor/digitpaint/personify/lib/template.rb +0 -16
- data/vendor/digitpaint/personify/personify.rb +0 -7
- data/vendor/digitpaint/personify/script/generate_parser.rb +0 -6
- data/vendor/digitpaint/personify/test/fixtures/multiple_tags.txt +0 -8
- data/vendor/digitpaint/personify/test/parse_runner.rb +0 -25
- data/vendor/digitpaint/personify/test/parser_test.rb +0 -109
- data/vendor/digitpaint/personify/test/test_helper.rb +0 -16
- data/vendor/digitpaint/personify/vendor/treetop/.gitignore +0 -5
- data/vendor/digitpaint/personify/vendor/treetop/History.txt +0 -9
- data/vendor/digitpaint/personify/vendor/treetop/README +0 -164
- data/vendor/digitpaint/personify/vendor/treetop/Rakefile +0 -20
- data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +0 -20
- data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +0 -18
- data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +0 -251
- data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/info.plist +0 -10
- data/vendor/digitpaint/personify/vendor/treetop/bin/tt +0 -28
- data/vendor/digitpaint/personify/vendor/treetop/doc/contributing_and_planned_features.markdown +0 -103
- data/vendor/digitpaint/personify/vendor/treetop/doc/grammar_composition.markdown +0 -65
- data/vendor/digitpaint/personify/vendor/treetop/doc/index.markdown +0 -90
- data/vendor/digitpaint/personify/vendor/treetop/doc/pitfalls_and_advanced_techniques.markdown +0 -51
- data/vendor/digitpaint/personify/vendor/treetop/doc/semantic_interpretation.markdown +0 -189
- data/vendor/digitpaint/personify/vendor/treetop/doc/site.rb +0 -110
- data/vendor/digitpaint/personify/vendor/treetop/doc/sitegen.rb +0 -60
- data/vendor/digitpaint/personify/vendor/treetop/doc/syntactic_recognition.markdown +0 -100
- data/vendor/digitpaint/personify/vendor/treetop/doc/using_in_ruby.markdown +0 -21
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.rb +0 -551
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.treetop +0 -97
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_node_classes.rb +0 -7
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_test.rb +0 -54
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus +0 -0
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.rb +0 -718
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.treetop +0 -132
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_node_classes.rb +0 -5
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_test.rb +0 -89
- data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/test_helper.rb +0 -18
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop.rb +0 -11
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +0 -45
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler.rb +0 -6
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +0 -40
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +0 -17
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.rb +0 -2955
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +0 -404
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes.rb +0 -19
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +0 -20
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +0 -14
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +0 -22
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +0 -31
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +0 -24
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +0 -28
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +0 -27
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +0 -13
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +0 -19
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +0 -9
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +0 -138
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +0 -55
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +0 -45
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +0 -55
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +0 -68
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +0 -20
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +0 -9
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +0 -9
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +0 -113
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions.rb +0 -2
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions/string.rb +0 -42
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime.rb +0 -5
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +0 -95
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +0 -4
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +0 -15
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +0 -200
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +0 -164
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/syntax_node.rb +0 -72
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +0 -16
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +0 -17
- data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/version.rb +0 -9
- data/vendor/digitpaint/personify/vendor/treetop/script/generate_metagrammar.rb +0 -14
- data/vendor/digitpaint/personify/vendor/treetop/script/svnadd +0 -11
- data/vendor/digitpaint/personify/vendor/treetop/script/svnrm +0 -11
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/and_predicate_spec.rb +0 -36
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/anything_symbol_spec.rb +0 -52
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/character_class_spec.rb +0 -188
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/choice_spec.rb +0 -80
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/circular_compilation_spec.rb +0 -28
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +0 -21
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +0 -84
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_spec.rb +0 -41
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +0 -40
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/not_predicate_spec.rb +0 -38
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/one_or_more_spec.rb +0 -35
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/optional_spec.rb +0 -37
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +0 -19
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parsing_rule_spec.rb +0 -32
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/sequence_spec.rb +0 -115
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_spec.rb +0 -81
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +0 -37
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.treetop +0 -7
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.tt +0 -7
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar_do.treetop +0 -7
- data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/zero_or_more_spec.rb +0 -56
- data/vendor/digitpaint/personify/vendor/treetop/spec/composition/a.treetop +0 -11
- data/vendor/digitpaint/personify/vendor/treetop/spec/composition/b.treetop +0 -11
- data/vendor/digitpaint/personify/vendor/treetop/spec/composition/c.treetop +0 -10
- data/vendor/digitpaint/personify/vendor/treetop/spec/composition/d.treetop +0 -10
- data/vendor/digitpaint/personify/vendor/treetop/spec/composition/grammar_composition_spec.rb +0 -26
- data/vendor/digitpaint/personify/vendor/treetop/spec/ruby_extensions/string_spec.rb +0 -32
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/compiled_parser_spec.rb +0 -101
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +0 -147
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +0 -349
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +0 -385
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +0 -660
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +0 -6175
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +0 -58
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +0 -23
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +0 -164
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +0 -84
- data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/syntax_node_spec.rb +0 -53
- data/vendor/digitpaint/personify/vendor/treetop/spec/spec_helper.rb +0 -106
- data/vendor/digitpaint/personify/vendor/treetop/spec/spec_suite.rb +0 -4
- data/vendor/digitpaint/personify/vendor/treetop/treetop.gemspec +0 -18
- data/vendor/mootools-on-rails/README +0 -54
- data/vendor/mootools-on-rails/Rakefile +0 -22
- data/vendor/mootools-on-rails/lib/mootools_on_rails.rb +0 -30
- data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +0 -510
- data/vendor/mootools-on-rails/test/mootools_helper_test.rb +0 -138
- data/vendor/mootools-on-rails/test/test_helper.rb +0 -5
@@ -6,8 +6,8 @@ class Skyline::Editors::List < Skyline::Editors::Editor
|
|
6
6
|
private
|
7
7
|
def option_tags
|
8
8
|
list = case field.list
|
9
|
-
when Array, Hash
|
10
|
-
when Proc
|
9
|
+
when Array, Hash then field.list
|
10
|
+
when Proc then perform_proc(field.list)
|
11
11
|
end
|
12
12
|
options_for_select(list,field.attribute_value(self.record))
|
13
13
|
end
|
@@ -8,6 +8,7 @@ class Skyline::Editors::PageBrowser < Skyline::Editors::Editor
|
|
8
8
|
input_id_prefix = input_id(attr_names) # ie: element_image_attributes
|
9
9
|
|
10
10
|
association = field.name.to_s.gsub(/_id$/, "") # ie: image
|
11
|
+
|
11
12
|
location = nil
|
12
13
|
if record.respond_to?(association)
|
13
14
|
location = :model
|
@@ -5,10 +5,9 @@ class Skyline::Editors::Wysiwyg < Skyline::Editors::Editor
|
|
5
5
|
record.send(field.name),
|
6
6
|
:class => "wysiwyg",
|
7
7
|
:rows => 15,
|
8
|
-
:cols => 90,
|
9
8
|
:id => self.tag_id,
|
10
|
-
:style => params_to_styles(field.style)
|
11
|
-
), :class => "section")
|
9
|
+
:style => "width: 100%; height: 5px; #{params_to_styles(field.style)}"
|
10
|
+
).html_safe, :class => "section")
|
12
11
|
out << self.tinymce_js
|
13
12
|
end
|
14
13
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Skyline::FormHelper
|
2
|
+
|
3
|
+
def skyline_form_for(record_or_name_or_array, *args, &proc)
|
4
|
+
options = args.extract_options!
|
5
|
+
with_custom_field_error_proc do
|
6
|
+
self.form_for(record_or_name_or_array, *(args << options.merge(:builder => Skyline::FormBuilder)), &proc)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def skyline_fields_for(record_or_name_or_array, *args, &block)
|
11
|
+
options = args.extract_options!
|
12
|
+
with_custom_field_error_proc do
|
13
|
+
self.fields_for(record_or_name_or_array, *(args << options.merge(:builder => Skyline::FormBuilder)), &proc)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
protected
|
19
|
+
|
20
|
+
# Override the default ActiveRecordHelper behaviour of wrapping the input.
|
21
|
+
# This gets taken care of semantically by adding an error class to the LI tag
|
22
|
+
# containing the input.
|
23
|
+
# @private
|
24
|
+
FIELD_ERROR_PROC = proc do |html_tag, instance_tag|
|
25
|
+
html_tag
|
26
|
+
end
|
27
|
+
|
28
|
+
def with_custom_field_error_proc(&block)
|
29
|
+
default_field_error_proc = ::ActionView::Base.field_error_proc
|
30
|
+
::ActionView::Base.field_error_proc = FIELD_ERROR_PROC
|
31
|
+
yield
|
32
|
+
ensure
|
33
|
+
::ActionView::Base.field_error_proc = default_field_error_proc
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Skyline::Media::FilesHelper
|
2
2
|
def skyline_media_dir_files_path_with_session_information(media_dir)
|
3
|
-
session_key =
|
3
|
+
session_key = Rails.application.config.session_options[:key]
|
4
4
|
skyline_media_dir_files_path(media_dir, session_key => cookies[session_key], request_forgery_protection_token => form_authenticity_token)
|
5
5
|
end
|
6
6
|
end
|
@@ -2,8 +2,8 @@
|
|
2
2
|
class Skyline::MessageGenerator
|
3
3
|
include ActionView::Helpers::JavaScriptHelper
|
4
4
|
|
5
|
-
def initialize(type,message,options={})
|
6
|
-
(@options = options || {}).update(:type =>
|
5
|
+
def initialize(type, message, options={})
|
6
|
+
(@options = options || {}).update(:type => type.to_s)
|
7
7
|
@message = message
|
8
8
|
end
|
9
9
|
|
@@ -11,11 +11,20 @@ class Skyline::MessageGenerator
|
|
11
11
|
options = @options.dup
|
12
12
|
options.each do |k,v|
|
13
13
|
options[k] = case v
|
14
|
-
when Hash
|
14
|
+
when Hash then v.to_json
|
15
15
|
else v
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
|
+
js_options = [:area]
|
20
|
+
options_str = options.keys.map do |k|
|
21
|
+
str = js_options.include?(k.to_sym) ? options[k] : "'#{escape_javascript(options[k])}'"
|
22
|
+
"#{k} : #{str}"
|
23
|
+
end.join(", ")
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
"new #{self.js_object}('#{self.escape_javascript(@message)}',{#{options_str.html_safe}})".html_safe
|
19
28
|
end
|
20
29
|
|
21
30
|
def to_str
|
@@ -8,7 +8,7 @@ module Skyline::PluginHelper
|
|
8
8
|
plugin_template = template.sub(".html.erb", "_#{name}.html.erb")
|
9
9
|
|
10
10
|
logger.debug "Looking for template #{plugin_template} in plugins..."
|
11
|
-
Dir[
|
11
|
+
Dir[Rails.application.config.skyline_plugins_manager.plugin_path + "*/app/views/#{plugin_template}"].each do |file|
|
12
12
|
if Rails.env == "development"
|
13
13
|
concat render(:inline => File.read(file), :layout => nil)
|
14
14
|
else
|
@@ -36,9 +36,12 @@ class Skyline::Presenters::Presenter
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def delete_button(record)
|
39
|
-
|
40
|
-
|
41
|
-
|
39
|
+
link_to(
|
40
|
+
button_text(:delete),
|
41
|
+
{:action => "delete",:types => stack.url_types(:down => [record.id]),:return_to => url_for({})},
|
42
|
+
:remote => true,
|
43
|
+
:confirm => t(:confirm_deletion, :scope => [:content,:list], :class => self.fieldset.singular_name),
|
44
|
+
:class => "button small red")
|
42
45
|
end
|
43
46
|
|
44
47
|
|
@@ -94,7 +97,8 @@ class Skyline::Presenters::Presenter
|
|
94
97
|
|
95
98
|
case field.editor
|
96
99
|
# :publish editor is temporary editor created by the presenter itself.
|
97
|
-
when :publish
|
100
|
+
when :publish
|
101
|
+
[content ? image_tag("/skyline/images/icons/true.gif", :alt => t(:true, :scope => [:icons])) : image_tag("/skyline/images/icons/false.gif", :alt => t(:true, :scope => [:icons])),{:class => "center"}]
|
98
102
|
else normalize_content(content,field)
|
99
103
|
end
|
100
104
|
end
|
@@ -102,15 +106,15 @@ class Skyline::Presenters::Presenter
|
|
102
106
|
|
103
107
|
def normalize_content(content,field=nil)
|
104
108
|
case content
|
105
|
-
when /<.+?>/
|
109
|
+
when /<.+?>/ then
|
106
110
|
if field.filter_html == false
|
107
111
|
content.to_s
|
108
112
|
else
|
109
113
|
truncate(simple_format(strip_tags(content.gsub("<br />", "<br />\n").gsub("</p>", "</p>\n"))),150)
|
110
114
|
end
|
111
|
-
when String
|
112
|
-
when TrueClass,FalseClass
|
113
|
-
when Date,Time
|
115
|
+
when String then truncate(content,:length => 150)
|
116
|
+
when TrueClass,FalseClass then [(content ? image_tag("/skyline/images/icons/true.gif") : image_tag("/skyline/images/icons/false.gif")),{:class => "center"}]
|
117
|
+
when Date,Time then l(content, :format => :long)
|
114
118
|
else content.to_s
|
115
119
|
end
|
116
120
|
end
|
@@ -58,27 +58,29 @@ module Skyline::RefObjectHelper
|
|
58
58
|
end
|
59
59
|
|
60
60
|
|
61
|
-
deselect_button = link_to_function(button_text(:delete), "Application.Browser.unlink('#{options[:container]}');", :class => "button small red delete")
|
62
|
-
browse_button = link_to_function(button_text(:browse), "Application.Browser.browse#{browser.to_s.camelcase}For('#{options[:container]}');", :class => "button small")
|
61
|
+
deselect_button = link_to_function(button_text(:delete), "Application.Browser.unlink('#{options[:container]}');", :class => "button small red delete").html_safe
|
62
|
+
browse_button = link_to_function(button_text(:browse), "Application.Browser.browse#{browser.to_s.camelcase}For('#{options[:container]}');", :class => "button small").html_safe
|
63
63
|
|
64
|
-
c << content_tag("div", :class => "not-linked") do
|
64
|
+
c << content_tag("div", {:class => "not-linked"}) do
|
65
65
|
nl = []
|
66
|
-
nl << content_tag("span",t(:nothing_selected, :scope => [:browser,browser]), :class => "title")
|
66
|
+
nl << content_tag("span",t(:nothing_selected, :scope => [:browser,browser]), {:class => "title"}, false)
|
67
67
|
nl << browse_button
|
68
|
+
nl.join.html_safe
|
68
69
|
end
|
69
70
|
|
70
|
-
c << content_tag("div", :class => "linked") do
|
71
|
+
c << content_tag("div", {:class => "linked"}) do
|
71
72
|
l = []
|
72
73
|
referable_title = content_tag("span", ref_object_title(linked_form.object.andand.referable) + " ", :id => linked_form.dom_id(:title), :class => "title referable_title")
|
73
74
|
l << t(:links_to, :scope => [:browser,browser], :referable_title => referable_title)
|
74
75
|
l << deselect_button
|
75
76
|
l << " "
|
76
77
|
l << browse_button
|
78
|
+
l.join.html_safe
|
77
79
|
end
|
78
80
|
|
79
|
-
c = content_tag("div", c.join, :class => "relatesTo #{"linked" if linked_form.object.present? && !linked_form.object.andand.marked_for_destruction?}")
|
81
|
+
c = content_tag("div", c.join.html_safe, :class => "relatesTo #{"linked" if linked_form.object.present? && !linked_form.object.andand.marked_for_destruction?}")
|
80
82
|
end
|
81
83
|
|
82
|
-
content_tag("div", c, :id => form_builder.dom_id(field), :class => css_class) + form_builder.fieldset_errors(field)
|
84
|
+
content_tag("div", c, :id => form_builder.dom_id(field), :class => css_class) + form_builder.fieldset_errors(field)
|
83
85
|
end
|
84
86
|
end
|
@@ -21,7 +21,7 @@ module Skyline::TranslationHelper
|
|
21
21
|
klass_index = options[:scope].index(klass)
|
22
22
|
options[:raise] = true
|
23
23
|
|
24
|
-
klass.
|
24
|
+
klass.lookup_ancestors.map do |superklass|
|
25
25
|
begin
|
26
26
|
o = options.dup
|
27
27
|
o[:scope][klass_index] = superklass.name.underscore.sub(/^skyline\//, "")
|
@@ -80,8 +80,6 @@ module Skyline::TreeHelper
|
|
80
80
|
nodes ||= []
|
81
81
|
open_nodes = options[:open_nodes] || []
|
82
82
|
|
83
|
-
logger.warn("ON #{open_nodes.inspect}");
|
84
|
-
|
85
83
|
nodes.each do |node|
|
86
84
|
selected = options[:selected].present? ? options[:selected].id == node.id : false
|
87
85
|
li = link_to(options[:node_content].call(node), options[:node_url].call(node), :class => (selected ? "selected" : nil), :title => options[:node_title].call(node))
|
@@ -95,7 +93,7 @@ module Skyline::TreeHelper
|
|
95
93
|
tags << content_tag("li",li , :id => "#{options[:id_prefix]}_#{node.id}", :class => (node_class.any? ? node_class.join(" ") : nil))
|
96
94
|
end
|
97
95
|
|
98
|
-
content_tag("ul",tags.join("\n"));
|
96
|
+
content_tag("ul",tags.join("\n").html_safe);
|
99
97
|
end
|
100
98
|
|
101
99
|
# Get's the current user preferred open nodes
|
@@ -8,8 +8,13 @@ class Skyline::FlashSessionCookieMiddleware
|
|
8
8
|
|
9
9
|
def call(env)
|
10
10
|
if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/
|
11
|
+
if @session_key.respond_to?(:call)
|
12
|
+
sk = @session_key.call
|
13
|
+
else
|
14
|
+
sk = @session_key
|
15
|
+
end
|
11
16
|
params = ::Rack::Utils.parse_query(env['QUERY_STRING'])
|
12
|
-
env['HTTP_COOKIE'] = [
|
17
|
+
env['HTTP_COOKIE'] = [ sk, params[sk] ].join('=').freeze unless params[sk].nil?
|
13
18
|
end
|
14
19
|
@app.call(env)
|
15
20
|
end
|
@@ -15,7 +15,7 @@ class Skyline::SprocketsMiddleware
|
|
15
15
|
yield(self) if block_given?
|
16
16
|
end
|
17
17
|
|
18
|
-
def register_load_location(paths)
|
18
|
+
def register_load_location(*paths)
|
19
19
|
all_paths = paths.map { |path| Dir[Pathname.new(@environment.root.absolute_location) + path].sort }.flatten.compact
|
20
20
|
all_paths.each do |p|
|
21
21
|
@environment.register_load_location(p)
|
@@ -23,7 +23,7 @@ class Skyline::Article < ActiveRecord::Base
|
|
23
23
|
subclass.class_eval do
|
24
24
|
has_one :article, :foreign_key => "published_publication_data_id", :class_name => parentclass.name
|
25
25
|
|
26
|
-
|
26
|
+
scope :published, {
|
27
27
|
:include => [:article],
|
28
28
|
:conditions => "skyline_articles.published_publication_data_id = #{self.table_name}.id"
|
29
29
|
}
|
@@ -48,16 +48,19 @@ class Skyline::Article < ActiveRecord::Base
|
|
48
48
|
set_table_name :skyline_articles
|
49
49
|
|
50
50
|
# Associations
|
51
|
-
has_many :versions, :class_name => "Skyline::ArticleVersion"
|
51
|
+
has_many :versions, :class_name => "Skyline::ArticleVersion"
|
52
|
+
# Variants well be destroyed in the after_destroy!! (Don't try to destro the versions!)
|
52
53
|
has_many :variants, :class_name => "Skyline::Variant"
|
53
54
|
has_many :publications, :class_name => "Skyline::Publication", :dependent => :destroy
|
54
55
|
belongs_to :published_publication, :class_name => "Skyline::Publication"
|
55
56
|
belongs_to :default_variant, :class_name => "Skyline::Variant"
|
56
57
|
|
57
58
|
# Scopes
|
58
|
-
|
59
|
+
scope :published, {:conditions => "published_publication_id IS NOT NULL"}
|
59
60
|
|
60
61
|
# Callbacks
|
62
|
+
after_initialize :build_variant_with_data
|
63
|
+
after_save :set_default_variant_after_save
|
61
64
|
before_destroy :confirm_destroyability
|
62
65
|
after_destroy :reset_ref_object
|
63
66
|
after_destroy :destroy_variants
|
@@ -68,6 +71,9 @@ class Skyline::Article < ActiveRecord::Base
|
|
68
71
|
accepts_nested_attributes_for :variants
|
69
72
|
|
70
73
|
attr_protected :locked unless Skyline::Configuration.enable_locking
|
74
|
+
|
75
|
+
# Stores a variant that will become the default variant AFTER save
|
76
|
+
attr_accessor :becomes_default_variant_after_save
|
71
77
|
|
72
78
|
class << self
|
73
79
|
def to_param
|
@@ -86,10 +92,27 @@ class Skyline::Article < ActiveRecord::Base
|
|
86
92
|
# Is this type of article publishable?
|
87
93
|
#
|
88
94
|
# @return [true,false] Wether or not this article type can be published
|
89
|
-
# @abstract Implement in subclass if needed, true is
|
95
|
+
# @abstract Implement in subclass if needed, true is the default.
|
90
96
|
def publishable?
|
91
97
|
true
|
92
98
|
end
|
99
|
+
|
100
|
+
# Can this type of article be locked?
|
101
|
+
#
|
102
|
+
# @return [true,false] Wether or not this article type can be locked
|
103
|
+
# @abstract Implement in subclass if needed, true is the default
|
104
|
+
def lockable?
|
105
|
+
true
|
106
|
+
end
|
107
|
+
|
108
|
+
# Can this type of article have multiple variants?
|
109
|
+
#
|
110
|
+
# @return [true,false]
|
111
|
+
# @abstract Implement in subclass if needed, true is the default
|
112
|
+
def can_have_multiple_variants?
|
113
|
+
true
|
114
|
+
end
|
115
|
+
|
93
116
|
end
|
94
117
|
|
95
118
|
# Has this article been puslished?
|
@@ -159,25 +182,57 @@ class Skyline::Article < ActiveRecord::Base
|
|
159
182
|
self.renderable?
|
160
183
|
end
|
161
184
|
|
162
|
-
|
163
|
-
|
164
|
-
|
185
|
+
# Can this article instance be locked?
|
186
|
+
#
|
187
|
+
# Defaults to the Skyline::Article.lockable?
|
188
|
+
#
|
189
|
+
# @see Skyline::Article.lockable?
|
190
|
+
def lockable?
|
191
|
+
self.class.lockable?
|
165
192
|
end
|
166
193
|
|
194
|
+
# Can this article instance have multiple variants?
|
195
|
+
#
|
196
|
+
# Defaults to Skyline::Article.can_have_multiple_variants?
|
197
|
+
#
|
198
|
+
# @see Skyline::Article.can_have_multiple_variants?
|
199
|
+
def can_have_multiple_variants?
|
200
|
+
self.class.can_have_multiple_variants?
|
201
|
+
end
|
202
|
+
|
203
|
+
# Do we need to keep the history of this article?
|
204
|
+
#
|
205
|
+
# If true, this article will have multiple publications, if false, there is only one published publication.
|
206
|
+
#
|
207
|
+
# @return [true, false] Default is false
|
167
208
|
def keep_history?
|
168
209
|
false
|
169
210
|
end
|
170
|
-
|
171
|
-
def
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
211
|
+
|
212
|
+
def clone
|
213
|
+
s = super.tap do |clone|
|
214
|
+
clone.created_at = nil
|
215
|
+
clone.updated_at = nil
|
216
|
+
clone.default_variant_id = nil
|
217
|
+
clone.default_variant_data_id = nil
|
218
|
+
clone.default_variant = nil
|
219
|
+
clone.default_variant_data = nil
|
220
|
+
clone.published_publication_id = nil
|
221
|
+
clone.published_publication_data_id = nil
|
222
|
+
|
223
|
+
clone.publications.clear
|
224
|
+
clone.versions.clear
|
225
|
+
clone.variants.clear
|
226
|
+
|
227
|
+
self.variants.each do |variant|
|
228
|
+
variant_clone = variant.clone
|
229
|
+
clone.variants << variant_clone
|
230
|
+
variant_clone.article = clone
|
231
|
+
variant_clone.article_id = nil
|
232
|
+
self.becomes_default_variant_after_save = variant_clone if variant == self.default_variant
|
233
|
+
end
|
234
|
+
clone
|
235
|
+
end
|
181
236
|
end
|
182
237
|
|
183
238
|
|
@@ -187,25 +242,28 @@ class Skyline::Article < ActiveRecord::Base
|
|
187
242
|
# @param user [Skyline::User,Integer] The user or user id to check the access for.
|
188
243
|
# @return [true,false] True if the user can edit this page, false otherwise
|
189
244
|
def editable_by?(user)
|
190
|
-
user = user.kind_of?(Skyline::
|
245
|
+
user = user.kind_of?(Skyline::Configuration.user_class) ? user : Skyline::Configuration.user_class.find_by_identification(user)
|
191
246
|
self.locked? && user.allow?(:page_lock) || !self.locked?
|
192
247
|
end
|
193
248
|
|
194
249
|
|
195
250
|
def set_default_variant!(variant)
|
196
|
-
|
197
|
-
|
198
|
-
|
251
|
+
if set_default_variant(variant)
|
252
|
+
self.save(:validate => false)
|
253
|
+
end
|
199
254
|
end
|
200
255
|
|
201
256
|
def set_default_variant(variant)
|
202
|
-
return if variant.id == self.default_variant_id && variant.data_id == self.default_variant_data_id
|
257
|
+
return false if variant.id == self.default_variant_id && variant.data_id == self.default_variant_data_id
|
203
258
|
self.attributes = {:default_variant_id => variant.id, :default_variant_data_id => variant.data_id}
|
259
|
+
true
|
204
260
|
end
|
205
261
|
|
206
262
|
# The class that provides our custom data fields.
|
207
263
|
#
|
208
264
|
# @return [Class,false] False if we don't have an inner Data class, the inner Data class if there is one.
|
265
|
+
#
|
266
|
+
# TODO : Dataleak waiting to happen (!!)
|
209
267
|
def data_class
|
210
268
|
# Note: We can't use memoize here, because it freezes the class
|
211
269
|
return @_data_class unless @_data_class.nil?
|
@@ -231,21 +289,31 @@ class Skyline::Article < ActiveRecord::Base
|
|
231
289
|
nil
|
232
290
|
end
|
233
291
|
|
292
|
+
# Multisite interface
|
234
293
|
def sites
|
235
294
|
[Skyline::Site.new]
|
236
295
|
end
|
237
296
|
|
297
|
+
# Multisite interface
|
238
298
|
def site
|
239
299
|
Skyline::Site.new
|
240
300
|
end
|
241
301
|
|
302
|
+
# Multisite interface
|
242
303
|
def renderable_scope
|
243
304
|
Skyline::Rendering::Scopes::Wildcard.new
|
244
305
|
end
|
245
306
|
|
246
307
|
protected
|
247
308
|
|
248
|
-
def
|
309
|
+
def set_default_variant_after_save
|
310
|
+
if self.becomes_default_variant_after_save && self.becomes_default_variant_after_save != self.default_variant
|
311
|
+
self.set_default_variant!(self.becomes_default_variant_after_save)
|
312
|
+
self.becomes_default_variant_after_save = nil
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
def build_variant_with_data
|
249
317
|
if self.new_record?
|
250
318
|
v = self.variants.build(:article => self)
|
251
319
|
self.default_variant_data = v.data
|
@@ -253,12 +321,12 @@ class Skyline::Article < ActiveRecord::Base
|
|
253
321
|
end
|
254
322
|
|
255
323
|
def has_at_least_one_variant
|
256
|
-
self.errors.add "must have at least one Variant" if self.variants.empty?
|
324
|
+
self.errors.add :variants, "must have at least one Variant" if self.variants.empty?
|
257
325
|
end
|
258
326
|
|
259
327
|
|
260
328
|
def confirm_destroyability
|
261
|
-
raise StandardError, "can't be destroyed because this
|
329
|
+
raise StandardError, "can't be destroyed because this article is persistent" if self.persistent?
|
262
330
|
end
|
263
331
|
|
264
332
|
# Reset ref objects that refer to this now removed Article.
|