adva_cms 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/NOTES +132 -0
- data/README.md +29 -0
- data/Rakefile +2 -0
- data/adva_cms.gemspec +22 -0
- data/app/assets/images/adva_cms/admin/header_bg.png +0 -0
- data/app/assets/images/adva_cms/admin/section_menu_bg.png +0 -0
- data/app/assets/images/adva_cms/admin/tab_action_active.png +0 -0
- data/app/assets/images/adva_cms/admin/tab_main_active.png +0 -0
- data/app/assets/images/adva_cms/admin/tab_sidebar_active.png +0 -0
- data/app/assets/images/adva_cms/admin/tab_top_active.png +0 -0
- data/app/assets/images/adva_cms/asset_selected.png +0 -0
- data/app/assets/images/adva_cms/avatar.gif +0 -0
- data/app/assets/images/adva_cms/filter-bg.png +0 -0
- data/app/assets/images/adva_cms/icons/accept.png +0 -0
- data/app/assets/images/adva_cms/icons/add.png +0 -0
- data/app/assets/images/adva_cms/icons/arrow_cross.png +0 -0
- data/app/assets/images/adva_cms/icons/arrow_cross_2.png +0 -0
- data/app/assets/images/adva_cms/icons/arrow_cross_3.png +0 -0
- data/app/assets/images/adva_cms/icons/arrow_up_down.png +0 -0
- data/app/assets/images/adva_cms/icons/assets/audio.png +0 -0
- data/app/assets/images/adva_cms/icons/assets/doc.png +0 -0
- data/app/assets/images/adva_cms/icons/assets/pdf.png +0 -0
- data/app/assets/images/adva_cms/icons/assets/video.png +0 -0
- data/app/assets/images/adva_cms/icons/attach.png +0 -0
- data/app/assets/images/adva_cms/icons/bin.png +0 -0
- data/app/assets/images/adva_cms/icons/bin_closed.png +0 -0
- data/app/assets/images/adva_cms/icons/bin_empty.png +0 -0
- data/app/assets/images/adva_cms/icons/bullet_black.png +0 -0
- data/app/assets/images/adva_cms/icons/bullet_delete.png +0 -0
- data/app/assets/images/adva_cms/icons/bullet_error.png +0 -0
- data/app/assets/images/adva_cms/icons/bullet_go.png +0 -0
- data/app/assets/images/adva_cms/icons/bullet_red.png +0 -0
- data/app/assets/images/adva_cms/icons/bullet_white.png +0 -0
- data/app/assets/images/adva_cms/icons/bullet_yellow.png +0 -0
- data/app/assets/images/adva_cms/icons/cancel.png +0 -0
- data/app/assets/images/adva_cms/icons/comment.gif +0 -0
- data/app/assets/images/adva_cms/icons/comment.png +0 -0
- data/app/assets/images/adva_cms/icons/comment_add.png +0 -0
- data/app/assets/images/adva_cms/icons/comment_blue.gif +0 -0
- data/app/assets/images/adva_cms/icons/comment_delete.png +0 -0
- data/app/assets/images/adva_cms/icons/comment_edit.png +0 -0
- data/app/assets/images/adva_cms/icons/comment_yellow.gif +0 -0
- data/app/assets/images/adva_cms/icons/cross.png +0 -0
- data/app/assets/images/adva_cms/icons/delete.png +0 -0
- data/app/assets/images/adva_cms/icons/eye.png +0 -0
- data/app/assets/images/adva_cms/icons/favorites.png +0 -0
- data/app/assets/images/adva_cms/icons/help.png +0 -0
- data/app/assets/images/adva_cms/icons/hourglass.png +0 -0
- data/app/assets/images/adva_cms/icons/icon_attachment.gif +0 -0
- data/app/assets/images/adva_cms/icons/icon_padlock.gif +0 -0
- data/app/assets/images/adva_cms/icons/link.png +0 -0
- data/app/assets/images/adva_cms/icons/lock.png +0 -0
- data/app/assets/images/adva_cms/icons/magnifier.png +0 -0
- data/app/assets/images/adva_cms/icons/minus.gif +0 -0
- data/app/assets/images/adva_cms/icons/page_add.png +0 -0
- data/app/assets/images/adva_cms/icons/page_delete.png +0 -0
- data/app/assets/images/adva_cms/icons/page_edit.png +0 -0
- data/app/assets/images/adva_cms/icons/page_favorites.png +0 -0
- data/app/assets/images/adva_cms/icons/page_go.png +0 -0
- data/app/assets/images/adva_cms/icons/page_green.png +0 -0
- data/app/assets/images/adva_cms/icons/page_red.png +0 -0
- data/app/assets/images/adva_cms/icons/page_white_add.png +0 -0
- data/app/assets/images/adva_cms/icons/page_white_delete.png +0 -0
- data/app/assets/images/adva_cms/icons/page_white_edit.png +0 -0
- data/app/assets/images/adva_cms/icons/page_white_go.png +0 -0
- data/app/assets/images/adva_cms/icons/page_white_link.png +0 -0
- data/app/assets/images/adva_cms/icons/page_white_magnify.png +0 -0
- data/app/assets/images/adva_cms/icons/pencil.png +0 -0
- data/app/assets/images/adva_cms/icons/star.png +0 -0
- data/app/assets/images/adva_cms/icons/stop.png +0 -0
- data/app/assets/images/adva_cms/icons/tag_green.png +0 -0
- data/app/assets/images/adva_cms/icons/tick.png +0 -0
- data/app/assets/images/adva_cms/icons/zoom.png +0 -0
- data/app/assets/images/adva_cms/indicator.gif +0 -0
- data/app/assets/images/adva_cms/preview.png +0 -0
- data/app/assets/images/adva_cms/rails.png +0 -0
- data/app/assets/images/adva_cms/sortable_tree/drag.png +0 -0
- data/app/assets/images/adva_cms/theme_selected.png +0 -0
- data/app/assets/javascripts/admin.js +1 -0
- data/app/assets/javascripts/adva_cms/admin/jquery.admin.js +23 -0
- data/app/assets/javascripts/adva_cms/admin/jquery.article.js +22 -0
- data/app/assets/javascripts/adva_cms/admin/jquery.cached_pages.js +14 -0
- data/app/assets/javascripts/adva_cms/admin/jquery.table_tree.js +7 -0
- data/app/assets/javascripts/adva_cms/application.js +14 -0
- data/app/assets/javascripts/adva_cms/base.js +4 -0
- data/app/assets/javascripts/adva_cms/cookie.js +49 -0
- data/app/assets/javascripts/adva_cms/jquery.common.js +41 -0
- data/app/assets/javascripts/adva_cms/jquery.dates.js +51 -0
- data/app/assets/javascripts/adva_cms/jquery.flash.js +57 -0
- data/app/assets/javascripts/adva_cms/jquery.roles.js +25 -0
- data/app/assets/javascripts/adva_cms/jquery/jquery-lowpro.js +224 -0
- data/app/assets/javascripts/adva_cms/jquery/jquery.qtip.js +2085 -0
- data/app/assets/javascripts/adva_cms/jquery/jquery.table_tree.js +307 -0
- data/app/assets/javascripts/adva_cms/jquery/jquery.tablednd_0_5.js +386 -0
- data/app/assets/javascripts/adva_cms/json.js +139 -0
- data/app/assets/stylesheets/admin.css +1 -0
- data/app/assets/stylesheets/adva_cms/admin.css +16 -0
- data/app/assets/stylesheets/adva_cms/admin/alternate/common.css +76 -0
- data/app/assets/stylesheets/adva_cms/admin/alternate/forms.css +121 -0
- data/app/assets/stylesheets/adva_cms/admin/alternate/header.css +125 -0
- data/app/assets/stylesheets/adva_cms/admin/alternate/layout.css +103 -0
- data/app/assets/stylesheets/adva_cms/admin/alternate/lists.css +153 -0
- data/app/assets/stylesheets/adva_cms/admin/alternate/sidebar.css +65 -0
- data/app/assets/stylesheets/adva_cms/admin/alternate/top.css +123 -0
- data/app/assets/stylesheets/adva_cms/admin/common.css +76 -0
- data/app/assets/stylesheets/adva_cms/admin/content.css +11 -0
- data/app/assets/stylesheets/adva_cms/admin/forms.css +116 -0
- data/app/assets/stylesheets/adva_cms/admin/header.css +114 -0
- data/app/assets/stylesheets/adva_cms/admin/helptip.css +35 -0
- data/app/assets/stylesheets/adva_cms/admin/layout.css +56 -0
- data/app/assets/stylesheets/adva_cms/admin/lists.css +152 -0
- data/app/assets/stylesheets/adva_cms/admin/projection.css +118 -0
- data/app/assets/stylesheets/adva_cms/admin/reset.css +25 -0
- data/app/assets/stylesheets/adva_cms/admin/screen/top.css +8 -0
- data/app/assets/stylesheets/adva_cms/admin/sidebar.css +67 -0
- data/app/assets/stylesheets/adva_cms/admin/themes.css +49 -0
- data/app/assets/stylesheets/adva_cms/admin/top.css +83 -0
- data/app/assets/stylesheets/adva_cms/admin/users.css +40 -0
- data/app/assets/stylesheets/adva_cms/common.css +49 -0
- data/app/assets/stylesheets/adva_cms/default.css +201 -0
- data/app/assets/stylesheets/adva_cms/forms.css +60 -0
- data/app/assets/stylesheets/adva_cms/jquery/alternate/jquery.tooltip.css +13 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_888888_256x240.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/stylesheets/adva_cms/jquery/jquery-ui.css +406 -0
- data/app/assets/stylesheets/adva_cms/jquery/jquery.tooltip.css +10 -0
- data/app/assets/stylesheets/adva_cms/layout/login.css +8 -0
- data/app/assets/stylesheets/adva_cms/layout/simple.css +8 -0
- data/app/assets/stylesheets/adva_cms/menu.css +129 -0
- data/app/assets/stylesheets/adva_cms/reset.css +25 -0
- data/app/controllers/admin/base_controller.rb +101 -0
- data/app/controllers/admin/categories_controller.rb +3 -0
- data/app/controllers/admin/install_controller.rb +61 -0
- data/app/controllers/admin/page/articles_controller.rb +150 -0
- data/app/controllers/admin/page/categories_controller.rb +62 -0
- data/app/controllers/admin/page/contents_controller.rb +52 -0
- data/app/controllers/admin/page/links_controller.rb +69 -0
- data/app/controllers/admin/pages_controller.rb +2 -0
- data/app/controllers/admin/plugins_controller.rb +40 -0
- data/app/controllers/admin/sections_controller.rb +91 -0
- data/app/controllers/admin/sites_controller.rb +99 -0
- data/app/controllers/articles_controller.rb +81 -0
- data/app/controllers/base_controller.rb +82 -0
- data/app/helpers/admin/base_helper.rb +106 -0
- data/app/helpers/base_helper.rb +56 -0
- data/app/helpers/content_helper.rb +90 -0
- data/app/helpers/resource_helper.rb +127 -0
- data/app/models/article.rb +40 -0
- data/app/models/categorization.rb +4 -0
- data/app/models/category.rb +60 -0
- data/app/models/content.rb +155 -0
- data/app/models/event.rb +34 -0
- data/app/models/link.rb +4 -0
- data/app/models/page.rb +36 -0
- data/app/models/section.rb +126 -0
- data/app/models/site.rb +104 -0
- data/app/views/admin/cached_pages/_filter.html.erb +8 -0
- data/app/views/admin/cached_pages/destroy.js.erb +18 -0
- data/app/views/admin/cached_pages/index.html.erb +26 -0
- data/app/views/admin/install/confirmation.html.erb +10 -0
- data/app/views/admin/install/index.html.erb +38 -0
- data/app/views/admin/page/articles/_form.html.erb +40 -0
- data/app/views/admin/page/articles/_options.html.erb +20 -0
- data/app/views/admin/page/articles/edit.html.erb +15 -0
- data/app/views/admin/page/articles/new.html.erb +12 -0
- data/app/views/admin/page/categories/edit.html.erb +22 -0
- data/app/views/admin/page/categories/index.html.erb +23 -0
- data/app/views/admin/page/categories/new.html.erb +19 -0
- data/app/views/admin/page/contents/index.html.erb +40 -0
- data/app/views/admin/page/links/_form.html.erb +26 -0
- data/app/views/admin/page/links/_options.html.erb +23 -0
- data/app/views/admin/page/links/edit.html.erb +12 -0
- data/app/views/admin/page/links/new.html.erb +12 -0
- data/app/views/admin/plugins/_form.html.erb +11 -0
- data/app/views/admin/plugins/index.html.erb +16 -0
- data/app/views/admin/plugins/show.html.erb +43 -0
- data/app/views/admin/sections/_form.html.haml +20 -0
- data/app/views/admin/sections/edit.html.haml +6 -0
- data/app/views/admin/sections/index.html.erb +27 -0
- data/app/views/admin/sections/new.html.erb +29 -0
- data/app/views/admin/sections/settings/_page.html.haml +10 -0
- data/app/views/admin/shared/_header.html.erb +18 -0
- data/app/views/admin/shared/_language_select.html.erb +6 -0
- data/app/views/admin/shared/_section.html.erb +8 -0
- data/app/views/admin/shared/_section_summary.html.erb +23 -0
- data/app/views/admin/shared/_section_tree.html.erb +23 -0
- data/app/views/admin/sites/_email_notifications.html.erb +9 -0
- data/app/views/admin/sites/_form.html.erb +15 -0
- data/app/views/admin/sites/_recent_users.html.erb +11 -0
- data/app/views/admin/sites/_sections.html.erb +10 -0
- data/app/views/admin/sites/_unapproved_comments.html.erb +10 -0
- data/app/views/admin/sites/edit.html.erb +4 -0
- data/app/views/admin/sites/index.html.erb +21 -0
- data/app/views/admin/sites/multi_sites_disabled.html.erb +11 -0
- data/app/views/admin/sites/new.html.erb +21 -0
- data/app/views/admin/sites/show.html.erb +16 -0
- data/app/views/categories/_checkboxes.html.erb +12 -0
- data/app/views/layouts/admin.html.haml +50 -0
- data/app/views/layouts/default.html.erb +38 -0
- data/app/views/layouts/simple.html.erb +22 -0
- data/app/views/pages/articles/index.html.erb +10 -0
- data/app/views/pages/articles/show.html.erb +17 -0
- data/app/views/shared/_flash.html.erb +3 -0
- data/app/views/shared/_footer.html.erb +4 -0
- data/app/views/shared/_menu.html.erb +10 -0
- data/app/views/shared/_sidebar.html.erb +19 -0
- data/app/views/shared/messages/insufficient_permissions.html.erb +4 -0
- data/config/environment.rb +21 -0
- data/config/initializers/has_options.rb +2 -0
- data/config/initializers/has_permalink.rb +27 -0
- data/config/initializers/mailer.rb +12 -0
- data/config/initializers/menus.rb +184 -0
- data/config/initializers/roles.rb +91 -0
- data/config/initializers/settings.rb +26 -0
- data/config/initializers/site.rb +5 -0
- data/config/initializers/translations_are_a_pain.rb +9 -0
- data/config/locales/en.yml +1295 -0
- data/config/routes.rb +47 -0
- data/db/migrate/20080401000001_create_sites_table.rb +28 -0
- data/db/migrate/20080401000002_create_sections_table.rb +25 -0
- data/db/migrate/20080401000003_create_contents_table.rb +35 -0
- data/db/migrate/20080401000004_create_categories_table.rb +17 -0
- data/db/migrate/20080401000005_create_category_assignments.rb +12 -0
- data/db/migrate/20080401000006_create_taggable_tables.rb +26 -0
- data/db/migrate/20080710000000_create_plugin_configs.rb +13 -0
- data/db/migrate/20080715131051_plugin_owner_column.rb +13 -0
- data/db/migrate/20081208161500_add_content_type_to_join_tables.rb +10 -0
- data/db/migrate/20090216114034_rename_category_assignment_to_categorization.rb +13 -0
- data/db/migrate/20090305123429_move_sections_to_pages.rb +9 -0
- data/db/migrate/20090519132700_add_published_at_to_sections.rb +10 -0
- data/db/migrate/20090702085459_create_section_translations.rb +9 -0
- data/db/migrate/20090702200226_create_category_translations.rb +9 -0
- data/db/migrate/20090707171100_upgrade_paperclip_paths.rb +31 -0
- data/db/migrate/20090709111934_add_email_notification_to_site.rb +12 -0
- data/db/migrate/20091026000906_add_nesting_to_articles.rb +26 -0
- data/db/migrate/20140721000000_add_title_to_contents.rb +7 -0
- data/lib/adva_cms.rb +50 -0
- data/lib/adva_cms/version.rb +3 -0
- data/lib/core_ext.rb +7 -0
- data/lib/extensible_forms.rb +283 -0
- data/lib/has_options.rb +46 -0
- data/lib/html_diff.rb +48 -0
- data/lib/rails_ext.rb +15 -0
- data/lib/rails_ext/action_controller/cacheable_flash.rb +30 -0
- data/lib/rails_ext/action_controller/content_for_assignments.rb +105 -0
- data/lib/rails_ext/action_controller/default_params.rb +19 -0
- data/lib/rails_ext/action_controller/event_helper.rb +18 -0
- data/lib/rails_ext/action_controller/page_caching.rb +23 -0
- data/lib/rails_ext/action_controller/render_with_error_proc.rb +46 -0
- data/lib/rails_ext/action_controller/responds_to_parent.rb +46 -0
- data/lib/rails_ext/action_controller/url_for_returning.rb +12 -0
- data/lib/rails_ext/active_record/exists.rb +5 -0
- data/lib/rails_ext/active_record/sti_instantiation.rb +35 -0
- data/lib/rails_ext/active_record/sticky_changes.rb +30 -0
- data/lib/rails_ext/railties/plugin.rb +58 -0
- data/lib/rails_ext/railties/plugin_configuration.rb +72 -0
- data/lib/rails_ext/railties/plugin_initializers.rb +25 -0
- data/lib/registry.rb +49 -0
- data/lib/tasks/adva_cms.rake +178 -0
- data/lib/tasks/translation.rake +69 -0
- data/lib/time_hacks.rb +57 -0
- data/lib/webrat_patch.rb +11 -0
- data/locale/rails/fr.yml +123 -0
- data/test/NOTES +56 -0
- data/test/contexts.rb +365 -0
- data/test/fixtures.rb +190 -0
- data/test/fixtures/templates/alternative_templates/index.html.erb +1 -0
- data/test/fixtures/templates/context_templates_test/index.html.erb +1 -0
- data/test/fixtures/templates/context_templates_test/show.html.erb +0 -0
- data/test/fixtures/templates/layouts/alternative.html.erb +0 -0
- data/test/fixtures/templates/layouts/default.html.erb +0 -0
- data/test/fixtures/templates/menu/shared/_menu.html.erb +8 -0
- data/test/functional/admin/articles_controller_test.rb +329 -0
- data/test/functional/admin/base_controller_test.rb +68 -0
- data/test/functional/admin/cached_pages_controller_test.rb +66 -0
- data/test/functional/admin/categories_controller_test.rb +164 -0
- data/test/functional/admin/cells_controller_spec.rb +32 -0
- data/test/functional/admin/install_controller_test.rb +89 -0
- data/test/functional/admin/plugins_controller_test.rb +93 -0
- data/test/functional/admin/sections_controller_test.rb +201 -0
- data/test/functional/admin/sites_controller_test.rb +240 -0
- data/test/functional/asset_tag_expansions_test.rb +82 -0
- data/test/functional/base_controller_test.rb +73 -0
- data/test/functional/page_articles_controller_test.rb +168 -0
- data/test/functional/page_articles_routes_test.rb +73 -0
- data/test/integration/admin/cached_pages_test.rb +43 -0
- data/test/integration/admin/categories_test.rb +66 -0
- data/test/integration/admin/custom_templates_test.rb +42 -0
- data/test/integration/admin/filtering_articles_test.rb +32 -0
- data/test/integration/admin/plugins.rb +32 -0
- data/test/integration/admin/section_article_test.rb +150 -0
- data/test/integration/admin/section_test.rb +88 -0
- data/test/integration/admin/sites_test.rb +48 -0
- data/test/integration/installation_test.rb +109 -0
- data/test/integration/page_article_comment_test.rb +51 -0
- data/test/integration/page_article_test.rb +87 -0
- data/test/integration/section_index_test.rb +37 -0
- data/test/javascript/assets/jquery-lowpro.js +224 -0
- data/test/javascript/assets/jquery-ui.js +298 -0
- data/test/javascript/assets/jquery.js +4376 -0
- data/test/javascript/assets/testrunner.js +815 -0
- data/test/javascript/assets/testsuite.css +120 -0
- data/test/javascript/lib/jstest.rb +588 -0
- data/test/javascript/templates/test_case.erb +33 -0
- data/test/plugins/adva_context_templates/context_templates_test.rb +138 -0
- data/test/plugins/adva_post_ping/controller/integration_test.rb +78 -0
- data/test/plugins/adva_post_ping/post_ping_test.rb +94 -0
- data/test/plugins/adva_url_history/article_test.rb +94 -0
- data/test/plugins/adva_url_history/init_url_history.rb +18 -0
- data/test/plugins/adva_url_history/section_test.rb +49 -0
- data/test/test_helper.rb +75 -0
- data/test/test_helper/clear_directories.rb +16 -0
- data/test/test_helper/ensure_single_site_mode.rb +10 -0
- data/test/test_helper/extensions/cacheable_flash.rb +14 -0
- data/test/test_helper/extensions/cronjob.rb +11 -0
- data/test/test_helper/extensions/even_test_log.rb +21 -0
- data/test/test_helper/extensions/integration_test.rb +78 -0
- data/test/test_helper/extensions/matchy.rb +365 -0
- data/test/test_helper/extensions/matchy_adva_cms.rb +441 -0
- data/test/test_helper/extensions/rails_patch.rb +40 -0
- data/test/test_helper/extensions/rr.rb +7 -0
- data/test/test_helper/extensions/test_unit.rb +35 -0
- data/test/test_helper/extensions/with_sugar.rb +166 -0
- data/test/test_helper/parse_options.rb +18 -0
- data/test/test_helper/setup_db_transaction.rb +15 -0
- data/test/test_helper/setup_webrat.rb +9 -0
- data/test/test_helper/test_server/init.rb +15 -0
- data/test/unit/helpers/admin/base_helper_test.rb +139 -0
- data/test/unit/helpers/base_helper_spec.rb +54 -0
- data/test/unit/helpers/base_helper_test.rb +165 -0
- data/test/unit/helpers/content_helper_test.rb +127 -0
- data/test/unit/helpers/resource_helper_test.rb +180 -0
- data/test/unit/i18n_test.rb +22 -0
- data/test/unit/lib/cells_ext_spec.rb +96 -0
- data/test/unit/lib/extensible_forms_test.rb +362 -0
- data/test/unit/lib/menu_test.rb +119 -0
- data/test/unit/lib/rails_ext/content_for_assignments_test.rb +75 -0
- data/test/unit/lib/rails_ext/plugin_configuration_test.rb +40 -0
- data/test/unit/lib/rails_ext/sticky_changes_test.rb +33 -0
- data/test/unit/lib/registry_test.rb +91 -0
- data/test/unit/lib/routing_filter/routing_filter_categories_spec.rb +63 -0
- data/test/unit/lib/routing_filter/routing_filter_categories_test.rb +159 -0
- data/test/unit/lib/routing_filter/routing_filter_locale_spec.rb +73 -0
- data/test/unit/lib/routing_filter/routing_filter_root_blog_archive_spec.rb +40 -0
- data/test/unit/lib/routing_filter/routing_filter_root_section_articles_spec.rb +48 -0
- data/test/unit/lib/routing_filter/routing_filter_root_wikipages_spec.rb +40 -0
- data/test/unit/lib/routing_filter/routing_filter_sections_spec.rb +143 -0
- data/test/unit/lib/routing_filter/routing_filter_sections_test.rb +32 -0
- data/test/unit/lib/routing_filter/routing_filter_sets_test.rb +86 -0
- data/test/unit/models/article_test.rb +191 -0
- data/test/unit/models/category_test.rb +68 -0
- data/test/unit/models/content_test.rb +409 -0
- data/test/unit/models/counter_test.rb +43 -0
- data/test/unit/models/event_test.rb +41 -0
- data/test/unit/models/nested_categories_test.rb +34 -0
- data/test/unit/models/page_test.rb +63 -0
- data/test/unit/models/section_test.rb +315 -0
- data/test/unit/models/site_test.rb +199 -0
- data/test/unit/observers/activities_article_observer_test.rb +42 -0
- data/vendor/gems/belongs_to_cacheable/.gitignore +17 -0
- data/vendor/gems/belongs_to_cacheable/Gemfile +4 -0
- data/vendor/gems/belongs_to_cacheable/LICENSE +22 -0
- data/vendor/gems/belongs_to_cacheable/README.md +29 -0
- data/vendor/gems/belongs_to_cacheable/Rakefile +2 -0
- data/vendor/gems/belongs_to_cacheable/belongs_to_cacheable.gemspec +22 -0
- data/vendor/gems/belongs_to_cacheable/init.rb +1 -0
- data/vendor/gems/belongs_to_cacheable/lib/active_record/belongs_to_cacheable.rb +77 -0
- data/vendor/gems/belongs_to_cacheable/lib/belongs_to_cacheable.rb +3 -0
- data/vendor/gems/belongs_to_cacheable/lib/belongs_to_cacheable/version.rb +3 -0
- data/vendor/gems/belongs_to_cacheable/spec/belongs_to_cacheable_spec.rb +52 -0
- data/vendor/gems/belongs_to_cacheable/spec/spec_helper.rb +50 -0
- data/vendor/gems/filtered_column/.gitignore +17 -0
- data/vendor/gems/filtered_column/Gemfile +4 -0
- data/vendor/gems/filtered_column/LICENSE +22 -0
- data/vendor/gems/filtered_column/README +4 -0
- data/vendor/gems/filtered_column/README.md +29 -0
- data/vendor/gems/filtered_column/Rakefile +23 -0
- data/vendor/gems/filtered_column/filtered_column.gemspec +17 -0
- data/vendor/gems/filtered_column/lib/filtered_column.rb +17 -0
- data/vendor/gems/filtered_column/lib/filtered_column/filters/base.rb +28 -0
- data/vendor/gems/filtered_column/lib/filtered_column/filters/smartypants_filter.rb +14 -0
- data/vendor/gems/filtered_column/lib/filtered_column/filters/textile_filter.rb +13 -0
- data/vendor/gems/filtered_column/lib/filtered_column/macros/base.rb +25 -0
- data/vendor/gems/filtered_column/lib/filtered_column/mixin.rb +46 -0
- data/vendor/gems/filtered_column/lib/filtered_column/processor.rb +52 -0
- data/vendor/gems/filtered_column/lib/filtered_column/version.rb +3 -0
- data/vendor/gems/filtered_column/tasks/filtered_column_tasks.rake +4 -0
- data/vendor/gems/filtered_column/test/abstract_unit.rb +73 -0
- data/vendor/gems/filtered_column/test/filtered_column_test.rb +53 -0
- data/vendor/gems/filtered_column/test/macro_filter_test.rb +23 -0
- data/vendor/gems/has_counter/.gitignore +17 -0
- data/vendor/gems/has_counter/Gemfile +4 -0
- data/vendor/gems/has_counter/LICENSE +22 -0
- data/vendor/gems/has_counter/MIT-LICENSE +20 -0
- data/vendor/gems/has_counter/README.markdown +64 -0
- data/vendor/gems/has_counter/README.md +29 -0
- data/vendor/gems/has_counter/Rakefile +2 -0
- data/vendor/gems/has_counter/db/migrate/20080601194338_create_counters_table.rb.rb +13 -0
- data/vendor/gems/has_counter/has_counter.gemspec +17 -0
- data/vendor/gems/has_counter/lib/active_record/has_counter.rb +64 -0
- data/vendor/gems/has_counter/lib/counter.rb +23 -0
- data/vendor/gems/has_counter/lib/has_counter.rb +4 -0
- data/vendor/gems/has_counter/lib/has_counter/version.rb +3 -0
- data/vendor/gems/has_counter/spec/has_counter.spec.log +0 -0
- data/vendor/gems/has_counter/spec/has_counter.sqlite3.db +0 -0
- data/vendor/gems/has_counter/spec/has_counter_spec.rb +55 -0
- data/vendor/gems/has_counter/spec/spec_helper.rb +117 -0
- data/vendor/gems/has_filter/.gitignore +17 -0
- data/vendor/gems/has_filter/Gemfile +4 -0
- data/vendor/gems/has_filter/LICENSE +22 -0
- data/vendor/gems/has_filter/README.md +29 -0
- data/vendor/gems/has_filter/Rakefile +2 -0
- data/vendor/gems/has_filter/app/assets/images/has_filter/filter_add.png +0 -0
- data/vendor/gems/has_filter/app/assets/images/has_filter/filter_button_left.png +0 -0
- data/vendor/gems/has_filter/app/assets/images/has_filter/filter_button_right.png +0 -0
- data/vendor/gems/has_filter/app/assets/images/has_filter/filter_remove.png +0 -0
- data/vendor/gems/has_filter/app/assets/javascripts/has_filter/filter.js +35 -0
- data/vendor/gems/has_filter/app/assets/javascripts/has_filter/jquery.filter.js +23 -0
- data/vendor/gems/has_filter/app/assets/stylesheets/has_filter/alternate/filter.css +102 -0
- data/vendor/gems/has_filter/app/assets/stylesheets/has_filter/filter.css +100 -0
- data/vendor/gems/has_filter/app/helpers/filter_helper.rb +3 -0
- data/vendor/gems/has_filter/has_filter.gemspec +17 -0
- data/vendor/gems/has_filter/init.rb +3 -0
- data/vendor/gems/has_filter/lib/has_filter.rb +22 -0
- data/vendor/gems/has_filter/lib/has_filter/active_record/act_macro.rb +102 -0
- data/vendor/gems/has_filter/lib/has_filter/filter.rb +17 -0
- data/vendor/gems/has_filter/lib/has_filter/filter/base.rb +67 -0
- data/vendor/gems/has_filter/lib/has_filter/filter/categorized.rb +24 -0
- data/vendor/gems/has_filter/lib/has_filter/filter/chain.rb +45 -0
- data/vendor/gems/has_filter/lib/has_filter/filter/set.rb +80 -0
- data/vendor/gems/has_filter/lib/has_filter/filter/state.rb +25 -0
- data/vendor/gems/has_filter/lib/has_filter/filter/tagged.rb +22 -0
- data/vendor/gems/has_filter/lib/has_filter/filter/text.rb +55 -0
- data/vendor/gems/has_filter/lib/has_filter/version.rb +3 -0
- data/vendor/gems/has_filter/test/db/setup.rb +45 -0
- data/vendor/gems/has_filter/test/db/test.sqlite3.db +0 -0
- data/vendor/gems/has_filter/test/fixtures.rb +15 -0
- data/vendor/gems/has_filter/test/has_filter/filter_chain_test.rb +41 -0
- data/vendor/gems/has_filter/test/has_filter/filter_scopes_test.rb +102 -0
- data/vendor/gems/has_filter/test/has_filter/filter_tags_test.rb +113 -0
- data/vendor/gems/has_filter/test/has_filter/integration.rb +15 -0
- data/vendor/gems/has_filter/test/has_filter/scopes_test.rb +48 -0
- data/vendor/gems/has_filter/test/log/test.log +34346 -0
- data/vendor/gems/has_filter/test/models.rb +23 -0
- data/vendor/gems/has_filter/test/templates/has_filter/test/index.html.erb +5 -0
- data/vendor/gems/has_filter/test/test_helper.rb +66 -0
- data/vendor/gems/simple_taggable/.gitignore +17 -0
- data/vendor/gems/simple_taggable/Gemfile +4 -0
- data/vendor/gems/simple_taggable/LICENSE +22 -0
- data/vendor/gems/simple_taggable/README +24 -0
- data/vendor/gems/simple_taggable/README.md +29 -0
- data/vendor/gems/simple_taggable/Rakefile +2 -0
- data/vendor/gems/simple_taggable/lib/simple_taggable.rb +153 -0
- data/vendor/gems/simple_taggable/lib/simple_taggable/version.rb +3 -0
- data/vendor/gems/simple_taggable/lib/tag.rb +31 -0
- data/vendor/gems/simple_taggable/lib/tag_list.rb +90 -0
- data/vendor/gems/simple_taggable/lib/tagging.rb +8 -0
- data/vendor/gems/simple_taggable/simple_taggable.gemspec +17 -0
- data/vendor/gems/simple_taggable/test/db/schema.rb +41 -0
- data/vendor/gems/simple_taggable/test/db/simple_taggable.sqlite3.db +0 -0
- data/vendor/gems/simple_taggable/test/fixtures/magazine.rb +3 -0
- data/vendor/gems/simple_taggable/test/fixtures/magazines.yml +2 -0
- data/vendor/gems/simple_taggable/test/fixtures/photo.rb +8 -0
- data/vendor/gems/simple_taggable/test/fixtures/photos.yml +19 -0
- data/vendor/gems/simple_taggable/test/fixtures/post.rb +5 -0
- data/vendor/gems/simple_taggable/test/fixtures/posts.yml +27 -0
- data/vendor/gems/simple_taggable/test/fixtures/subscription.rb +4 -0
- data/vendor/gems/simple_taggable/test/fixtures/subscriptions.yml +3 -0
- data/vendor/gems/simple_taggable/test/fixtures/taggings.yml +112 -0
- data/vendor/gems/simple_taggable/test/fixtures/tags.yml +14 -0
- data/vendor/gems/simple_taggable/test/fixtures/user.rb +6 -0
- data/vendor/gems/simple_taggable/test/fixtures/users.yml +5 -0
- data/vendor/gems/simple_taggable/test/log/simple_taggable.log +1614 -0
- data/vendor/gems/simple_taggable/test/simple_taggable_test.rb +226 -0
- data/vendor/gems/simple_taggable/test/tag_list_test.rb +105 -0
- data/vendor/gems/simple_taggable/test/test_helper.rb +80 -0
- data/vendor/gems/table_builder/.gitignore +17 -0
- data/vendor/gems/table_builder/Gemfile +4 -0
- data/vendor/gems/table_builder/LICENSE +22 -0
- data/vendor/gems/table_builder/README.md +29 -0
- data/vendor/gems/table_builder/Rakefile +2 -0
- data/vendor/gems/table_builder/lib/table_builder.rb +27 -0
- data/vendor/gems/table_builder/lib/table_builder/body.rb +28 -0
- data/vendor/gems/table_builder/lib/table_builder/cell.rb +21 -0
- data/vendor/gems/table_builder/lib/table_builder/column.rb +26 -0
- data/vendor/gems/table_builder/lib/table_builder/foot.rb +6 -0
- data/vendor/gems/table_builder/lib/table_builder/head.rb +16 -0
- data/vendor/gems/table_builder/lib/table_builder/row.rb +40 -0
- data/vendor/gems/table_builder/lib/table_builder/rows.rb +26 -0
- data/vendor/gems/table_builder/lib/table_builder/table.rb +75 -0
- data/vendor/gems/table_builder/lib/table_builder/tag.rb +58 -0
- data/vendor/gems/table_builder/lib/table_builder/version.rb +3 -0
- data/vendor/gems/table_builder/table_builder.gemspec +17 -0
- data/vendor/gems/table_builder/test/fixtures/templates/table_all.html.erb +20 -0
- data/vendor/gems/table_builder/test/fixtures/templates/table_auto_body.html.erb +3 -0
- data/vendor/gems/table_builder/test/fixtures/templates/table_auto_columns.html.erb +1 -0
- data/vendor/gems/table_builder/test/fixtures/templates/table_simple.html.erb +7 -0
- data/vendor/gems/table_builder/test/table_builder/table_test.rb +230 -0
- data/vendor/gems/table_builder/test/test_helper.rb +49 -0
- data/vendor/gems/tags/.gitignore +17 -0
- data/vendor/gems/tags/Gemfile +4 -0
- data/vendor/gems/tags/LICENSE +22 -0
- data/vendor/gems/tags/README.md +29 -0
- data/vendor/gems/tags/Rakefile +2 -0
- data/vendor/gems/tags/lib/breadcrumbs.rb +13 -0
- data/vendor/gems/tags/lib/menu.rb +179 -0
- data/vendor/gems/tags/lib/menu/builder.rb +74 -0
- data/vendor/gems/tags/lib/tags.rb +7 -0
- data/vendor/gems/tags/lib/tags/tag.rb +125 -0
- data/vendor/gems/tags/lib/tags/version.rb +3 -0
- data/vendor/gems/tags/tags.gemspec +17 -0
- data/vendor/gems/tags/test/tags/menu_test.rb +173 -0
- data/vendor/gems/tags/test/tags/tag_test.rb +13 -0
- data/vendor/gems/tags/test/test_helper.rb +18 -0
- data/vendor/gems/xss_terminate/.gitignore +17 -0
- data/vendor/gems/xss_terminate/Gemfile +4 -0
- data/vendor/gems/xss_terminate/LICENSE +22 -0
- data/vendor/gems/xss_terminate/MIT-LICENSE +20 -0
- data/vendor/gems/xss_terminate/README +94 -0
- data/vendor/gems/xss_terminate/README.md +29 -0
- data/vendor/gems/xss_terminate/Rakefile +23 -0
- data/vendor/gems/xss_terminate/lib/html5lib_sanitize.rb +2453 -0
- data/vendor/gems/xss_terminate/lib/rails_sanitize.rb +8 -0
- data/vendor/gems/xss_terminate/lib/xss_terminate.rb +141 -0
- data/vendor/gems/xss_terminate/lib/xss_terminate/version.rb +3 -0
- data/vendor/gems/xss_terminate/tasks/xss_terminate_tasks.rake +7 -0
- data/vendor/gems/xss_terminate/test/models/comment.rb +5 -0
- data/vendor/gems/xss_terminate/test/models/entry.rb +7 -0
- data/vendor/gems/xss_terminate/test/models/message.rb +3 -0
- data/vendor/gems/xss_terminate/test/models/person.rb +5 -0
- data/vendor/gems/xss_terminate/test/models/review.rb +5 -0
- data/vendor/gems/xss_terminate/test/schema.rb +34 -0
- data/vendor/gems/xss_terminate/test/setup_test.rb +16 -0
- data/vendor/gems/xss_terminate/test/xss_terminate_test.rb +50 -0
- data/vendor/gems/xss_terminate/xss_terminate.gemspec +17 -0
- metadata +744 -0
@@ -0,0 +1,141 @@
|
|
1
|
+
# additions + refactorings:
|
2
|
+
#
|
3
|
+
# * allowed options to be passed as symbols (e.g. :sanitize => :body)
|
4
|
+
# * added an escape_html filter that acts the same way as CGI::escapeHTML does
|
5
|
+
# but leaves the & character unchanged (because that behaviour is not
|
6
|
+
# idempotent and results in & in & being escaped every time the filter
|
7
|
+
# is applied)
|
8
|
+
# * added explicit options to access the strip_tags and escape_html filters
|
9
|
+
# * added an option :none to completely turn off sanitizing for a class
|
10
|
+
# (useful e.g. for acts_as_versioned where versions don't need to be
|
11
|
+
# refiltered)
|
12
|
+
# * added an alias filters_attributes for xss_terminate (because this seems
|
13
|
+
# like a more descriptive method name and more in line with the Rails naming
|
14
|
+
# conventions)
|
15
|
+
# * added a module level option :default_filter to allow users to select the
|
16
|
+
# default filter
|
17
|
+
# * added a module level option :untaint_after_find and an after_find hook
|
18
|
+
# which untaints filtered attributes after the where retrieved from the
|
19
|
+
# database (in order to integrate nicely with SafeERB).
|
20
|
+
# * made :xss_terminate_options an superclass_delegating_reader in order to
|
21
|
+
# fix things for cases where a model gets included before XssTerminate is
|
22
|
+
# loaded
|
23
|
+
# * changed the filter process to now work with Arrays and Hashes (i.e. the
|
24
|
+
# ActiveRecord serializes feature)
|
25
|
+
# * changed the filter process to directly access @attributes instead of
|
26
|
+
# self[] (i.e. read/write_attribute) to circumvent any third-party additions
|
27
|
+
# that hook in here
|
28
|
+
# * renamed and refactored a bit more :)
|
29
|
+
|
30
|
+
require "xss_terminate/version"
|
31
|
+
require "rails_sanitize"
|
32
|
+
|
33
|
+
module XssTerminate
|
34
|
+
mattr_accessor :default_filter
|
35
|
+
@@default_filter = :strip_tags
|
36
|
+
|
37
|
+
mattr_accessor :untaint_after_find
|
38
|
+
@@untaint_after_find = false
|
39
|
+
|
40
|
+
mattr_accessor :sanitize_filters
|
41
|
+
@@sanitize_filters = [:html5lib_sanitize, :sanitize, :strip_tags, :escape]
|
42
|
+
|
43
|
+
def self.included(base)
|
44
|
+
base.extend(ClassMethods)
|
45
|
+
# sets up default of stripping tags for all fields
|
46
|
+
# base.send(:xss_terminate)
|
47
|
+
end
|
48
|
+
|
49
|
+
module ClassMethods
|
50
|
+
def xss_terminate(options = {})
|
51
|
+
before_save :sanitize_attributes!
|
52
|
+
|
53
|
+
class_attribute :xss_terminate_options
|
54
|
+
self.xss_terminate_options = {}
|
55
|
+
|
56
|
+
keys = [:except, *XssTerminate.sanitize_filters]
|
57
|
+
options.assert_valid_keys :none, *keys
|
58
|
+
|
59
|
+
keys.each do |key|
|
60
|
+
option = options[key] || []
|
61
|
+
self.xss_terminate_options[key] = option.is_a?(Array) ? option : [option]
|
62
|
+
end
|
63
|
+
self.xss_terminate_options[:none] = options[:none]
|
64
|
+
|
65
|
+
include XssTerminate::InstanceMethods
|
66
|
+
end
|
67
|
+
|
68
|
+
alias :filters_attributes :xss_terminate
|
69
|
+
end
|
70
|
+
|
71
|
+
module InstanceMethods
|
72
|
+
def after_find
|
73
|
+
@attributes.each do |name, value|
|
74
|
+
unless xss_terminate_options[:except].include?(name.to_sym)
|
75
|
+
@attributes[name].untaint
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def sanitize_attributes!
|
81
|
+
# puts "sanitize attributes #{self.inspect}"
|
82
|
+
return if xss_terminate_options[:none]
|
83
|
+
select_attributes_to_sanitize.each do |attribute|
|
84
|
+
filter = select_sanitize_filter(attribute)
|
85
|
+
sanitize_attribute! filter, @attributes[attribute]
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def sanitize_attribute!(filter, value)
|
90
|
+
case value
|
91
|
+
when Array
|
92
|
+
value.map{|v| sanitize_attribute!(filter, v) }
|
93
|
+
when Hash
|
94
|
+
value.each{|k, v| sanitize_attribute!(filter, v) }
|
95
|
+
value
|
96
|
+
when String
|
97
|
+
# TODO is it safe to exclude frozen strings? this ran into an error
|
98
|
+
# when with a polymorphic object_type attribute (User#save_roles)
|
99
|
+
value.replace send(filter, value) unless value.frozen?
|
100
|
+
when ActiveRecord::Base, Numeric, NilClass, TrueClass, FalseClass
|
101
|
+
# nothing to sanitize
|
102
|
+
else
|
103
|
+
Rails.logger.warn "can't sanitize #{value.class.name} #{value.inspect}"
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
def select_attributes_to_sanitize
|
108
|
+
self.class.columns.select do |column|
|
109
|
+
[:string, :text].include?(column.type) &&
|
110
|
+
!xss_terminate_options[:except].include?(column.name.to_sym)
|
111
|
+
end.map(&:name)
|
112
|
+
end
|
113
|
+
|
114
|
+
def select_sanitize_filter(attribute)
|
115
|
+
XssTerminate.sanitize_filters.detect do |filter|
|
116
|
+
xss_terminate_options[filter].include?(attribute.to_sym)
|
117
|
+
end || XssTerminate.default_filter
|
118
|
+
end
|
119
|
+
|
120
|
+
def html5lib_sanitize(value)
|
121
|
+
HTML5libSanitize.new.sanitize_html(value)
|
122
|
+
end
|
123
|
+
|
124
|
+
def sanitize(value)
|
125
|
+
RailsSanitize.white_list_sanitizer.sanitize(value)
|
126
|
+
end
|
127
|
+
|
128
|
+
def strip_tags(value)
|
129
|
+
RailsSanitize.full_sanitizer.sanitize(value)
|
130
|
+
end
|
131
|
+
|
132
|
+
# Can't use CGI::escapeHTML for this because it also escapes & to &
|
133
|
+
# which isn't idempotent (i.e. saving the same value multiple times would
|
134
|
+
# cause the & in & being escaped every time).
|
135
|
+
def escape(value)
|
136
|
+
replace = { '"' => '"', '<' => '<', '>' => '>' }
|
137
|
+
value.gsub(/["<>]/){|char| replace[char] }
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
ActiveRecord::Base.send :include, XssTerminate
|
@@ -0,0 +1,34 @@
|
|
1
|
+
ActiveRecord::Schema.define(:version => 0) do
|
2
|
+
create_table :people, :force => true do |t|
|
3
|
+
t.column :name, :string
|
4
|
+
end
|
5
|
+
|
6
|
+
create_table :entries, :force => true do |t|
|
7
|
+
t.column :title, :string
|
8
|
+
t.column :body, :text
|
9
|
+
t.column :extended, :text
|
10
|
+
t.column :person_id, :integer
|
11
|
+
t.column :created_on, :datetime
|
12
|
+
end
|
13
|
+
|
14
|
+
create_table :comments, :force => true do |t|
|
15
|
+
t.column :person_id, :integer
|
16
|
+
t.column :title, :string
|
17
|
+
t.column :body, :text
|
18
|
+
t.column :created_on, :datetime
|
19
|
+
end
|
20
|
+
|
21
|
+
create_table :messages, :force => true do |t|
|
22
|
+
t.column :person_id, :integer
|
23
|
+
t.column :recipient_id, :integer
|
24
|
+
t.column :body, :text
|
25
|
+
end
|
26
|
+
|
27
|
+
create_table :reviews, :force => true do |t|
|
28
|
+
t.column :title, :string
|
29
|
+
t.column :body, :text
|
30
|
+
t.column :extended, :text
|
31
|
+
t.column :person_id, :integer
|
32
|
+
t.column :created_on, :datetime
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# borrowed from err who borrowed from topfunky who borrowed from...
|
2
|
+
|
3
|
+
# set up test environment
|
4
|
+
RAILS_ENV = 'test'
|
5
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '../../../../config/environment.rb'))
|
6
|
+
require 'test/unit'
|
7
|
+
|
8
|
+
# load test schema
|
9
|
+
load(File.dirname(__FILE__) + "/schema.rb")
|
10
|
+
|
11
|
+
# load test models
|
12
|
+
require File.join(File.dirname(__FILE__), 'models/person')
|
13
|
+
require File.join(File.dirname(__FILE__), 'models/entry')
|
14
|
+
require File.join(File.dirname(__FILE__), 'models/comment')
|
15
|
+
require File.join(File.dirname(__FILE__), 'models/message')
|
16
|
+
require File.join(File.dirname(__FILE__), 'models/review')
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'setup_test')
|
2
|
+
|
3
|
+
class XssTerminateTest < Test::Unit::TestCase
|
4
|
+
def test_strip_tags_on_discovered_fields
|
5
|
+
c = Comment.create!(:title => "<script>alert('xss in title')</script>",
|
6
|
+
:body => "<script>alert('xss in body')</script>")
|
7
|
+
|
8
|
+
assert_equal "alert('xss in title')", c.title
|
9
|
+
|
10
|
+
assert_equal "alert('xss in body')", c.body
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_rails_sanitization_on_specified_fields
|
14
|
+
e = Entry.create!(:title => "<script>alert('xss in title')</script>",
|
15
|
+
:body => "<script>alert('xss in body')</script>",
|
16
|
+
:extended => "<script>alert('xss in extended')</script>",
|
17
|
+
:person_id => 1)
|
18
|
+
|
19
|
+
assert_equal [:body, :extended], e.xss_terminate_options[:sanitize]
|
20
|
+
|
21
|
+
assert_equal "alert('xss in title')", e.title
|
22
|
+
|
23
|
+
assert_equal "", e.body
|
24
|
+
|
25
|
+
assert_equal "", e.extended
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_excepting_specified_fields
|
29
|
+
p = Person.create!(:name => "<strong>Mallory</strong>")
|
30
|
+
|
31
|
+
assert_equal [:name], p.xss_terminate_options[:except]
|
32
|
+
|
33
|
+
assert_equal "<strong>Mallory</strong>", p.name
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_html5lib_sanitization_on_specified_fields
|
37
|
+
r = Review.create!(:title => "<script>alert('xss in title')</script>",
|
38
|
+
:body => "<script>alert('xss in body')</script>",
|
39
|
+
:extended => "<script>alert('xss in extended')</script>",
|
40
|
+
:person_id => 1)
|
41
|
+
|
42
|
+
assert_equal [:body, :extended], r.xss_terminate_options[:html5lib_sanitize]
|
43
|
+
|
44
|
+
assert_equal "alert('xss in title')", r.title
|
45
|
+
|
46
|
+
assert_equal "<script>alert('xss in body')</script>", r.body
|
47
|
+
|
48
|
+
assert_equal "<script>alert('xss in extended')</script>", r.extended
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/xss_terminate/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Micah Geisel"]
|
6
|
+
gem.email = ["micah@botandrose.com"]
|
7
|
+
gem.description = %q{TODO: Write a gem description}
|
8
|
+
gem.summary = %q{TODO: Write a gem summary}
|
9
|
+
gem.homepage = ""
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "xss_terminate"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = XssTerminate::VERSION
|
17
|
+
end
|
metadata
ADDED
@@ -0,0 +1,744 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: adva_cms
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Micah Geisel
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-02-29 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: will_paginate
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: awesome_nested_set
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: friendly_id
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: actionpack-page_caching
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Adva CMS
|
70
|
+
email:
|
71
|
+
- micah@botandrose.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".gitignore"
|
77
|
+
- Gemfile
|
78
|
+
- LICENSE
|
79
|
+
- NOTES
|
80
|
+
- README.md
|
81
|
+
- Rakefile
|
82
|
+
- adva_cms.gemspec
|
83
|
+
- app/assets/images/adva_cms/admin/header_bg.png
|
84
|
+
- app/assets/images/adva_cms/admin/section_menu_bg.png
|
85
|
+
- app/assets/images/adva_cms/admin/tab_action_active.png
|
86
|
+
- app/assets/images/adva_cms/admin/tab_main_active.png
|
87
|
+
- app/assets/images/adva_cms/admin/tab_sidebar_active.png
|
88
|
+
- app/assets/images/adva_cms/admin/tab_top_active.png
|
89
|
+
- app/assets/images/adva_cms/asset_selected.png
|
90
|
+
- app/assets/images/adva_cms/avatar.gif
|
91
|
+
- app/assets/images/adva_cms/filter-bg.png
|
92
|
+
- app/assets/images/adva_cms/icons/accept.png
|
93
|
+
- app/assets/images/adva_cms/icons/add.png
|
94
|
+
- app/assets/images/adva_cms/icons/arrow_cross.png
|
95
|
+
- app/assets/images/adva_cms/icons/arrow_cross_2.png
|
96
|
+
- app/assets/images/adva_cms/icons/arrow_cross_3.png
|
97
|
+
- app/assets/images/adva_cms/icons/arrow_up_down.png
|
98
|
+
- app/assets/images/adva_cms/icons/assets/audio.png
|
99
|
+
- app/assets/images/adva_cms/icons/assets/doc.png
|
100
|
+
- app/assets/images/adva_cms/icons/assets/pdf.png
|
101
|
+
- app/assets/images/adva_cms/icons/assets/video.png
|
102
|
+
- app/assets/images/adva_cms/icons/attach.png
|
103
|
+
- app/assets/images/adva_cms/icons/bin.png
|
104
|
+
- app/assets/images/adva_cms/icons/bin_closed.png
|
105
|
+
- app/assets/images/adva_cms/icons/bin_empty.png
|
106
|
+
- app/assets/images/adva_cms/icons/bullet_black.png
|
107
|
+
- app/assets/images/adva_cms/icons/bullet_delete.png
|
108
|
+
- app/assets/images/adva_cms/icons/bullet_error.png
|
109
|
+
- app/assets/images/adva_cms/icons/bullet_go.png
|
110
|
+
- app/assets/images/adva_cms/icons/bullet_red.png
|
111
|
+
- app/assets/images/adva_cms/icons/bullet_white.png
|
112
|
+
- app/assets/images/adva_cms/icons/bullet_yellow.png
|
113
|
+
- app/assets/images/adva_cms/icons/cancel.png
|
114
|
+
- app/assets/images/adva_cms/icons/comment.gif
|
115
|
+
- app/assets/images/adva_cms/icons/comment.png
|
116
|
+
- app/assets/images/adva_cms/icons/comment_add.png
|
117
|
+
- app/assets/images/adva_cms/icons/comment_blue.gif
|
118
|
+
- app/assets/images/adva_cms/icons/comment_delete.png
|
119
|
+
- app/assets/images/adva_cms/icons/comment_edit.png
|
120
|
+
- app/assets/images/adva_cms/icons/comment_yellow.gif
|
121
|
+
- app/assets/images/adva_cms/icons/cross.png
|
122
|
+
- app/assets/images/adva_cms/icons/delete.png
|
123
|
+
- app/assets/images/adva_cms/icons/eye.png
|
124
|
+
- app/assets/images/adva_cms/icons/favorites.png
|
125
|
+
- app/assets/images/adva_cms/icons/help.png
|
126
|
+
- app/assets/images/adva_cms/icons/hourglass.png
|
127
|
+
- app/assets/images/adva_cms/icons/icon_attachment.gif
|
128
|
+
- app/assets/images/adva_cms/icons/icon_padlock.gif
|
129
|
+
- app/assets/images/adva_cms/icons/link.png
|
130
|
+
- app/assets/images/adva_cms/icons/lock.png
|
131
|
+
- app/assets/images/adva_cms/icons/magnifier.png
|
132
|
+
- app/assets/images/adva_cms/icons/minus.gif
|
133
|
+
- app/assets/images/adva_cms/icons/page_add.png
|
134
|
+
- app/assets/images/adva_cms/icons/page_delete.png
|
135
|
+
- app/assets/images/adva_cms/icons/page_edit.png
|
136
|
+
- app/assets/images/adva_cms/icons/page_favorites.png
|
137
|
+
- app/assets/images/adva_cms/icons/page_go.png
|
138
|
+
- app/assets/images/adva_cms/icons/page_green.png
|
139
|
+
- app/assets/images/adva_cms/icons/page_red.png
|
140
|
+
- app/assets/images/adva_cms/icons/page_white_add.png
|
141
|
+
- app/assets/images/adva_cms/icons/page_white_delete.png
|
142
|
+
- app/assets/images/adva_cms/icons/page_white_edit.png
|
143
|
+
- app/assets/images/adva_cms/icons/page_white_go.png
|
144
|
+
- app/assets/images/adva_cms/icons/page_white_link.png
|
145
|
+
- app/assets/images/adva_cms/icons/page_white_magnify.png
|
146
|
+
- app/assets/images/adva_cms/icons/pencil.png
|
147
|
+
- app/assets/images/adva_cms/icons/star.png
|
148
|
+
- app/assets/images/adva_cms/icons/stop.png
|
149
|
+
- app/assets/images/adva_cms/icons/tag_green.png
|
150
|
+
- app/assets/images/adva_cms/icons/tick.png
|
151
|
+
- app/assets/images/adva_cms/icons/zoom.png
|
152
|
+
- app/assets/images/adva_cms/indicator.gif
|
153
|
+
- app/assets/images/adva_cms/preview.png
|
154
|
+
- app/assets/images/adva_cms/rails.png
|
155
|
+
- app/assets/images/adva_cms/sortable_tree/drag.png
|
156
|
+
- app/assets/images/adva_cms/theme_selected.png
|
157
|
+
- app/assets/javascripts/admin.js
|
158
|
+
- app/assets/javascripts/adva_cms/admin/jquery.admin.js
|
159
|
+
- app/assets/javascripts/adva_cms/admin/jquery.article.js
|
160
|
+
- app/assets/javascripts/adva_cms/admin/jquery.cached_pages.js
|
161
|
+
- app/assets/javascripts/adva_cms/admin/jquery.table_tree.js
|
162
|
+
- app/assets/javascripts/adva_cms/application.js
|
163
|
+
- app/assets/javascripts/adva_cms/base.js
|
164
|
+
- app/assets/javascripts/adva_cms/cookie.js
|
165
|
+
- app/assets/javascripts/adva_cms/jquery.common.js
|
166
|
+
- app/assets/javascripts/adva_cms/jquery.dates.js
|
167
|
+
- app/assets/javascripts/adva_cms/jquery.flash.js
|
168
|
+
- app/assets/javascripts/adva_cms/jquery.roles.js
|
169
|
+
- app/assets/javascripts/adva_cms/jquery/jquery-lowpro.js
|
170
|
+
- app/assets/javascripts/adva_cms/jquery/jquery.qtip.js
|
171
|
+
- app/assets/javascripts/adva_cms/jquery/jquery.table_tree.js
|
172
|
+
- app/assets/javascripts/adva_cms/jquery/jquery.tablednd_0_5.js
|
173
|
+
- app/assets/javascripts/adva_cms/json.js
|
174
|
+
- app/assets/stylesheets/admin.css
|
175
|
+
- app/assets/stylesheets/adva_cms/admin.css
|
176
|
+
- app/assets/stylesheets/adva_cms/admin/alternate/common.css
|
177
|
+
- app/assets/stylesheets/adva_cms/admin/alternate/forms.css
|
178
|
+
- app/assets/stylesheets/adva_cms/admin/alternate/header.css
|
179
|
+
- app/assets/stylesheets/adva_cms/admin/alternate/layout.css
|
180
|
+
- app/assets/stylesheets/adva_cms/admin/alternate/lists.css
|
181
|
+
- app/assets/stylesheets/adva_cms/admin/alternate/sidebar.css
|
182
|
+
- app/assets/stylesheets/adva_cms/admin/alternate/top.css
|
183
|
+
- app/assets/stylesheets/adva_cms/admin/common.css
|
184
|
+
- app/assets/stylesheets/adva_cms/admin/content.css
|
185
|
+
- app/assets/stylesheets/adva_cms/admin/forms.css
|
186
|
+
- app/assets/stylesheets/adva_cms/admin/header.css
|
187
|
+
- app/assets/stylesheets/adva_cms/admin/helptip.css
|
188
|
+
- app/assets/stylesheets/adva_cms/admin/layout.css
|
189
|
+
- app/assets/stylesheets/adva_cms/admin/lists.css
|
190
|
+
- app/assets/stylesheets/adva_cms/admin/projection.css
|
191
|
+
- app/assets/stylesheets/adva_cms/admin/reset.css
|
192
|
+
- app/assets/stylesheets/adva_cms/admin/screen/top.css
|
193
|
+
- app/assets/stylesheets/adva_cms/admin/sidebar.css
|
194
|
+
- app/assets/stylesheets/adva_cms/admin/themes.css
|
195
|
+
- app/assets/stylesheets/adva_cms/admin/top.css
|
196
|
+
- app/assets/stylesheets/adva_cms/admin/users.css
|
197
|
+
- app/assets/stylesheets/adva_cms/common.css
|
198
|
+
- app/assets/stylesheets/adva_cms/default.css
|
199
|
+
- app/assets/stylesheets/adva_cms/forms.css
|
200
|
+
- app/assets/stylesheets/adva_cms/jquery/alternate/jquery.tooltip.css
|
201
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png
|
202
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-bg_flat_75_ffffff_40x100.png
|
203
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png
|
204
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_65_ffffff_1x400.png
|
205
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_75_dadada_1x400.png
|
206
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png
|
207
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_95_fef1ec_1x400.png
|
208
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
209
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-icons_222222_256x240.png
|
210
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-icons_2e83ff_256x240.png
|
211
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-icons_454545_256x240.png
|
212
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-icons_888888_256x240.png
|
213
|
+
- app/assets/stylesheets/adva_cms/jquery/images/ui-icons_cd0a0a_256x240.png
|
214
|
+
- app/assets/stylesheets/adva_cms/jquery/jquery-ui.css
|
215
|
+
- app/assets/stylesheets/adva_cms/jquery/jquery.tooltip.css
|
216
|
+
- app/assets/stylesheets/adva_cms/layout/login.css
|
217
|
+
- app/assets/stylesheets/adva_cms/layout/simple.css
|
218
|
+
- app/assets/stylesheets/adva_cms/menu.css
|
219
|
+
- app/assets/stylesheets/adva_cms/reset.css
|
220
|
+
- app/controllers/admin/base_controller.rb
|
221
|
+
- app/controllers/admin/categories_controller.rb
|
222
|
+
- app/controllers/admin/install_controller.rb
|
223
|
+
- app/controllers/admin/page/articles_controller.rb
|
224
|
+
- app/controllers/admin/page/categories_controller.rb
|
225
|
+
- app/controllers/admin/page/contents_controller.rb
|
226
|
+
- app/controllers/admin/page/links_controller.rb
|
227
|
+
- app/controllers/admin/pages_controller.rb
|
228
|
+
- app/controllers/admin/plugins_controller.rb
|
229
|
+
- app/controllers/admin/sections_controller.rb
|
230
|
+
- app/controllers/admin/sites_controller.rb
|
231
|
+
- app/controllers/articles_controller.rb
|
232
|
+
- app/controllers/base_controller.rb
|
233
|
+
- app/helpers/admin/base_helper.rb
|
234
|
+
- app/helpers/base_helper.rb
|
235
|
+
- app/helpers/content_helper.rb
|
236
|
+
- app/helpers/resource_helper.rb
|
237
|
+
- app/models/article.rb
|
238
|
+
- app/models/categorization.rb
|
239
|
+
- app/models/category.rb
|
240
|
+
- app/models/content.rb
|
241
|
+
- app/models/event.rb
|
242
|
+
- app/models/link.rb
|
243
|
+
- app/models/page.rb
|
244
|
+
- app/models/section.rb
|
245
|
+
- app/models/site.rb
|
246
|
+
- app/views/admin/cached_pages/_filter.html.erb
|
247
|
+
- app/views/admin/cached_pages/destroy.js.erb
|
248
|
+
- app/views/admin/cached_pages/index.html.erb
|
249
|
+
- app/views/admin/install/confirmation.html.erb
|
250
|
+
- app/views/admin/install/index.html.erb
|
251
|
+
- app/views/admin/page/articles/_form.html.erb
|
252
|
+
- app/views/admin/page/articles/_options.html.erb
|
253
|
+
- app/views/admin/page/articles/edit.html.erb
|
254
|
+
- app/views/admin/page/articles/new.html.erb
|
255
|
+
- app/views/admin/page/categories/edit.html.erb
|
256
|
+
- app/views/admin/page/categories/index.html.erb
|
257
|
+
- app/views/admin/page/categories/new.html.erb
|
258
|
+
- app/views/admin/page/contents/index.html.erb
|
259
|
+
- app/views/admin/page/links/_form.html.erb
|
260
|
+
- app/views/admin/page/links/_options.html.erb
|
261
|
+
- app/views/admin/page/links/edit.html.erb
|
262
|
+
- app/views/admin/page/links/new.html.erb
|
263
|
+
- app/views/admin/plugins/_form.html.erb
|
264
|
+
- app/views/admin/plugins/index.html.erb
|
265
|
+
- app/views/admin/plugins/show.html.erb
|
266
|
+
- app/views/admin/sections/_form.html.haml
|
267
|
+
- app/views/admin/sections/edit.html.haml
|
268
|
+
- app/views/admin/sections/index.html.erb
|
269
|
+
- app/views/admin/sections/new.html.erb
|
270
|
+
- app/views/admin/sections/settings/_page.html.haml
|
271
|
+
- app/views/admin/shared/_header.html.erb
|
272
|
+
- app/views/admin/shared/_language_select.html.erb
|
273
|
+
- app/views/admin/shared/_section.html.erb
|
274
|
+
- app/views/admin/shared/_section_summary.html.erb
|
275
|
+
- app/views/admin/shared/_section_tree.html.erb
|
276
|
+
- app/views/admin/sites/_email_notifications.html.erb
|
277
|
+
- app/views/admin/sites/_form.html.erb
|
278
|
+
- app/views/admin/sites/_recent_users.html.erb
|
279
|
+
- app/views/admin/sites/_sections.html.erb
|
280
|
+
- app/views/admin/sites/_unapproved_comments.html.erb
|
281
|
+
- app/views/admin/sites/edit.html.erb
|
282
|
+
- app/views/admin/sites/index.html.erb
|
283
|
+
- app/views/admin/sites/multi_sites_disabled.html.erb
|
284
|
+
- app/views/admin/sites/new.html.erb
|
285
|
+
- app/views/admin/sites/show.html.erb
|
286
|
+
- app/views/categories/_checkboxes.html.erb
|
287
|
+
- app/views/layouts/admin.html.haml
|
288
|
+
- app/views/layouts/default.html.erb
|
289
|
+
- app/views/layouts/simple.html.erb
|
290
|
+
- app/views/pages/articles/index.html.erb
|
291
|
+
- app/views/pages/articles/show.html.erb
|
292
|
+
- app/views/shared/_flash.html.erb
|
293
|
+
- app/views/shared/_footer.html.erb
|
294
|
+
- app/views/shared/_menu.html.erb
|
295
|
+
- app/views/shared/_sidebar.html.erb
|
296
|
+
- app/views/shared/messages/insufficient_permissions.html.erb
|
297
|
+
- config/environment.rb
|
298
|
+
- config/initializers/has_options.rb
|
299
|
+
- config/initializers/has_permalink.rb
|
300
|
+
- config/initializers/mailer.rb
|
301
|
+
- config/initializers/menus.rb
|
302
|
+
- config/initializers/roles.rb
|
303
|
+
- config/initializers/settings.rb
|
304
|
+
- config/initializers/site.rb
|
305
|
+
- config/initializers/translations_are_a_pain.rb
|
306
|
+
- config/locales/en.yml
|
307
|
+
- config/routes.rb
|
308
|
+
- db/migrate/20080401000001_create_sites_table.rb
|
309
|
+
- db/migrate/20080401000002_create_sections_table.rb
|
310
|
+
- db/migrate/20080401000003_create_contents_table.rb
|
311
|
+
- db/migrate/20080401000004_create_categories_table.rb
|
312
|
+
- db/migrate/20080401000005_create_category_assignments.rb
|
313
|
+
- db/migrate/20080401000006_create_taggable_tables.rb
|
314
|
+
- db/migrate/20080710000000_create_plugin_configs.rb
|
315
|
+
- db/migrate/20080715131051_plugin_owner_column.rb
|
316
|
+
- db/migrate/20081208161500_add_content_type_to_join_tables.rb
|
317
|
+
- db/migrate/20090216114034_rename_category_assignment_to_categorization.rb
|
318
|
+
- db/migrate/20090305123429_move_sections_to_pages.rb
|
319
|
+
- db/migrate/20090519132700_add_published_at_to_sections.rb
|
320
|
+
- db/migrate/20090702085459_create_section_translations.rb
|
321
|
+
- db/migrate/20090702200226_create_category_translations.rb
|
322
|
+
- db/migrate/20090707171100_upgrade_paperclip_paths.rb
|
323
|
+
- db/migrate/20090709111934_add_email_notification_to_site.rb
|
324
|
+
- db/migrate/20091026000906_add_nesting_to_articles.rb
|
325
|
+
- db/migrate/20140721000000_add_title_to_contents.rb
|
326
|
+
- lib/adva_cms.rb
|
327
|
+
- lib/adva_cms/version.rb
|
328
|
+
- lib/core_ext.rb
|
329
|
+
- lib/extensible_forms.rb
|
330
|
+
- lib/has_options.rb
|
331
|
+
- lib/html_diff.rb
|
332
|
+
- lib/rails_ext.rb
|
333
|
+
- lib/rails_ext/action_controller/cacheable_flash.rb
|
334
|
+
- lib/rails_ext/action_controller/content_for_assignments.rb
|
335
|
+
- lib/rails_ext/action_controller/default_params.rb
|
336
|
+
- lib/rails_ext/action_controller/event_helper.rb
|
337
|
+
- lib/rails_ext/action_controller/page_caching.rb
|
338
|
+
- lib/rails_ext/action_controller/render_with_error_proc.rb
|
339
|
+
- lib/rails_ext/action_controller/responds_to_parent.rb
|
340
|
+
- lib/rails_ext/action_controller/url_for_returning.rb
|
341
|
+
- lib/rails_ext/active_record/exists.rb
|
342
|
+
- lib/rails_ext/active_record/sti_instantiation.rb
|
343
|
+
- lib/rails_ext/active_record/sticky_changes.rb
|
344
|
+
- lib/rails_ext/railties/plugin.rb
|
345
|
+
- lib/rails_ext/railties/plugin_configuration.rb
|
346
|
+
- lib/rails_ext/railties/plugin_initializers.rb
|
347
|
+
- lib/registry.rb
|
348
|
+
- lib/tasks/adva_cms.rake
|
349
|
+
- lib/tasks/translation.rake
|
350
|
+
- lib/time_hacks.rb
|
351
|
+
- lib/webrat_patch.rb
|
352
|
+
- locale/rails/fr.yml
|
353
|
+
- test/NOTES
|
354
|
+
- test/contexts.rb
|
355
|
+
- test/fixtures.rb
|
356
|
+
- test/fixtures/templates/alternative_templates/index.html.erb
|
357
|
+
- test/fixtures/templates/context_templates_test/index.html.erb
|
358
|
+
- test/fixtures/templates/context_templates_test/show.html.erb
|
359
|
+
- test/fixtures/templates/layouts/alternative.html.erb
|
360
|
+
- test/fixtures/templates/layouts/default.html.erb
|
361
|
+
- test/fixtures/templates/menu/shared/_menu.html.erb
|
362
|
+
- test/functional/admin/articles_controller_test.rb
|
363
|
+
- test/functional/admin/base_controller_test.rb
|
364
|
+
- test/functional/admin/cached_pages_controller_test.rb
|
365
|
+
- test/functional/admin/categories_controller_test.rb
|
366
|
+
- test/functional/admin/cells_controller_spec.rb
|
367
|
+
- test/functional/admin/install_controller_test.rb
|
368
|
+
- test/functional/admin/plugins_controller_test.rb
|
369
|
+
- test/functional/admin/sections_controller_test.rb
|
370
|
+
- test/functional/admin/sites_controller_test.rb
|
371
|
+
- test/functional/asset_tag_expansions_test.rb
|
372
|
+
- test/functional/base_controller_test.rb
|
373
|
+
- test/functional/page_articles_controller_test.rb
|
374
|
+
- test/functional/page_articles_routes_test.rb
|
375
|
+
- test/integration/admin/cached_pages_test.rb
|
376
|
+
- test/integration/admin/categories_test.rb
|
377
|
+
- test/integration/admin/custom_templates_test.rb
|
378
|
+
- test/integration/admin/filtering_articles_test.rb
|
379
|
+
- test/integration/admin/plugins.rb
|
380
|
+
- test/integration/admin/section_article_test.rb
|
381
|
+
- test/integration/admin/section_test.rb
|
382
|
+
- test/integration/admin/sites_test.rb
|
383
|
+
- test/integration/installation_test.rb
|
384
|
+
- test/integration/page_article_comment_test.rb
|
385
|
+
- test/integration/page_article_test.rb
|
386
|
+
- test/integration/section_index_test.rb
|
387
|
+
- test/javascript/assets/jquery-lowpro.js
|
388
|
+
- test/javascript/assets/jquery-ui.js
|
389
|
+
- test/javascript/assets/jquery.js
|
390
|
+
- test/javascript/assets/testrunner.js
|
391
|
+
- test/javascript/assets/testsuite.css
|
392
|
+
- test/javascript/lib/jstest.rb
|
393
|
+
- test/javascript/templates/test_case.erb
|
394
|
+
- test/plugins/adva_context_templates/context_templates_test.rb
|
395
|
+
- test/plugins/adva_post_ping/controller/integration_test.rb
|
396
|
+
- test/plugins/adva_post_ping/post_ping_test.rb
|
397
|
+
- test/plugins/adva_url_history/article_test.rb
|
398
|
+
- test/plugins/adva_url_history/init_url_history.rb
|
399
|
+
- test/plugins/adva_url_history/section_test.rb
|
400
|
+
- test/test_helper.rb
|
401
|
+
- test/test_helper/clear_directories.rb
|
402
|
+
- test/test_helper/ensure_single_site_mode.rb
|
403
|
+
- test/test_helper/extensions/cacheable_flash.rb
|
404
|
+
- test/test_helper/extensions/cronjob.rb
|
405
|
+
- test/test_helper/extensions/even_test_log.rb
|
406
|
+
- test/test_helper/extensions/integration_test.rb
|
407
|
+
- test/test_helper/extensions/matchy.rb
|
408
|
+
- test/test_helper/extensions/matchy_adva_cms.rb
|
409
|
+
- test/test_helper/extensions/rails_patch.rb
|
410
|
+
- test/test_helper/extensions/rr.rb
|
411
|
+
- test/test_helper/extensions/test_unit.rb
|
412
|
+
- test/test_helper/extensions/with_sugar.rb
|
413
|
+
- test/test_helper/parse_options.rb
|
414
|
+
- test/test_helper/setup_db_transaction.rb
|
415
|
+
- test/test_helper/setup_webrat.rb
|
416
|
+
- test/test_helper/test_server/init.rb
|
417
|
+
- test/unit/helpers/admin/base_helper_test.rb
|
418
|
+
- test/unit/helpers/base_helper_spec.rb
|
419
|
+
- test/unit/helpers/base_helper_test.rb
|
420
|
+
- test/unit/helpers/content_helper_test.rb
|
421
|
+
- test/unit/helpers/resource_helper_test.rb
|
422
|
+
- test/unit/i18n_test.rb
|
423
|
+
- test/unit/lib/cells_ext_spec.rb
|
424
|
+
- test/unit/lib/extensible_forms_test.rb
|
425
|
+
- test/unit/lib/menu_test.rb
|
426
|
+
- test/unit/lib/rails_ext/content_for_assignments_test.rb
|
427
|
+
- test/unit/lib/rails_ext/plugin_configuration_test.rb
|
428
|
+
- test/unit/lib/rails_ext/sticky_changes_test.rb
|
429
|
+
- test/unit/lib/registry_test.rb
|
430
|
+
- test/unit/lib/routing_filter/routing_filter_categories_spec.rb
|
431
|
+
- test/unit/lib/routing_filter/routing_filter_categories_test.rb
|
432
|
+
- test/unit/lib/routing_filter/routing_filter_locale_spec.rb
|
433
|
+
- test/unit/lib/routing_filter/routing_filter_root_blog_archive_spec.rb
|
434
|
+
- test/unit/lib/routing_filter/routing_filter_root_section_articles_spec.rb
|
435
|
+
- test/unit/lib/routing_filter/routing_filter_root_wikipages_spec.rb
|
436
|
+
- test/unit/lib/routing_filter/routing_filter_sections_spec.rb
|
437
|
+
- test/unit/lib/routing_filter/routing_filter_sections_test.rb
|
438
|
+
- test/unit/lib/routing_filter/routing_filter_sets_test.rb
|
439
|
+
- test/unit/models/article_test.rb
|
440
|
+
- test/unit/models/category_test.rb
|
441
|
+
- test/unit/models/content_test.rb
|
442
|
+
- test/unit/models/counter_test.rb
|
443
|
+
- test/unit/models/event_test.rb
|
444
|
+
- test/unit/models/nested_categories_test.rb
|
445
|
+
- test/unit/models/page_test.rb
|
446
|
+
- test/unit/models/section_test.rb
|
447
|
+
- test/unit/models/site_test.rb
|
448
|
+
- test/unit/observers/activities_article_observer_test.rb
|
449
|
+
- vendor/gems/belongs_to_cacheable/.gitignore
|
450
|
+
- vendor/gems/belongs_to_cacheable/Gemfile
|
451
|
+
- vendor/gems/belongs_to_cacheable/LICENSE
|
452
|
+
- vendor/gems/belongs_to_cacheable/README.md
|
453
|
+
- vendor/gems/belongs_to_cacheable/Rakefile
|
454
|
+
- vendor/gems/belongs_to_cacheable/belongs_to_cacheable.gemspec
|
455
|
+
- vendor/gems/belongs_to_cacheable/init.rb
|
456
|
+
- vendor/gems/belongs_to_cacheable/lib/active_record/belongs_to_cacheable.rb
|
457
|
+
- vendor/gems/belongs_to_cacheable/lib/belongs_to_cacheable.rb
|
458
|
+
- vendor/gems/belongs_to_cacheable/lib/belongs_to_cacheable/version.rb
|
459
|
+
- vendor/gems/belongs_to_cacheable/spec/belongs_to_cacheable_spec.rb
|
460
|
+
- vendor/gems/belongs_to_cacheable/spec/spec_helper.rb
|
461
|
+
- vendor/gems/filtered_column/.gitignore
|
462
|
+
- vendor/gems/filtered_column/Gemfile
|
463
|
+
- vendor/gems/filtered_column/LICENSE
|
464
|
+
- vendor/gems/filtered_column/README
|
465
|
+
- vendor/gems/filtered_column/README.md
|
466
|
+
- vendor/gems/filtered_column/Rakefile
|
467
|
+
- vendor/gems/filtered_column/filtered_column.gemspec
|
468
|
+
- vendor/gems/filtered_column/lib/filtered_column.rb
|
469
|
+
- vendor/gems/filtered_column/lib/filtered_column/filters/base.rb
|
470
|
+
- vendor/gems/filtered_column/lib/filtered_column/filters/smartypants_filter.rb
|
471
|
+
- vendor/gems/filtered_column/lib/filtered_column/filters/textile_filter.rb
|
472
|
+
- vendor/gems/filtered_column/lib/filtered_column/macros/base.rb
|
473
|
+
- vendor/gems/filtered_column/lib/filtered_column/mixin.rb
|
474
|
+
- vendor/gems/filtered_column/lib/filtered_column/processor.rb
|
475
|
+
- vendor/gems/filtered_column/lib/filtered_column/version.rb
|
476
|
+
- vendor/gems/filtered_column/tasks/filtered_column_tasks.rake
|
477
|
+
- vendor/gems/filtered_column/test/abstract_unit.rb
|
478
|
+
- vendor/gems/filtered_column/test/filtered_column_test.rb
|
479
|
+
- vendor/gems/filtered_column/test/macro_filter_test.rb
|
480
|
+
- vendor/gems/has_counter/.gitignore
|
481
|
+
- vendor/gems/has_counter/Gemfile
|
482
|
+
- vendor/gems/has_counter/LICENSE
|
483
|
+
- vendor/gems/has_counter/MIT-LICENSE
|
484
|
+
- vendor/gems/has_counter/README.markdown
|
485
|
+
- vendor/gems/has_counter/README.md
|
486
|
+
- vendor/gems/has_counter/Rakefile
|
487
|
+
- vendor/gems/has_counter/db/migrate/20080601194338_create_counters_table.rb.rb
|
488
|
+
- vendor/gems/has_counter/has_counter.gemspec
|
489
|
+
- vendor/gems/has_counter/lib/active_record/has_counter.rb
|
490
|
+
- vendor/gems/has_counter/lib/counter.rb
|
491
|
+
- vendor/gems/has_counter/lib/has_counter.rb
|
492
|
+
- vendor/gems/has_counter/lib/has_counter/version.rb
|
493
|
+
- vendor/gems/has_counter/spec/has_counter.spec.log
|
494
|
+
- vendor/gems/has_counter/spec/has_counter.sqlite3.db
|
495
|
+
- vendor/gems/has_counter/spec/has_counter_spec.rb
|
496
|
+
- vendor/gems/has_counter/spec/spec_helper.rb
|
497
|
+
- vendor/gems/has_filter/.gitignore
|
498
|
+
- vendor/gems/has_filter/Gemfile
|
499
|
+
- vendor/gems/has_filter/LICENSE
|
500
|
+
- vendor/gems/has_filter/README.md
|
501
|
+
- vendor/gems/has_filter/Rakefile
|
502
|
+
- vendor/gems/has_filter/app/assets/images/has_filter/filter_add.png
|
503
|
+
- vendor/gems/has_filter/app/assets/images/has_filter/filter_button_left.png
|
504
|
+
- vendor/gems/has_filter/app/assets/images/has_filter/filter_button_right.png
|
505
|
+
- vendor/gems/has_filter/app/assets/images/has_filter/filter_remove.png
|
506
|
+
- vendor/gems/has_filter/app/assets/javascripts/has_filter/filter.js
|
507
|
+
- vendor/gems/has_filter/app/assets/javascripts/has_filter/jquery.filter.js
|
508
|
+
- vendor/gems/has_filter/app/assets/stylesheets/has_filter/alternate/filter.css
|
509
|
+
- vendor/gems/has_filter/app/assets/stylesheets/has_filter/filter.css
|
510
|
+
- vendor/gems/has_filter/app/helpers/filter_helper.rb
|
511
|
+
- vendor/gems/has_filter/has_filter.gemspec
|
512
|
+
- vendor/gems/has_filter/init.rb
|
513
|
+
- vendor/gems/has_filter/lib/has_filter.rb
|
514
|
+
- vendor/gems/has_filter/lib/has_filter/active_record/act_macro.rb
|
515
|
+
- vendor/gems/has_filter/lib/has_filter/filter.rb
|
516
|
+
- vendor/gems/has_filter/lib/has_filter/filter/base.rb
|
517
|
+
- vendor/gems/has_filter/lib/has_filter/filter/categorized.rb
|
518
|
+
- vendor/gems/has_filter/lib/has_filter/filter/chain.rb
|
519
|
+
- vendor/gems/has_filter/lib/has_filter/filter/set.rb
|
520
|
+
- vendor/gems/has_filter/lib/has_filter/filter/state.rb
|
521
|
+
- vendor/gems/has_filter/lib/has_filter/filter/tagged.rb
|
522
|
+
- vendor/gems/has_filter/lib/has_filter/filter/text.rb
|
523
|
+
- vendor/gems/has_filter/lib/has_filter/version.rb
|
524
|
+
- vendor/gems/has_filter/test/db/setup.rb
|
525
|
+
- vendor/gems/has_filter/test/db/test.sqlite3.db
|
526
|
+
- vendor/gems/has_filter/test/fixtures.rb
|
527
|
+
- vendor/gems/has_filter/test/has_filter/filter_chain_test.rb
|
528
|
+
- vendor/gems/has_filter/test/has_filter/filter_scopes_test.rb
|
529
|
+
- vendor/gems/has_filter/test/has_filter/filter_tags_test.rb
|
530
|
+
- vendor/gems/has_filter/test/has_filter/integration.rb
|
531
|
+
- vendor/gems/has_filter/test/has_filter/scopes_test.rb
|
532
|
+
- vendor/gems/has_filter/test/log/test.log
|
533
|
+
- vendor/gems/has_filter/test/models.rb
|
534
|
+
- vendor/gems/has_filter/test/templates/has_filter/test/index.html.erb
|
535
|
+
- vendor/gems/has_filter/test/test_helper.rb
|
536
|
+
- vendor/gems/simple_taggable/.gitignore
|
537
|
+
- vendor/gems/simple_taggable/Gemfile
|
538
|
+
- vendor/gems/simple_taggable/LICENSE
|
539
|
+
- vendor/gems/simple_taggable/README
|
540
|
+
- vendor/gems/simple_taggable/README.md
|
541
|
+
- vendor/gems/simple_taggable/Rakefile
|
542
|
+
- vendor/gems/simple_taggable/lib/simple_taggable.rb
|
543
|
+
- vendor/gems/simple_taggable/lib/simple_taggable/version.rb
|
544
|
+
- vendor/gems/simple_taggable/lib/tag.rb
|
545
|
+
- vendor/gems/simple_taggable/lib/tag_list.rb
|
546
|
+
- vendor/gems/simple_taggable/lib/tagging.rb
|
547
|
+
- vendor/gems/simple_taggable/simple_taggable.gemspec
|
548
|
+
- vendor/gems/simple_taggable/test/db/schema.rb
|
549
|
+
- vendor/gems/simple_taggable/test/db/simple_taggable.sqlite3.db
|
550
|
+
- vendor/gems/simple_taggable/test/fixtures/magazine.rb
|
551
|
+
- vendor/gems/simple_taggable/test/fixtures/magazines.yml
|
552
|
+
- vendor/gems/simple_taggable/test/fixtures/photo.rb
|
553
|
+
- vendor/gems/simple_taggable/test/fixtures/photos.yml
|
554
|
+
- vendor/gems/simple_taggable/test/fixtures/post.rb
|
555
|
+
- vendor/gems/simple_taggable/test/fixtures/posts.yml
|
556
|
+
- vendor/gems/simple_taggable/test/fixtures/subscription.rb
|
557
|
+
- vendor/gems/simple_taggable/test/fixtures/subscriptions.yml
|
558
|
+
- vendor/gems/simple_taggable/test/fixtures/taggings.yml
|
559
|
+
- vendor/gems/simple_taggable/test/fixtures/tags.yml
|
560
|
+
- vendor/gems/simple_taggable/test/fixtures/user.rb
|
561
|
+
- vendor/gems/simple_taggable/test/fixtures/users.yml
|
562
|
+
- vendor/gems/simple_taggable/test/log/simple_taggable.log
|
563
|
+
- vendor/gems/simple_taggable/test/simple_taggable_test.rb
|
564
|
+
- vendor/gems/simple_taggable/test/tag_list_test.rb
|
565
|
+
- vendor/gems/simple_taggable/test/test_helper.rb
|
566
|
+
- vendor/gems/table_builder/.gitignore
|
567
|
+
- vendor/gems/table_builder/Gemfile
|
568
|
+
- vendor/gems/table_builder/LICENSE
|
569
|
+
- vendor/gems/table_builder/README.md
|
570
|
+
- vendor/gems/table_builder/Rakefile
|
571
|
+
- vendor/gems/table_builder/lib/table_builder.rb
|
572
|
+
- vendor/gems/table_builder/lib/table_builder/body.rb
|
573
|
+
- vendor/gems/table_builder/lib/table_builder/cell.rb
|
574
|
+
- vendor/gems/table_builder/lib/table_builder/column.rb
|
575
|
+
- vendor/gems/table_builder/lib/table_builder/foot.rb
|
576
|
+
- vendor/gems/table_builder/lib/table_builder/head.rb
|
577
|
+
- vendor/gems/table_builder/lib/table_builder/row.rb
|
578
|
+
- vendor/gems/table_builder/lib/table_builder/rows.rb
|
579
|
+
- vendor/gems/table_builder/lib/table_builder/table.rb
|
580
|
+
- vendor/gems/table_builder/lib/table_builder/tag.rb
|
581
|
+
- vendor/gems/table_builder/lib/table_builder/version.rb
|
582
|
+
- vendor/gems/table_builder/table_builder.gemspec
|
583
|
+
- vendor/gems/table_builder/test/fixtures/templates/table_all.html.erb
|
584
|
+
- vendor/gems/table_builder/test/fixtures/templates/table_auto_body.html.erb
|
585
|
+
- vendor/gems/table_builder/test/fixtures/templates/table_auto_columns.html.erb
|
586
|
+
- vendor/gems/table_builder/test/fixtures/templates/table_simple.html.erb
|
587
|
+
- vendor/gems/table_builder/test/table_builder/table_test.rb
|
588
|
+
- vendor/gems/table_builder/test/test_helper.rb
|
589
|
+
- vendor/gems/tags/.gitignore
|
590
|
+
- vendor/gems/tags/Gemfile
|
591
|
+
- vendor/gems/tags/LICENSE
|
592
|
+
- vendor/gems/tags/README.md
|
593
|
+
- vendor/gems/tags/Rakefile
|
594
|
+
- vendor/gems/tags/lib/breadcrumbs.rb
|
595
|
+
- vendor/gems/tags/lib/menu.rb
|
596
|
+
- vendor/gems/tags/lib/menu/builder.rb
|
597
|
+
- vendor/gems/tags/lib/tags.rb
|
598
|
+
- vendor/gems/tags/lib/tags/tag.rb
|
599
|
+
- vendor/gems/tags/lib/tags/version.rb
|
600
|
+
- vendor/gems/tags/tags.gemspec
|
601
|
+
- vendor/gems/tags/test/tags/menu_test.rb
|
602
|
+
- vendor/gems/tags/test/tags/tag_test.rb
|
603
|
+
- vendor/gems/tags/test/test_helper.rb
|
604
|
+
- vendor/gems/xss_terminate/.gitignore
|
605
|
+
- vendor/gems/xss_terminate/Gemfile
|
606
|
+
- vendor/gems/xss_terminate/LICENSE
|
607
|
+
- vendor/gems/xss_terminate/MIT-LICENSE
|
608
|
+
- vendor/gems/xss_terminate/README
|
609
|
+
- vendor/gems/xss_terminate/README.md
|
610
|
+
- vendor/gems/xss_terminate/Rakefile
|
611
|
+
- vendor/gems/xss_terminate/lib/html5lib_sanitize.rb
|
612
|
+
- vendor/gems/xss_terminate/lib/rails_sanitize.rb
|
613
|
+
- vendor/gems/xss_terminate/lib/xss_terminate.rb
|
614
|
+
- vendor/gems/xss_terminate/lib/xss_terminate/version.rb
|
615
|
+
- vendor/gems/xss_terminate/tasks/xss_terminate_tasks.rake
|
616
|
+
- vendor/gems/xss_terminate/test/models/comment.rb
|
617
|
+
- vendor/gems/xss_terminate/test/models/entry.rb
|
618
|
+
- vendor/gems/xss_terminate/test/models/message.rb
|
619
|
+
- vendor/gems/xss_terminate/test/models/person.rb
|
620
|
+
- vendor/gems/xss_terminate/test/models/review.rb
|
621
|
+
- vendor/gems/xss_terminate/test/schema.rb
|
622
|
+
- vendor/gems/xss_terminate/test/setup_test.rb
|
623
|
+
- vendor/gems/xss_terminate/test/xss_terminate_test.rb
|
624
|
+
- vendor/gems/xss_terminate/xss_terminate.gemspec
|
625
|
+
homepage: ''
|
626
|
+
licenses: []
|
627
|
+
metadata: {}
|
628
|
+
post_install_message:
|
629
|
+
rdoc_options: []
|
630
|
+
require_paths:
|
631
|
+
- lib
|
632
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
633
|
+
requirements:
|
634
|
+
- - ">="
|
635
|
+
- !ruby/object:Gem::Version
|
636
|
+
version: '0'
|
637
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
638
|
+
requirements:
|
639
|
+
- - ">="
|
640
|
+
- !ruby/object:Gem::Version
|
641
|
+
version: '0'
|
642
|
+
requirements: []
|
643
|
+
rubyforge_project:
|
644
|
+
rubygems_version: 2.4.6
|
645
|
+
signing_key:
|
646
|
+
specification_version: 4
|
647
|
+
summary: Engine for Adva CMS core
|
648
|
+
test_files:
|
649
|
+
- test/NOTES
|
650
|
+
- test/contexts.rb
|
651
|
+
- test/fixtures.rb
|
652
|
+
- test/fixtures/templates/alternative_templates/index.html.erb
|
653
|
+
- test/fixtures/templates/context_templates_test/index.html.erb
|
654
|
+
- test/fixtures/templates/context_templates_test/show.html.erb
|
655
|
+
- test/fixtures/templates/layouts/alternative.html.erb
|
656
|
+
- test/fixtures/templates/layouts/default.html.erb
|
657
|
+
- test/fixtures/templates/menu/shared/_menu.html.erb
|
658
|
+
- test/functional/admin/articles_controller_test.rb
|
659
|
+
- test/functional/admin/base_controller_test.rb
|
660
|
+
- test/functional/admin/cached_pages_controller_test.rb
|
661
|
+
- test/functional/admin/categories_controller_test.rb
|
662
|
+
- test/functional/admin/cells_controller_spec.rb
|
663
|
+
- test/functional/admin/install_controller_test.rb
|
664
|
+
- test/functional/admin/plugins_controller_test.rb
|
665
|
+
- test/functional/admin/sections_controller_test.rb
|
666
|
+
- test/functional/admin/sites_controller_test.rb
|
667
|
+
- test/functional/asset_tag_expansions_test.rb
|
668
|
+
- test/functional/base_controller_test.rb
|
669
|
+
- test/functional/page_articles_controller_test.rb
|
670
|
+
- test/functional/page_articles_routes_test.rb
|
671
|
+
- test/integration/admin/cached_pages_test.rb
|
672
|
+
- test/integration/admin/categories_test.rb
|
673
|
+
- test/integration/admin/custom_templates_test.rb
|
674
|
+
- test/integration/admin/filtering_articles_test.rb
|
675
|
+
- test/integration/admin/plugins.rb
|
676
|
+
- test/integration/admin/section_article_test.rb
|
677
|
+
- test/integration/admin/section_test.rb
|
678
|
+
- test/integration/admin/sites_test.rb
|
679
|
+
- test/integration/installation_test.rb
|
680
|
+
- test/integration/page_article_comment_test.rb
|
681
|
+
- test/integration/page_article_test.rb
|
682
|
+
- test/integration/section_index_test.rb
|
683
|
+
- test/javascript/assets/jquery-lowpro.js
|
684
|
+
- test/javascript/assets/jquery-ui.js
|
685
|
+
- test/javascript/assets/jquery.js
|
686
|
+
- test/javascript/assets/testrunner.js
|
687
|
+
- test/javascript/assets/testsuite.css
|
688
|
+
- test/javascript/lib/jstest.rb
|
689
|
+
- test/javascript/templates/test_case.erb
|
690
|
+
- test/plugins/adva_context_templates/context_templates_test.rb
|
691
|
+
- test/plugins/adva_post_ping/controller/integration_test.rb
|
692
|
+
- test/plugins/adva_post_ping/post_ping_test.rb
|
693
|
+
- test/plugins/adva_url_history/article_test.rb
|
694
|
+
- test/plugins/adva_url_history/init_url_history.rb
|
695
|
+
- test/plugins/adva_url_history/section_test.rb
|
696
|
+
- test/test_helper.rb
|
697
|
+
- test/test_helper/clear_directories.rb
|
698
|
+
- test/test_helper/ensure_single_site_mode.rb
|
699
|
+
- test/test_helper/extensions/cacheable_flash.rb
|
700
|
+
- test/test_helper/extensions/cronjob.rb
|
701
|
+
- test/test_helper/extensions/even_test_log.rb
|
702
|
+
- test/test_helper/extensions/integration_test.rb
|
703
|
+
- test/test_helper/extensions/matchy.rb
|
704
|
+
- test/test_helper/extensions/matchy_adva_cms.rb
|
705
|
+
- test/test_helper/extensions/rails_patch.rb
|
706
|
+
- test/test_helper/extensions/rr.rb
|
707
|
+
- test/test_helper/extensions/test_unit.rb
|
708
|
+
- test/test_helper/extensions/with_sugar.rb
|
709
|
+
- test/test_helper/parse_options.rb
|
710
|
+
- test/test_helper/setup_db_transaction.rb
|
711
|
+
- test/test_helper/setup_webrat.rb
|
712
|
+
- test/test_helper/test_server/init.rb
|
713
|
+
- test/unit/helpers/admin/base_helper_test.rb
|
714
|
+
- test/unit/helpers/base_helper_spec.rb
|
715
|
+
- test/unit/helpers/base_helper_test.rb
|
716
|
+
- test/unit/helpers/content_helper_test.rb
|
717
|
+
- test/unit/helpers/resource_helper_test.rb
|
718
|
+
- test/unit/i18n_test.rb
|
719
|
+
- test/unit/lib/cells_ext_spec.rb
|
720
|
+
- test/unit/lib/extensible_forms_test.rb
|
721
|
+
- test/unit/lib/menu_test.rb
|
722
|
+
- test/unit/lib/rails_ext/content_for_assignments_test.rb
|
723
|
+
- test/unit/lib/rails_ext/plugin_configuration_test.rb
|
724
|
+
- test/unit/lib/rails_ext/sticky_changes_test.rb
|
725
|
+
- test/unit/lib/registry_test.rb
|
726
|
+
- test/unit/lib/routing_filter/routing_filter_categories_spec.rb
|
727
|
+
- test/unit/lib/routing_filter/routing_filter_categories_test.rb
|
728
|
+
- test/unit/lib/routing_filter/routing_filter_locale_spec.rb
|
729
|
+
- test/unit/lib/routing_filter/routing_filter_root_blog_archive_spec.rb
|
730
|
+
- test/unit/lib/routing_filter/routing_filter_root_section_articles_spec.rb
|
731
|
+
- test/unit/lib/routing_filter/routing_filter_root_wikipages_spec.rb
|
732
|
+
- test/unit/lib/routing_filter/routing_filter_sections_spec.rb
|
733
|
+
- test/unit/lib/routing_filter/routing_filter_sections_test.rb
|
734
|
+
- test/unit/lib/routing_filter/routing_filter_sets_test.rb
|
735
|
+
- test/unit/models/article_test.rb
|
736
|
+
- test/unit/models/category_test.rb
|
737
|
+
- test/unit/models/content_test.rb
|
738
|
+
- test/unit/models/counter_test.rb
|
739
|
+
- test/unit/models/event_test.rb
|
740
|
+
- test/unit/models/nested_categories_test.rb
|
741
|
+
- test/unit/models/page_test.rb
|
742
|
+
- test/unit/models/section_test.rb
|
743
|
+
- test/unit/models/site_test.rb
|
744
|
+
- test/unit/observers/activities_article_observer_test.rb
|