adva 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +21 -0
- data/CHANGELOG +263 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README +245 -0
- data/Rakefile +2 -0
- data/adva.gemspec +17 -0
- data/adva_activity/Gemfile +4 -0
- data/adva_activity/LICENSE +22 -0
- data/adva_activity/README.md +29 -0
- data/adva_activity/Rakefile +2 -0
- data/adva_activity/adva_activity.gemspec +19 -0
- data/adva_activity/app/assets/stylesheets/adva_activity/admin/activities.css +81 -0
- data/adva_activity/app/helpers/activities_helper.rb +73 -0
- data/adva_activity/app/models/activity.rb +87 -0
- data/adva_activity/app/models/activity_notifier.rb +11 -0
- data/adva_activity/app/observers/activities/activity_observer.rb +25 -0
- data/adva_activity/app/observers/activities/article_observer.rb +20 -0
- data/adva_activity/app/observers/activities/comment_observer.rb +29 -0
- data/adva_activity/app/observers/activities/logger.rb +94 -0
- data/adva_activity/app/observers/activities/section_observer.rb +9 -0
- data/adva_activity/app/views/activity_notifier/new_content_notification.html.erb +5 -0
- data/adva_activity/app/views/admin/activities/_activities.html.erb +10 -0
- data/adva_activity/app/views/admin/activities/_comment.html.erb +35 -0
- data/adva_activity/app/views/admin/activities/_content.html.erb +15 -0
- data/adva_activity/app/views/admin/activities/_topic.html.erb +16 -0
- data/adva_activity/config/locales/en.yml +22 -0
- data/adva_activity/db/migrate/20080401000000_create_activities_table.rb +23 -0
- data/adva_activity/lib/adva_activity.rb +33 -0
- data/adva_activity/lib/adva_activity/version.rb +3 -0
- data/adva_activity/test/test_helper.rb +3 -0
- data/adva_activity/test/unit/activities_notifier_test.rb +75 -0
- data/adva_activity/test/unit/activity_observer_test.rb +65 -0
- data/adva_activity/test/unit/activity_test.rb +84 -0
- data/adva_blog/.gitignore +17 -0
- data/adva_blog/Gemfile +4 -0
- data/adva_blog/LICENSE +22 -0
- data/adva_blog/README.md +29 -0
- data/adva_blog/Rakefile +2 -0
- data/adva_blog/adva_blog.gemspec +17 -0
- data/adva_blog/app/controllers/admin/blog/articles_controller.rb +5 -0
- data/adva_blog/app/controllers/admin/blog/categories_controller.rb +1 -0
- data/adva_blog/app/controllers/admin/blog/contents_controller.rb +5 -0
- data/adva_blog/app/controllers/admin/blogs_controller.rb +1 -0
- data/adva_blog/app/controllers/blog_articles_controller.rb +23 -0
- data/adva_blog/app/helpers/blog_helper.rb +49 -0
- data/adva_blog/app/models/blog.rb +34 -0
- data/adva_blog/app/views/admin/blog/articles/index.html.erb +40 -0
- data/adva_blog/app/views/admin/sections/settings/_blog.html.erb +11 -0
- data/adva_blog/app/views/blogs/articles/_article.html.erb +28 -0
- data/adva_blog/app/views/blogs/articles/_footer.html.erb +40 -0
- data/adva_blog/app/views/blogs/articles/index.atom.builder +21 -0
- data/adva_blog/app/views/blogs/articles/index.html.erb +4 -0
- data/adva_blog/app/views/blogs/articles/show.html.erb +14 -0
- data/adva_blog/config/initializers/base_controller.rb +3 -0
- data/adva_blog/config/routes.rb +49 -0
- data/adva_blog/lib/adva_blog.rb +10 -0
- data/adva_blog/lib/adva_blog/version.rb +3 -0
- data/adva_blog/test/contexts.rb +9 -0
- data/adva_blog/test/fixtures.rb +50 -0
- data/adva_blog/test/functional/blog_articles_controller_test.rb +139 -0
- data/adva_blog/test/functional/blog_articles_routes_test.rb +159 -0
- data/adva_blog/test/integration/admin/blog_article_test.rb +54 -0
- data/adva_blog/test/integration/admin/blog_ping_test.rb +68 -0
- data/adva_blog/test/integration/admin/blog_test.rb +43 -0
- data/adva_blog/test/integration/blog_article_test.rb +40 -0
- data/adva_blog/test/integration/blog_categories_test.rb +55 -0
- data/adva_blog/test/integration/blog_comment_test.rb +51 -0
- data/adva_blog/test/integration/blog_index_test.rb +104 -0
- data/adva_blog/test/test_helper.rb +2 -0
- data/adva_blog/test/unit/cells/blog_cell_test.rb +29 -0
- data/adva_blog/test/unit/helpers/blog_helper_test.rb +50 -0
- data/adva_blog/test/unit/helpers/content_helper_test.rb +19 -0
- data/adva_blog/test/unit/models/blog_test.rb +37 -0
- data/adva_blog/test/unit/models/counter_test.rb +44 -0
- data/adva_cells/.gitignore +17 -0
- data/adva_cells/Gemfile +4 -0
- data/adva_cells/LICENSE +22 -0
- data/adva_cells/README.md +29 -0
- data/adva_cells/Rakefile +2 -0
- data/adva_cells/adva_cells.gemspec +20 -0
- data/adva_cells/app/cells/base_cell.rb +83 -0
- data/adva_cells/app/controllers/admin/cells_controller.rb +10 -0
- data/adva_cells/app/helpers/contact_mailer_helper.rb +7 -0
- data/adva_cells/config/routes.rb +6 -0
- data/adva_cells/lib/adva_cells.rb +13 -0
- data/adva_cells/lib/adva_cells/version.rb +3 -0
- data/adva_cells/lib/cells_ext.rb +18 -0
- data/adva_cells/lib/contact_mail_form_builder.rb +178 -0
- data/adva_cells/lib/output_filter/cells.rb +48 -0
- data/adva_cells/test/integration/article_with_contact_mailer_test.rb +81 -0
- data/adva_cells/test/test_helper.rb +11 -0
- data/adva_cells/test/unit/album_cell_test.rb +48 -0
- data/adva_cells/test/unit/base_cell_test.rb +83 -0
- data/adva_cells/test/unit/blog_cell_test.rb +27 -0
- data/adva_cells/test/unit/contact_mailer_cell_test.rb +43 -0
- data/adva_cells/test/unit/content_cell_test.rb +33 -0
- data/adva_cells/test/unit/helpers/contact_mail_helper_test.rb +84 -0
- data/adva_cells/test/unit/lib/contact_mail_form_builder_test.rb +288 -0
- data/adva_cells/test/unit/lib/output_filter/cells_test.rb +46 -0
- data/adva_cells/test/unit/section_cell_test.rb +30 -0
- data/adva_cells/test/unit/user_cell_test.rb +27 -0
- data/adva_cms/.gitignore +17 -0
- data/adva_cms/Gemfile +4 -0
- data/adva_cms/LICENSE +22 -0
- data/adva_cms/NOTES +132 -0
- data/adva_cms/README.md +29 -0
- data/adva_cms/Rakefile +2 -0
- data/adva_cms/adva_cms.gemspec +22 -0
- data/adva_cms/app/assets/images/adva_cms/admin/header_bg.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/admin/section_menu_bg.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/admin/tab_action_active.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/admin/tab_main_active.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/admin/tab_sidebar_active.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/admin/tab_top_active.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/asset_selected.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/avatar.gif +0 -0
- data/adva_cms/app/assets/images/adva_cms/filter-bg.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/accept.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/add.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/arrow_cross.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/arrow_cross_2.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/arrow_cross_3.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/arrow_up_down.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/assets/audio.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/assets/doc.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/assets/pdf.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/assets/video.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/attach.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bin.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bin_closed.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bin_empty.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bullet_black.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bullet_delete.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bullet_error.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bullet_go.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bullet_red.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bullet_white.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/bullet_yellow.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/cancel.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/comment.gif +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/comment.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/comment_add.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/comment_blue.gif +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/comment_delete.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/comment_edit.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/comment_yellow.gif +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/cross.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/delete.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/eye.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/favorites.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/help.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/hourglass.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/icon_attachment.gif +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/icon_padlock.gif +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/link.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/lock.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/magnifier.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/minus.gif +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_add.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_delete.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_edit.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_favorites.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_go.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_green.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_red.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_white_add.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_white_delete.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_white_edit.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_white_go.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_white_link.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/page_white_magnify.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/pencil.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/star.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/stop.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/tag_green.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/tick.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/icons/zoom.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/indicator.gif +0 -0
- data/adva_cms/app/assets/images/adva_cms/preview.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/rails.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/sortable_tree/drag.png +0 -0
- data/adva_cms/app/assets/images/adva_cms/theme_selected.png +0 -0
- data/adva_cms/app/assets/javascripts/admin.js +1 -0
- data/adva_cms/app/assets/javascripts/adva_cms/admin/jquery.admin.js +23 -0
- data/adva_cms/app/assets/javascripts/adva_cms/admin/jquery.article.js +22 -0
- data/adva_cms/app/assets/javascripts/adva_cms/admin/jquery.cached_pages.js +14 -0
- data/adva_cms/app/assets/javascripts/adva_cms/admin/jquery.table_tree.js +7 -0
- data/adva_cms/app/assets/javascripts/adva_cms/application.js +14 -0
- data/adva_cms/app/assets/javascripts/adva_cms/base.js +4 -0
- data/adva_cms/app/assets/javascripts/adva_cms/cookie.js +49 -0
- data/adva_cms/app/assets/javascripts/adva_cms/jquery.common.js +41 -0
- data/adva_cms/app/assets/javascripts/adva_cms/jquery.dates.js +51 -0
- data/adva_cms/app/assets/javascripts/adva_cms/jquery.flash.js +57 -0
- data/adva_cms/app/assets/javascripts/adva_cms/jquery.roles.js +25 -0
- data/adva_cms/app/assets/javascripts/adva_cms/jquery/jquery-lowpro.js +224 -0
- data/adva_cms/app/assets/javascripts/adva_cms/jquery/jquery.qtip.js +2085 -0
- data/adva_cms/app/assets/javascripts/adva_cms/jquery/jquery.table_tree.js +307 -0
- data/adva_cms/app/assets/javascripts/adva_cms/jquery/jquery.tablednd_0_5.js +386 -0
- data/adva_cms/app/assets/javascripts/adva_cms/json.js +139 -0
- data/adva_cms/app/assets/stylesheets/admin.css +1 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin.css +16 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/alternate/common.css +76 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/alternate/forms.css +121 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/alternate/header.css +125 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/alternate/layout.css +103 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/alternate/lists.css +153 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/alternate/sidebar.css +65 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/alternate/top.css +123 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/common.css +76 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/content.css +11 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/forms.css +116 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/header.css +114 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/helptip.css +35 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/layout.css +56 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/lists.css +152 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/projection.css +118 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/reset.css +25 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/screen/top.css +8 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/sidebar.css +67 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/themes.css +49 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/top.css +83 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/admin/users.css +40 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/common.css +49 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/default.css +201 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/forms.css +60 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/alternate/jquery.tooltip.css +13 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_222222_256x240.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_454545_256x240.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_888888_256x240.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/jquery-ui.css +406 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/jquery/jquery.tooltip.css +10 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/layout/login.css +8 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/layout/simple.css +8 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/menu.css +129 -0
- data/adva_cms/app/assets/stylesheets/adva_cms/reset.css +25 -0
- data/adva_cms/app/controllers/admin/base_controller.rb +101 -0
- data/adva_cms/app/controllers/admin/categories_controller.rb +3 -0
- data/adva_cms/app/controllers/admin/install_controller.rb +61 -0
- data/adva_cms/app/controllers/admin/page/articles_controller.rb +150 -0
- data/adva_cms/app/controllers/admin/page/categories_controller.rb +62 -0
- data/adva_cms/app/controllers/admin/page/contents_controller.rb +52 -0
- data/adva_cms/app/controllers/admin/page/links_controller.rb +69 -0
- data/adva_cms/app/controllers/admin/pages_controller.rb +2 -0
- data/adva_cms/app/controllers/admin/plugins_controller.rb +40 -0
- data/adva_cms/app/controllers/admin/sections_controller.rb +91 -0
- data/adva_cms/app/controllers/admin/sites_controller.rb +99 -0
- data/adva_cms/app/controllers/articles_controller.rb +81 -0
- data/adva_cms/app/controllers/base_controller.rb +82 -0
- data/adva_cms/app/helpers/admin/base_helper.rb +106 -0
- data/adva_cms/app/helpers/base_helper.rb +56 -0
- data/adva_cms/app/helpers/content_helper.rb +90 -0
- data/adva_cms/app/helpers/resource_helper.rb +127 -0
- data/adva_cms/app/models/article.rb +40 -0
- data/adva_cms/app/models/categorization.rb +4 -0
- data/adva_cms/app/models/category.rb +60 -0
- data/adva_cms/app/models/content.rb +155 -0
- data/adva_cms/app/models/event.rb +34 -0
- data/adva_cms/app/models/link.rb +4 -0
- data/adva_cms/app/models/page.rb +36 -0
- data/adva_cms/app/models/section.rb +126 -0
- data/adva_cms/app/models/site.rb +104 -0
- data/adva_cms/app/views/admin/cached_pages/_filter.html.erb +8 -0
- data/adva_cms/app/views/admin/cached_pages/destroy.js.erb +18 -0
- data/adva_cms/app/views/admin/cached_pages/index.html.erb +26 -0
- data/adva_cms/app/views/admin/install/confirmation.html.erb +10 -0
- data/adva_cms/app/views/admin/install/index.html.erb +38 -0
- data/adva_cms/app/views/admin/page/articles/_form.html.erb +40 -0
- data/adva_cms/app/views/admin/page/articles/_options.html.erb +20 -0
- data/adva_cms/app/views/admin/page/articles/edit.html.erb +15 -0
- data/adva_cms/app/views/admin/page/articles/new.html.erb +12 -0
- data/adva_cms/app/views/admin/page/categories/edit.html.erb +22 -0
- data/adva_cms/app/views/admin/page/categories/index.html.erb +23 -0
- data/adva_cms/app/views/admin/page/categories/new.html.erb +19 -0
- data/adva_cms/app/views/admin/page/contents/index.html.erb +40 -0
- data/adva_cms/app/views/admin/page/links/_form.html.erb +26 -0
- data/adva_cms/app/views/admin/page/links/_options.html.erb +23 -0
- data/adva_cms/app/views/admin/page/links/edit.html.erb +12 -0
- data/adva_cms/app/views/admin/page/links/new.html.erb +12 -0
- data/adva_cms/app/views/admin/plugins/_form.html.erb +11 -0
- data/adva_cms/app/views/admin/plugins/index.html.erb +16 -0
- data/adva_cms/app/views/admin/plugins/show.html.erb +43 -0
- data/adva_cms/app/views/admin/sections/_form.html.haml +20 -0
- data/adva_cms/app/views/admin/sections/edit.html.haml +6 -0
- data/adva_cms/app/views/admin/sections/index.html.erb +27 -0
- data/adva_cms/app/views/admin/sections/new.html.erb +29 -0
- data/adva_cms/app/views/admin/sections/settings/_page.html.haml +10 -0
- data/adva_cms/app/views/admin/shared/_header.html.erb +18 -0
- data/adva_cms/app/views/admin/shared/_language_select.html.erb +6 -0
- data/adva_cms/app/views/admin/shared/_section.html.erb +8 -0
- data/adva_cms/app/views/admin/shared/_section_summary.html.erb +23 -0
- data/adva_cms/app/views/admin/shared/_section_tree.html.erb +23 -0
- data/adva_cms/app/views/admin/sites/_email_notifications.html.erb +9 -0
- data/adva_cms/app/views/admin/sites/_form.html.erb +15 -0
- data/adva_cms/app/views/admin/sites/_recent_users.html.erb +11 -0
- data/adva_cms/app/views/admin/sites/_sections.html.erb +10 -0
- data/adva_cms/app/views/admin/sites/_unapproved_comments.html.erb +10 -0
- data/adva_cms/app/views/admin/sites/edit.html.erb +4 -0
- data/adva_cms/app/views/admin/sites/index.html.erb +21 -0
- data/adva_cms/app/views/admin/sites/multi_sites_disabled.html.erb +11 -0
- data/adva_cms/app/views/admin/sites/new.html.erb +21 -0
- data/adva_cms/app/views/admin/sites/show.html.erb +16 -0
- data/adva_cms/app/views/categories/_checkboxes.html.erb +12 -0
- data/adva_cms/app/views/layouts/admin.html.haml +50 -0
- data/adva_cms/app/views/layouts/default.html.erb +38 -0
- data/adva_cms/app/views/layouts/simple.html.erb +22 -0
- data/adva_cms/app/views/pages/articles/index.html.erb +10 -0
- data/adva_cms/app/views/pages/articles/show.html.erb +17 -0
- data/adva_cms/app/views/shared/_flash.html.erb +3 -0
- data/adva_cms/app/views/shared/_footer.html.erb +4 -0
- data/adva_cms/app/views/shared/_menu.html.erb +10 -0
- data/adva_cms/app/views/shared/_sidebar.html.erb +19 -0
- data/adva_cms/app/views/shared/messages/insufficient_permissions.html.erb +4 -0
- data/adva_cms/config/environment.rb +21 -0
- data/adva_cms/config/initializers/has_options.rb +2 -0
- data/adva_cms/config/initializers/has_permalink.rb +27 -0
- data/adva_cms/config/initializers/mailer.rb +12 -0
- data/adva_cms/config/initializers/menus.rb +184 -0
- data/adva_cms/config/initializers/roles.rb +91 -0
- data/adva_cms/config/initializers/settings.rb +26 -0
- data/adva_cms/config/initializers/site.rb +5 -0
- data/adva_cms/config/initializers/translations_are_a_pain.rb +9 -0
- data/adva_cms/config/locales/en.yml +1295 -0
- data/adva_cms/config/routes.rb +47 -0
- data/adva_cms/db/migrate/20080401000001_create_sites_table.rb +28 -0
- data/adva_cms/db/migrate/20080401000002_create_sections_table.rb +25 -0
- data/adva_cms/db/migrate/20080401000003_create_contents_table.rb +35 -0
- data/adva_cms/db/migrate/20080401000004_create_categories_table.rb +17 -0
- data/adva_cms/db/migrate/20080401000005_create_category_assignments.rb +12 -0
- data/adva_cms/db/migrate/20080401000006_create_taggable_tables.rb +26 -0
- data/adva_cms/db/migrate/20080710000000_create_plugin_configs.rb +13 -0
- data/adva_cms/db/migrate/20080715131051_plugin_owner_column.rb +13 -0
- data/adva_cms/db/migrate/20081208161500_add_content_type_to_join_tables.rb +10 -0
- data/adva_cms/db/migrate/20090216114034_rename_category_assignment_to_categorization.rb +13 -0
- data/adva_cms/db/migrate/20090305123429_move_sections_to_pages.rb +9 -0
- data/adva_cms/db/migrate/20090519132700_add_published_at_to_sections.rb +10 -0
- data/adva_cms/db/migrate/20090702085459_create_section_translations.rb +9 -0
- data/adva_cms/db/migrate/20090702200226_create_category_translations.rb +9 -0
- data/adva_cms/db/migrate/20090707171100_upgrade_paperclip_paths.rb +31 -0
- data/adva_cms/db/migrate/20090709111934_add_email_notification_to_site.rb +12 -0
- data/adva_cms/db/migrate/20091026000906_add_nesting_to_articles.rb +26 -0
- data/adva_cms/db/migrate/20140721000000_add_title_to_contents.rb +7 -0
- data/adva_cms/lib/adva_cms.rb +50 -0
- data/adva_cms/lib/adva_cms/version.rb +3 -0
- data/adva_cms/lib/core_ext.rb +7 -0
- data/adva_cms/lib/extensible_forms.rb +283 -0
- data/adva_cms/lib/has_options.rb +46 -0
- data/adva_cms/lib/html_diff.rb +48 -0
- data/adva_cms/lib/rails_ext.rb +15 -0
- data/adva_cms/lib/rails_ext/action_controller/cacheable_flash.rb +30 -0
- data/adva_cms/lib/rails_ext/action_controller/content_for_assignments.rb +105 -0
- data/adva_cms/lib/rails_ext/action_controller/default_params.rb +19 -0
- data/adva_cms/lib/rails_ext/action_controller/event_helper.rb +18 -0
- data/adva_cms/lib/rails_ext/action_controller/page_caching.rb +23 -0
- data/adva_cms/lib/rails_ext/action_controller/render_with_error_proc.rb +46 -0
- data/adva_cms/lib/rails_ext/action_controller/responds_to_parent.rb +46 -0
- data/adva_cms/lib/rails_ext/action_controller/url_for_returning.rb +12 -0
- data/adva_cms/lib/rails_ext/active_record/exists.rb +5 -0
- data/adva_cms/lib/rails_ext/active_record/sti_instantiation.rb +35 -0
- data/adva_cms/lib/rails_ext/active_record/sticky_changes.rb +30 -0
- data/adva_cms/lib/rails_ext/railties/plugin.rb +58 -0
- data/adva_cms/lib/rails_ext/railties/plugin_configuration.rb +72 -0
- data/adva_cms/lib/rails_ext/railties/plugin_initializers.rb +25 -0
- data/adva_cms/lib/registry.rb +49 -0
- data/adva_cms/lib/tasks/adva_cms.rake +178 -0
- data/adva_cms/lib/tasks/translation.rake +69 -0
- data/adva_cms/lib/time_hacks.rb +57 -0
- data/adva_cms/lib/webrat_patch.rb +11 -0
- data/adva_cms/locale/rails/fr.yml +123 -0
- data/adva_cms/test/NOTES +56 -0
- data/adva_cms/test/contexts.rb +365 -0
- data/adva_cms/test/fixtures.rb +190 -0
- data/adva_cms/test/fixtures/templates/alternative_templates/index.html.erb +1 -0
- data/adva_cms/test/fixtures/templates/context_templates_test/index.html.erb +1 -0
- data/adva_cms/test/fixtures/templates/context_templates_test/show.html.erb +0 -0
- data/adva_cms/test/fixtures/templates/layouts/alternative.html.erb +0 -0
- data/adva_cms/test/fixtures/templates/layouts/default.html.erb +0 -0
- data/adva_cms/test/fixtures/templates/menu/shared/_menu.html.erb +8 -0
- data/adva_cms/test/functional/admin/articles_controller_test.rb +329 -0
- data/adva_cms/test/functional/admin/base_controller_test.rb +68 -0
- data/adva_cms/test/functional/admin/cached_pages_controller_test.rb +66 -0
- data/adva_cms/test/functional/admin/categories_controller_test.rb +164 -0
- data/adva_cms/test/functional/admin/cells_controller_spec.rb +32 -0
- data/adva_cms/test/functional/admin/install_controller_test.rb +89 -0
- data/adva_cms/test/functional/admin/plugins_controller_test.rb +93 -0
- data/adva_cms/test/functional/admin/sections_controller_test.rb +201 -0
- data/adva_cms/test/functional/admin/sites_controller_test.rb +240 -0
- data/adva_cms/test/functional/asset_tag_expansions_test.rb +82 -0
- data/adva_cms/test/functional/base_controller_test.rb +73 -0
- data/adva_cms/test/functional/page_articles_controller_test.rb +168 -0
- data/adva_cms/test/functional/page_articles_routes_test.rb +73 -0
- data/adva_cms/test/integration/admin/cached_pages_test.rb +43 -0
- data/adva_cms/test/integration/admin/categories_test.rb +66 -0
- data/adva_cms/test/integration/admin/custom_templates_test.rb +42 -0
- data/adva_cms/test/integration/admin/filtering_articles_test.rb +32 -0
- data/adva_cms/test/integration/admin/plugins.rb +32 -0
- data/adva_cms/test/integration/admin/section_article_test.rb +150 -0
- data/adva_cms/test/integration/admin/section_test.rb +88 -0
- data/adva_cms/test/integration/admin/sites_test.rb +48 -0
- data/adva_cms/test/integration/installation_test.rb +109 -0
- data/adva_cms/test/integration/page_article_comment_test.rb +51 -0
- data/adva_cms/test/integration/page_article_test.rb +87 -0
- data/adva_cms/test/integration/section_index_test.rb +37 -0
- data/adva_cms/test/javascript/assets/jquery-lowpro.js +224 -0
- data/adva_cms/test/javascript/assets/jquery-ui.js +298 -0
- data/adva_cms/test/javascript/assets/jquery.js +4376 -0
- data/adva_cms/test/javascript/assets/testrunner.js +815 -0
- data/adva_cms/test/javascript/assets/testsuite.css +120 -0
- data/adva_cms/test/javascript/lib/jstest.rb +588 -0
- data/adva_cms/test/javascript/templates/test_case.erb +33 -0
- data/adva_cms/test/plugins/adva_context_templates/context_templates_test.rb +138 -0
- data/adva_cms/test/plugins/adva_post_ping/controller/integration_test.rb +78 -0
- data/adva_cms/test/plugins/adva_post_ping/post_ping_test.rb +94 -0
- data/adva_cms/test/plugins/adva_url_history/article_test.rb +94 -0
- data/adva_cms/test/plugins/adva_url_history/init_url_history.rb +18 -0
- data/adva_cms/test/plugins/adva_url_history/section_test.rb +49 -0
- data/adva_cms/test/test_helper.rb +75 -0
- data/adva_cms/test/test_helper/clear_directories.rb +16 -0
- data/adva_cms/test/test_helper/ensure_single_site_mode.rb +10 -0
- data/adva_cms/test/test_helper/extensions/cacheable_flash.rb +14 -0
- data/adva_cms/test/test_helper/extensions/cronjob.rb +11 -0
- data/adva_cms/test/test_helper/extensions/even_test_log.rb +21 -0
- data/adva_cms/test/test_helper/extensions/integration_test.rb +78 -0
- data/adva_cms/test/test_helper/extensions/matchy.rb +365 -0
- data/adva_cms/test/test_helper/extensions/matchy_adva_cms.rb +441 -0
- data/adva_cms/test/test_helper/extensions/rails_patch.rb +40 -0
- data/adva_cms/test/test_helper/extensions/rr.rb +7 -0
- data/adva_cms/test/test_helper/extensions/test_unit.rb +35 -0
- data/adva_cms/test/test_helper/extensions/with_sugar.rb +166 -0
- data/adva_cms/test/test_helper/parse_options.rb +18 -0
- data/adva_cms/test/test_helper/setup_db_transaction.rb +15 -0
- data/adva_cms/test/test_helper/setup_webrat.rb +9 -0
- data/adva_cms/test/test_helper/test_server/init.rb +15 -0
- data/adva_cms/test/unit/helpers/admin/base_helper_test.rb +139 -0
- data/adva_cms/test/unit/helpers/base_helper_spec.rb +54 -0
- data/adva_cms/test/unit/helpers/base_helper_test.rb +165 -0
- data/adva_cms/test/unit/helpers/content_helper_test.rb +127 -0
- data/adva_cms/test/unit/helpers/resource_helper_test.rb +180 -0
- data/adva_cms/test/unit/i18n_test.rb +22 -0
- data/adva_cms/test/unit/lib/cells_ext_spec.rb +96 -0
- data/adva_cms/test/unit/lib/extensible_forms_test.rb +362 -0
- data/adva_cms/test/unit/lib/menu_test.rb +119 -0
- data/adva_cms/test/unit/lib/rails_ext/content_for_assignments_test.rb +75 -0
- data/adva_cms/test/unit/lib/rails_ext/plugin_configuration_test.rb +40 -0
- data/adva_cms/test/unit/lib/rails_ext/sticky_changes_test.rb +33 -0
- data/adva_cms/test/unit/lib/registry_test.rb +91 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_categories_spec.rb +63 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_categories_test.rb +159 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_locale_spec.rb +73 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_root_blog_archive_spec.rb +40 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_root_section_articles_spec.rb +48 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_root_wikipages_spec.rb +40 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_sections_spec.rb +143 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_sections_test.rb +32 -0
- data/adva_cms/test/unit/lib/routing_filter/routing_filter_sets_test.rb +86 -0
- data/adva_cms/test/unit/models/article_test.rb +191 -0
- data/adva_cms/test/unit/models/category_test.rb +68 -0
- data/adva_cms/test/unit/models/content_test.rb +409 -0
- data/adva_cms/test/unit/models/counter_test.rb +43 -0
- data/adva_cms/test/unit/models/event_test.rb +41 -0
- data/adva_cms/test/unit/models/nested_categories_test.rb +34 -0
- data/adva_cms/test/unit/models/page_test.rb +63 -0
- data/adva_cms/test/unit/models/section_test.rb +315 -0
- data/adva_cms/test/unit/models/site_test.rb +199 -0
- data/adva_cms/test/unit/observers/activities_article_observer_test.rb +42 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/.gitignore +17 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/Gemfile +4 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/LICENSE +22 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/README.md +29 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/Rakefile +2 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/belongs_to_cacheable.gemspec +22 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/init.rb +1 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/lib/active_record/belongs_to_cacheable.rb +77 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/lib/belongs_to_cacheable.rb +3 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/lib/belongs_to_cacheable/version.rb +3 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/spec/belongs_to_cacheable_spec.rb +52 -0
- data/adva_cms/vendor/gems/belongs_to_cacheable/spec/spec_helper.rb +50 -0
- data/adva_cms/vendor/gems/filtered_column/.gitignore +17 -0
- data/adva_cms/vendor/gems/filtered_column/Gemfile +4 -0
- data/adva_cms/vendor/gems/filtered_column/LICENSE +22 -0
- data/adva_cms/vendor/gems/filtered_column/README +4 -0
- data/adva_cms/vendor/gems/filtered_column/README.md +29 -0
- data/adva_cms/vendor/gems/filtered_column/Rakefile +23 -0
- data/adva_cms/vendor/gems/filtered_column/filtered_column.gemspec +17 -0
- data/adva_cms/vendor/gems/filtered_column/lib/filtered_column.rb +17 -0
- data/adva_cms/vendor/gems/filtered_column/lib/filtered_column/filters/base.rb +28 -0
- data/adva_cms/vendor/gems/filtered_column/lib/filtered_column/filters/smartypants_filter.rb +14 -0
- data/adva_cms/vendor/gems/filtered_column/lib/filtered_column/filters/textile_filter.rb +13 -0
- data/adva_cms/vendor/gems/filtered_column/lib/filtered_column/macros/base.rb +25 -0
- data/adva_cms/vendor/gems/filtered_column/lib/filtered_column/mixin.rb +46 -0
- data/adva_cms/vendor/gems/filtered_column/lib/filtered_column/processor.rb +52 -0
- data/adva_cms/vendor/gems/filtered_column/lib/filtered_column/version.rb +3 -0
- data/adva_cms/vendor/gems/filtered_column/tasks/filtered_column_tasks.rake +4 -0
- data/adva_cms/vendor/gems/filtered_column/test/abstract_unit.rb +73 -0
- data/adva_cms/vendor/gems/filtered_column/test/filtered_column_test.rb +53 -0
- data/adva_cms/vendor/gems/filtered_column/test/macro_filter_test.rb +23 -0
- data/adva_cms/vendor/gems/has_counter/.gitignore +17 -0
- data/adva_cms/vendor/gems/has_counter/Gemfile +4 -0
- data/adva_cms/vendor/gems/has_counter/LICENSE +22 -0
- data/adva_cms/vendor/gems/has_counter/MIT-LICENSE +20 -0
- data/adva_cms/vendor/gems/has_counter/README.markdown +64 -0
- data/adva_cms/vendor/gems/has_counter/README.md +29 -0
- data/adva_cms/vendor/gems/has_counter/Rakefile +2 -0
- data/adva_cms/vendor/gems/has_counter/db/migrate/20080601194338_create_counters_table.rb.rb +13 -0
- data/adva_cms/vendor/gems/has_counter/has_counter.gemspec +17 -0
- data/adva_cms/vendor/gems/has_counter/lib/active_record/has_counter.rb +64 -0
- data/adva_cms/vendor/gems/has_counter/lib/counter.rb +23 -0
- data/adva_cms/vendor/gems/has_counter/lib/has_counter.rb +4 -0
- data/adva_cms/vendor/gems/has_counter/lib/has_counter/version.rb +3 -0
- data/adva_cms/vendor/gems/has_counter/spec/has_counter.sqlite3.db +0 -0
- data/adva_cms/vendor/gems/has_counter/spec/has_counter_spec.rb +55 -0
- data/adva_cms/vendor/gems/has_counter/spec/spec_helper.rb +117 -0
- data/adva_cms/vendor/gems/has_filter/.gitignore +17 -0
- data/adva_cms/vendor/gems/has_filter/Gemfile +4 -0
- data/adva_cms/vendor/gems/has_filter/LICENSE +22 -0
- data/adva_cms/vendor/gems/has_filter/README.md +29 -0
- data/adva_cms/vendor/gems/has_filter/Rakefile +2 -0
- data/adva_cms/vendor/gems/has_filter/app/assets/images/has_filter/filter_add.png +0 -0
- data/adva_cms/vendor/gems/has_filter/app/assets/images/has_filter/filter_button_left.png +0 -0
- data/adva_cms/vendor/gems/has_filter/app/assets/images/has_filter/filter_button_right.png +0 -0
- data/adva_cms/vendor/gems/has_filter/app/assets/images/has_filter/filter_remove.png +0 -0
- data/adva_cms/vendor/gems/has_filter/app/assets/javascripts/has_filter/filter.js +35 -0
- data/adva_cms/vendor/gems/has_filter/app/assets/javascripts/has_filter/jquery.filter.js +23 -0
- data/adva_cms/vendor/gems/has_filter/app/assets/stylesheets/has_filter/alternate/filter.css +102 -0
- data/adva_cms/vendor/gems/has_filter/app/assets/stylesheets/has_filter/filter.css +100 -0
- data/adva_cms/vendor/gems/has_filter/app/helpers/filter_helper.rb +3 -0
- data/adva_cms/vendor/gems/has_filter/has_filter.gemspec +17 -0
- data/adva_cms/vendor/gems/has_filter/init.rb +3 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter.rb +22 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/active_record/act_macro.rb +102 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/filter.rb +17 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/filter/base.rb +67 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/filter/categorized.rb +24 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/filter/chain.rb +45 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/filter/set.rb +80 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/filter/state.rb +25 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/filter/tagged.rb +22 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/filter/text.rb +55 -0
- data/adva_cms/vendor/gems/has_filter/lib/has_filter/version.rb +3 -0
- data/adva_cms/vendor/gems/has_filter/test/db/setup.rb +45 -0
- data/adva_cms/vendor/gems/has_filter/test/db/test.sqlite3.db +0 -0
- data/adva_cms/vendor/gems/has_filter/test/fixtures.rb +15 -0
- data/adva_cms/vendor/gems/has_filter/test/has_filter/filter_chain_test.rb +41 -0
- data/adva_cms/vendor/gems/has_filter/test/has_filter/filter_scopes_test.rb +102 -0
- data/adva_cms/vendor/gems/has_filter/test/has_filter/filter_tags_test.rb +113 -0
- data/adva_cms/vendor/gems/has_filter/test/has_filter/integration.rb +15 -0
- data/adva_cms/vendor/gems/has_filter/test/has_filter/scopes_test.rb +48 -0
- data/adva_cms/vendor/gems/has_filter/test/log/test.log +34346 -0
- data/adva_cms/vendor/gems/has_filter/test/models.rb +23 -0
- data/adva_cms/vendor/gems/has_filter/test/templates/has_filter/test/index.html.erb +5 -0
- data/adva_cms/vendor/gems/has_filter/test/test_helper.rb +66 -0
- data/adva_cms/vendor/gems/simple_taggable/.gitignore +17 -0
- data/adva_cms/vendor/gems/simple_taggable/Gemfile +4 -0
- data/adva_cms/vendor/gems/simple_taggable/LICENSE +22 -0
- data/adva_cms/vendor/gems/simple_taggable/README +24 -0
- data/adva_cms/vendor/gems/simple_taggable/README.md +29 -0
- data/adva_cms/vendor/gems/simple_taggable/Rakefile +2 -0
- data/adva_cms/vendor/gems/simple_taggable/lib/simple_taggable.rb +153 -0
- data/adva_cms/vendor/gems/simple_taggable/lib/simple_taggable/version.rb +3 -0
- data/adva_cms/vendor/gems/simple_taggable/lib/tag.rb +31 -0
- data/adva_cms/vendor/gems/simple_taggable/lib/tag_list.rb +90 -0
- data/adva_cms/vendor/gems/simple_taggable/lib/tagging.rb +8 -0
- data/adva_cms/vendor/gems/simple_taggable/simple_taggable.gemspec +17 -0
- data/adva_cms/vendor/gems/simple_taggable/test/db/schema.rb +41 -0
- data/adva_cms/vendor/gems/simple_taggable/test/db/simple_taggable.sqlite3.db +0 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/magazine.rb +3 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/magazines.yml +2 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/photo.rb +8 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/photos.yml +19 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/post.rb +5 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/posts.yml +27 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/subscription.rb +4 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/subscriptions.yml +3 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/taggings.yml +112 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/tags.yml +14 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/user.rb +6 -0
- data/adva_cms/vendor/gems/simple_taggable/test/fixtures/users.yml +5 -0
- data/adva_cms/vendor/gems/simple_taggable/test/log/simple_taggable.log +1614 -0
- data/adva_cms/vendor/gems/simple_taggable/test/simple_taggable_test.rb +226 -0
- data/adva_cms/vendor/gems/simple_taggable/test/tag_list_test.rb +105 -0
- data/adva_cms/vendor/gems/simple_taggable/test/test_helper.rb +80 -0
- data/adva_cms/vendor/gems/table_builder/.gitignore +17 -0
- data/adva_cms/vendor/gems/table_builder/Gemfile +4 -0
- data/adva_cms/vendor/gems/table_builder/LICENSE +22 -0
- data/adva_cms/vendor/gems/table_builder/README.md +29 -0
- data/adva_cms/vendor/gems/table_builder/Rakefile +2 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder.rb +27 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/body.rb +28 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/cell.rb +21 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/column.rb +26 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/foot.rb +6 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/head.rb +16 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/row.rb +40 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/rows.rb +26 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/table.rb +75 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/tag.rb +58 -0
- data/adva_cms/vendor/gems/table_builder/lib/table_builder/version.rb +3 -0
- data/adva_cms/vendor/gems/table_builder/table_builder.gemspec +17 -0
- data/adva_cms/vendor/gems/table_builder/test/fixtures/templates/table_all.html.erb +20 -0
- data/adva_cms/vendor/gems/table_builder/test/fixtures/templates/table_auto_body.html.erb +3 -0
- data/adva_cms/vendor/gems/table_builder/test/fixtures/templates/table_auto_columns.html.erb +1 -0
- data/adva_cms/vendor/gems/table_builder/test/fixtures/templates/table_simple.html.erb +7 -0
- data/adva_cms/vendor/gems/table_builder/test/table_builder/table_test.rb +230 -0
- data/adva_cms/vendor/gems/table_builder/test/test_helper.rb +49 -0
- data/adva_cms/vendor/gems/tags/.gitignore +17 -0
- data/adva_cms/vendor/gems/tags/Gemfile +4 -0
- data/adva_cms/vendor/gems/tags/LICENSE +22 -0
- data/adva_cms/vendor/gems/tags/README.md +29 -0
- data/adva_cms/vendor/gems/tags/Rakefile +2 -0
- data/adva_cms/vendor/gems/tags/lib/breadcrumbs.rb +13 -0
- data/adva_cms/vendor/gems/tags/lib/menu.rb +179 -0
- data/adva_cms/vendor/gems/tags/lib/menu/builder.rb +74 -0
- data/adva_cms/vendor/gems/tags/lib/tags.rb +7 -0
- data/adva_cms/vendor/gems/tags/lib/tags/tag.rb +125 -0
- data/adva_cms/vendor/gems/tags/lib/tags/version.rb +3 -0
- data/adva_cms/vendor/gems/tags/tags.gemspec +17 -0
- data/adva_cms/vendor/gems/tags/test/tags/menu_test.rb +173 -0
- data/adva_cms/vendor/gems/tags/test/tags/tag_test.rb +13 -0
- data/adva_cms/vendor/gems/tags/test/test_helper.rb +18 -0
- data/adva_cms/vendor/gems/xss_terminate/.gitignore +17 -0
- data/adva_cms/vendor/gems/xss_terminate/Gemfile +4 -0
- data/adva_cms/vendor/gems/xss_terminate/LICENSE +22 -0
- data/adva_cms/vendor/gems/xss_terminate/MIT-LICENSE +20 -0
- data/adva_cms/vendor/gems/xss_terminate/README +94 -0
- data/adva_cms/vendor/gems/xss_terminate/README.md +29 -0
- data/adva_cms/vendor/gems/xss_terminate/Rakefile +23 -0
- data/adva_cms/vendor/gems/xss_terminate/lib/html5lib_sanitize.rb +2453 -0
- data/adva_cms/vendor/gems/xss_terminate/lib/rails_sanitize.rb +8 -0
- data/adva_cms/vendor/gems/xss_terminate/lib/xss_terminate.rb +141 -0
- data/adva_cms/vendor/gems/xss_terminate/lib/xss_terminate/version.rb +3 -0
- data/adva_cms/vendor/gems/xss_terminate/tasks/xss_terminate_tasks.rake +7 -0
- data/adva_cms/vendor/gems/xss_terminate/test/models/comment.rb +5 -0
- data/adva_cms/vendor/gems/xss_terminate/test/models/entry.rb +7 -0
- data/adva_cms/vendor/gems/xss_terminate/test/models/message.rb +3 -0
- data/adva_cms/vendor/gems/xss_terminate/test/models/person.rb +5 -0
- data/adva_cms/vendor/gems/xss_terminate/test/models/review.rb +5 -0
- data/adva_cms/vendor/gems/xss_terminate/test/schema.rb +34 -0
- data/adva_cms/vendor/gems/xss_terminate/test/setup_test.rb +16 -0
- data/adva_cms/vendor/gems/xss_terminate/test/xss_terminate_test.rb +50 -0
- data/adva_cms/vendor/gems/xss_terminate/xss_terminate.gemspec +17 -0
- data/adva_comments/.gitignore +17 -0
- data/adva_comments/Gemfile +4 -0
- data/adva_comments/LICENSE +22 -0
- data/adva_comments/README.md +29 -0
- data/adva_comments/Rakefile +2 -0
- data/adva_comments/adva_comments.gemspec +19 -0
- data/adva_comments/app/assets/javascripts/adva_comments/jquery.comments.js +41 -0
- data/adva_comments/app/assets/javascripts/antispam.js +11 -0
- data/adva_comments/app/assets/stylesheets/adva_comments/admin/comments.css +34 -0
- data/adva_comments/app/assets/stylesheets/adva_comments/comments.css +50 -0
- data/adva_comments/app/controllers/admin/comments_controller.rb +88 -0
- data/adva_comments/app/controllers/comments_controller.rb +106 -0
- data/adva_comments/app/helpers/admin/comments_helper.rb +32 -0
- data/adva_comments/app/helpers/comments_helper.rb +73 -0
- data/adva_comments/app/mailers/comment_mailer.rb +8 -0
- data/adva_comments/app/models/comment.rb +93 -0
- data/adva_comments/app/views/admin/articles/_comments_settings.html.erb +1 -0
- data/adva_comments/app/views/admin/comments/_form.html.erb +12 -0
- data/adva_comments/app/views/admin/comments/edit.html.erb +9 -0
- data/adva_comments/app/views/admin/comments/index.html.erb +43 -0
- data/adva_comments/app/views/admin/sections/_comments_settings.html.erb +7 -0
- data/adva_comments/app/views/admin/sites/_comments_settings.html.erb +7 -0
- data/adva_comments/app/views/comment_mailer/comment_notification.html.erb +12 -0
- data/adva_comments/app/views/comments/_comment.html.erb +13 -0
- data/adva_comments/app/views/comments/_form.html.erb +43 -0
- data/adva_comments/app/views/comments/_list.html.erb +8 -0
- data/adva_comments/app/views/comments/comments.atom.builder +16 -0
- data/adva_comments/app/views/comments/preview.html.erb +3 -0
- data/adva_comments/app/views/comments/show.html.erb +12 -0
- data/adva_comments/config/initializers/article.rb +13 -0
- data/adva_comments/config/initializers/content.rb +17 -0
- data/adva_comments/config/initializers/controllers.rb +43 -0
- data/adva_comments/config/initializers/menus.rb +24 -0
- data/adva_comments/config/initializers/role_contexts.rb +3 -0
- data/adva_comments/config/initializers/section.rb +15 -0
- data/adva_comments/config/initializers/site.rb +11 -0
- data/adva_comments/config/initializers/wikipage.rb +4 -0
- data/adva_comments/config/routes.rb +11 -0
- data/adva_comments/db/migrate/20080401000007_create_comments_table.rb +22 -0
- data/adva_comments/db/migrate/20080721141112_add_comment_board_id.rb +9 -0
- data/adva_comments/lib/action_controller/acts_as_commentable.rb +43 -0
- data/adva_comments/lib/active_record/has_many_comments.rb +49 -0
- data/adva_comments/lib/adva_comments.rb +19 -0
- data/adva_comments/lib/adva_comments/version.rb +3 -0
- data/adva_comments/lib/format.rb +3 -0
- data/adva_comments/test/contexts.rb +29 -0
- data/adva_comments/test/functional/admin/comments_controller_test.rb +200 -0
- data/adva_comments/test/functional/comments_controller_test.rb +133 -0
- data/adva_comments/test/functional/comments_routes_test.rb +17 -0
- data/adva_comments/test/test_helper.rb +4 -0
- data/adva_comments/test/unit/helpers/admin/comments_helper_test.rb +23 -0
- data/adva_comments/test/unit/helpers/comments_helper_test.rb +147 -0
- data/adva_comments/test/unit/models/comment_test.rb +150 -0
- data/adva_comments/test/unit/models/commentable_test.rb +30 -0
- data/adva_comments/test/unit/observers/activities_comment_observer_test.rb +45 -0
- data/adva_fckeditor/.gitignore +17 -0
- data/adva_fckeditor/Gemfile +4 -0
- data/adva_fckeditor/LICENSE +22 -0
- data/adva_fckeditor/README +21 -0
- data/adva_fckeditor/README.md +29 -0
- data/adva_fckeditor/Rakefile +2 -0
- data/adva_fckeditor/adva_fckeditor.gemspec +19 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/config.js +58 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckcontextmenu.js +223 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdataprocessor.js +119 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js +53 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js +58 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdomrange.js +935 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdomrange_gecko.js +104 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdomrange_ie.js +199 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdomrangeiterator.js +327 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckeditingarea.js +368 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckelementpath.js +89 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckenterkey.js +708 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckevents.js +71 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckhtmliterator.js +142 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckicon.js +103 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckiecleanup.js +68 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckimagepreloader.js +64 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckkeystrokehandler.js +141 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckmenublock.js +153 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckmenublockpanel.js +54 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckmenuitem.js +161 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckpanel.js +463 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckplugin.js +56 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckspecialcombo.js +376 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckstyle.js +1500 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbar.js +103 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js +36 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js +38 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarbutton.js +81 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js +198 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js +139 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js +98 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js +76 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js +103 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js +146 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js +200 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckw3crange.js +451 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckxml.js +108 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckxml_gecko.js +106 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckxml_ie.js +93 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fck_othercommands.js +634 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckblockquotecommand.js +281 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckcorestylecommand.js +61 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckfitwindow.js +213 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckindentcommands.js +282 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckjustifycommands.js +173 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fcklistcommands.js +382 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fcknamedcommand.js +39 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js +40 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js +40 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckremoveformatcommand.js +45 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckshowblocks.js +94 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js +49 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js +72 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckstylecommand.js +60 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fcktablecommand.js +106 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js +201 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/fckconstants.js +56 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/fckeditorapi.js +179 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/fckjscoreextensions.js +159 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/fckscriptloader.js +122 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fck.js +1256 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fck_contextmenu.js +345 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fck_gecko.js +497 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fck_ie.js +456 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckbrowserinfo.js +61 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckcodeformatter.js +100 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckcommands.js +172 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckconfig.js +237 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdebug.js +59 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdebug_empty.js +31 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdialog.js +239 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdocumentprocessor.js +270 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdomtools.js +1057 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcklanguagemanager.js +165 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcklisthandler.js +152 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcklistslib.js +63 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckplugins.js +46 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckregexlib.js +100 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckselection.js +42 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckselection_gecko.js +228 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckselection_ie.js +287 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckstyles.js +381 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktablehandler.js +863 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktablehandler_gecko.js +56 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktablehandler_ie.js +64 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktoolbaritems.js +124 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktoolbarset.js +399 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktools.js +749 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktools_gecko.js +282 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktools_ie.js +234 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckundo.js +223 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckurlparams.js +39 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckxhtml.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckxhtml_gecko.js +114 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckxhtml_ie.js +213 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckxhtmlentities.js +357 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/behaviors/disablehandles.htc +15 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/behaviors/showtableborders.htc +36 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/fck_editorarea.css +110 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/fck_internal.css +199 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/fck_showtableborders_gecko.css +49 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_address.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_blockquote.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_div.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h1.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h2.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h3.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h4.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h5.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h6.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_p.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_pre.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_anchor.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_flashlogo.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_hiddenfield.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_pagebreak.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_plugin.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.css +85 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.js +347 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/images/locked.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/images/reset.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/images/unlocked.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_about.html +161 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_about/logo_fredck.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_anchor.html +220 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_button.html +104 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_checkbox.html +104 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_colorselector.html +172 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_div.html +396 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_docprops.html +600 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +113 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_flash.html +152 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash.js +300 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +50 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_form.html +109 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_hiddenfield.html +115 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_image.html +258 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_image/fck_image.js +512 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_image/fck_image_preview.html +72 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_link.html +295 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_link/fck_link.js +893 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_listprop.html +120 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_paste.html +347 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_radiobutton.html +104 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_replace.html +650 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_select.html +180 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_select/fck_select.js +194 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_smiley.html +111 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_source.html +68 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_specialchar.html +121 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages.html +70 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +87 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +153 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +148 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +199 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +181 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +461 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +71 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +49 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +272 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_table.html +439 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_tablecell.html +293 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_template.html +242 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_template/images/template1.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_template/images/template2.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_template/images/template3.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_textarea.html +94 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_textfield.html +136 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dtd/fck_dtd_test.html +41 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dtd/fck_xhtml10strict.js +116 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dtd/fck_xhtml10transitional.js +140 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/fckdebug.html +153 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/fckdialog.html +819 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/fckeditor.html +317 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/fckeditor.original.html +424 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/browser.css +87 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/browser.html +200 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +95 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +114 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmfolders.html +198 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +185 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +69 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmupload.html +115 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/Folder.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/Folder32.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/html.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/js.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/png.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/spacer.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/js/common.js +88 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/js/fckxml.js +147 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/basexml.asp +63 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/class_upload.asp +353 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/commands.asp +198 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/config.asp +128 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/connector.asp +88 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/io.asp +237 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/upload.asp +65 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/util.asp +55 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/aspx/config.ascx +98 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/aspx/connector.aspx +32 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/aspx/upload.aspx +32 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/ImageObject.cfc +273 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm +315 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm +299 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm +68 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_commands.cfm +230 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_connector.cfm +89 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_io.cfm +291 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_upload.cfm +72 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_util.cfm +131 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/config.cfm +189 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/connector.cfm +32 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/image.cfc +1324 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/upload.cfm +31 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/lasso/config.lasso +65 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/lasso/connector.lasso +322 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/lasso/upload.lasso +168 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/basexml.pl +63 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/commands.pl +187 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/connector.cgi +136 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/io.pl +141 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/upload.cgi +117 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl +686 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/util.pl +68 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/basexml.php +93 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/commands.php +302 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/config.php +151 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/connector.php +90 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/io.php +296 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/phpcompat.php +17 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/upload.php +59 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/util.php +220 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/config.py +146 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/connector.py +118 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/fckcommands.py +198 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/fckconnector.py +90 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/fckoutput.py +116 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/fckutil.py +126 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/htaccess.txt +23 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/upload.py +88 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/wsgi.py +58 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/zope.py +188 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/test.html +210 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/uploadtest.html +192 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/anchor.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/arrow_ltr.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/arrow_rtl.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/angel_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/angry_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/broken_heart.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/cake.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/confused_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/cry_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/devil_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/embaressed_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/envelope.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/heart.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/kiss.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/lightbulb.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/omg_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/regular_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/sad_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/shades_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/teeth_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/thumbs_down.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/thumbs_up.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/tounge_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/wink_smile.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/spacer.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/js/fckadobeair.js +176 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/js/fckeditorcode_gecko.js +108 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/js/fckeditorcode_ie.js +109 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/_translationstatus.txt +79 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/af.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ar.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/bg.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/bn.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/bs.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ca.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/cs.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/da.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/de.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/el.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/en-au.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/en-ca.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/en-uk.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/en.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/eo.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/es.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/et.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/eu.js +535 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fa.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fi.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fo.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fr-ca.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fr.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/gl.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/gu.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/he.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/hi.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/hr.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/hu.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/is.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/it.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ja.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/km.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ko.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/lt.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/lv.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/mn.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ms.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/nb.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/nl.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/no.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/pl.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/pt-br.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/pt.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ro.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ru.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sk.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sl.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sr-latn.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sr.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sv.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/th.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/tr.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/uk.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/vi.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/zh-cn.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/zh.js +534 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/autogrow/fckplugin.js +111 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/bbcode/_sample/sample.config.js +26 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/bbcode/_sample/sample.html +67 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/bbcode/fckplugin.js +123 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/dragresizetable/fckplugin.js +529 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/fck_placeholder.html +105 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/fckplugin.js +187 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/de.js +27 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/en.js +27 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/es.js +27 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/fr.js +27 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/it.js +27 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/pl.js +27 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/placeholder.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/simplecommands/fckplugin.js +29 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/tablecommands/fckplugin.js +33 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/_fckviewstrips.html +121 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/fck_dialog.css +402 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/fck_dialog_ie6.js +110 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/fck_editor.css +464 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/fck_strip.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/dialog.sides.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/dialog.sides.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/dialog.sides.rtl.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/sprites.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/sprites.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.arrowright.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.collapse.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.end.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.expand.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.separator.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.start.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/toolbar/configurecell.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/fck_dialog.css +402 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/fck_dialog_ie6.js +110 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/fck_editor.css +476 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/fck_strip.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/sprites.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/sprites.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.bg.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.end.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.expand.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.separator.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.start.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/fck_dialog.css +402 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/fck_dialog_ie6.js +110 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/fck_editor.css +473 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/fck_strip.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/sprites.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/sprites.png +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.collapse.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.end.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.expand.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.separator.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.start.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/wsc/ciframe.html +65 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/wsc/tmpFrameset.html +67 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/editor/wsc/w.html +227 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/fckconfig.js +325 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/fckeditor.js +330 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/fckpackager.xml +262 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/fckstyles.xml +111 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/fcktemplates.xml +103 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor/license.txt +1246 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/cells/cell.html +259 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/cells/fckplugin.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/cells/lang/de.js +4 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/cells/lang/en.js +4 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/fckplugin.js +8 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/de.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/en.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/it.js +22 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/ja.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/lt.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/no.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/pt.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/zh-cn.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/zh.js +21 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/license.txt +286 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/readme.txt +54 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/youtube.gif +0 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/youtube.html +47 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/youtube.js +121 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/setup_fckeditor.js +49 -0
- data/adva_fckeditor/app/assets/javascripts/adva_fckeditor/setup_fckeditor.prototype.js +38 -0
- data/adva_fckeditor/lib/adva_fckeditor.rb +13 -0
- data/adva_fckeditor/lib/adva_fckeditor/version.rb +3 -0
- data/adva_fckeditor/lib/fckeditor.rb +6 -0
- data/adva_meta_tags/.gitignore +17 -0
- data/adva_meta_tags/Gemfile +4 -0
- data/adva_meta_tags/LICENSE +22 -0
- data/adva_meta_tags/README +3 -0
- data/adva_meta_tags/README.md +29 -0
- data/adva_meta_tags/Rakefile +2 -0
- data/adva_meta_tags/adva_meta_tags.gemspec +17 -0
- data/adva_meta_tags/app/helpers/meta_tags_helper.rb +30 -0
- data/adva_meta_tags/app/views/admin/articles/_meta_tags.html.erb +7 -0
- data/adva_meta_tags/app/views/admin/sites/_meta_tags.html.erb +15 -0
- data/adva_meta_tags/config/initializers/article.rb +19 -0
- data/adva_meta_tags/config/initializers/site.rb +14 -0
- data/adva_meta_tags/config/locales/de.yml +6 -0
- data/adva_meta_tags/config/locales/en.yml +6 -0
- data/adva_meta_tags/db/migrate/20090218083515_add_metatags_to_contents.rb +17 -0
- data/adva_meta_tags/db/migrate/20090522082000_add_metatags_to_sites.rb +17 -0
- data/adva_meta_tags/lib/adva_meta_tags.rb +11 -0
- data/adva_meta_tags/lib/adva_meta_tags/version.rb +3 -0
- data/adva_meta_tags/test/meta_tags_test.rb +42 -0
- data/adva_rbac/.gitignore +17 -0
- data/adva_rbac/Gemfile +4 -0
- data/adva_rbac/LICENSE +22 -0
- data/adva_rbac/NOTES +98 -0
- data/adva_rbac/README.md +29 -0
- data/adva_rbac/Rakefile +2 -0
- data/adva_rbac/adva_rbac.gemspec +17 -0
- data/adva_rbac/app/controllers/roles_controller.rb +28 -0
- data/adva_rbac/app/helpers/roles_helper.rb +64 -0
- data/adva_rbac/app/views/admin/sections/settings/_permissions.html.erb +16 -0
- data/adva_rbac/app/views/roles/index.js.erb +3 -0
- data/adva_rbac/config/initializers/base_controller.rb +4 -0
- data/adva_rbac/config/initializers/rbac.rb +60 -0
- data/adva_rbac/config/initializers/user.rb +80 -0
- data/adva_rbac/db/migrate/20080402000006_create_role_tables.rb +13 -0
- data/adva_rbac/db/migrate/20090720132900_migrate_roles_table_to_new_rbac.rb +15 -0
- data/adva_rbac/lib/action_controller/guards_permissions.rb +77 -0
- data/adva_rbac/lib/adva_rbac.rb +18 -0
- data/adva_rbac/lib/adva_rbac/version.rb +3 -0
- data/adva_rbac/lib/permission_map.rb +70 -0
- data/adva_rbac/lib/rbac.rb +26 -0
- data/adva_rbac/lib/rbac/acts_as_role_context.rb +44 -0
- data/adva_rbac/lib/rbac/acts_as_role_subject.rb +65 -0
- data/adva_rbac/lib/rbac/context.rb +85 -0
- data/adva_rbac/lib/rbac/role.rb +10 -0
- data/adva_rbac/lib/rbac/role_type.rb +73 -0
- data/adva_rbac/lib/rbac/role_type/active_record.rb +47 -0
- data/adva_rbac/lib/rbac/role_type/static.rb +144 -0
- data/adva_rbac/lib/rbac/subject.rb +52 -0
- data/adva_rbac/test/functional/roles_controller_test.rb +21 -0
- data/adva_rbac/test/integration/user_rbac_test.rb +34 -0
- data/adva_rbac/test/rbac/all.rb +3 -0
- data/adva_rbac/test/rbac/database.rb +155 -0
- data/adva_rbac/test/rbac/database.yml +3 -0
- data/adva_rbac/test/rbac/implementation/active_record_test.rb +17 -0
- data/adva_rbac/test/rbac/implementation/static_test.rb +14 -0
- data/adva_rbac/test/rbac/static.rb +25 -0
- data/adva_rbac/test/rbac/test_helper.rb +62 -0
- data/adva_rbac/test/rbac/tests/acts_as_role_context.rb +37 -0
- data/adva_rbac/test/rbac/tests/context.rb +35 -0
- data/adva_rbac/test/rbac/tests/group.rb +40 -0
- data/adva_rbac/test/rbac/tests/has_role.rb +126 -0
- data/adva_rbac/test/rbac/tests/role_type.rb +110 -0
- data/adva_rbac/test/test_helper.rb +1 -0
- data/adva_rbac/test/unit/helpers/roles_helper_test.rb +69 -0
- data/adva_rbac/test/unit/models/rbac_context_test.rb +37 -0
- data/adva_rbac/test/unit/models/rbac_user_test.rb +100 -0
- data/adva_rbac/test/unit/models/role_test.rb +185 -0
- data/adva_user/.gitignore +17 -0
- data/adva_user/Gemfile +4 -0
- data/adva_user/LICENSE +22 -0
- data/adva_user/README +114 -0
- data/adva_user/README.md +29 -0
- data/adva_user/Rakefile +2 -0
- data/adva_user/adva_user.gemspec +17 -0
- data/adva_user/app/controllers/admin/base_account_controller.rb +13 -0
- data/adva_user/app/controllers/admin/users_controller.rb +95 -0
- data/adva_user/app/controllers/password_controller.rb +36 -0
- data/adva_user/app/controllers/session_controller.rb +30 -0
- data/adva_user/app/helpers/users_helper.rb +27 -0
- data/adva_user/app/models/account.rb +7 -0
- data/adva_user/app/models/membership.rb +16 -0
- data/adva_user/app/models/password_mailer.rb +43 -0
- data/adva_user/app/models/user.rb +106 -0
- data/adva_user/app/views/admin/users/_form.html.erb +29 -0
- data/adva_user/app/views/admin/users/_sidebar.html.erb +8 -0
- data/adva_user/app/views/admin/users/edit.html.erb +7 -0
- data/adva_user/app/views/admin/users/index.html.erb +13 -0
- data/adva_user/app/views/admin/users/new.html.erb +5 -0
- data/adva_user/app/views/admin/users/show.html.erb +27 -0
- data/adva_user/app/views/layouts/login.html.erb +24 -0
- data/adva_user/app/views/password/edit.html.erb +14 -0
- data/adva_user/app/views/password/new.html.erb +13 -0
- data/adva_user/app/views/password_mailer/reset_password_email.html.erb +3 -0
- data/adva_user/app/views/password_mailer/updated_password_email.html.erb +1 -0
- data/adva_user/app/views/session/new.html.erb +17 -0
- data/adva_user/config/initializers/menus.rb +25 -0
- data/adva_user/config/routes.rb +14 -0
- data/adva_user/db/migrate/20080402000001_create_users_table.rb +33 -0
- data/adva_user/db/migrate/20080402000005_create_memberships_table.rb +13 -0
- data/adva_user/db/migrate/20090625124502_create_accounts.rb +13 -0
- data/adva_user/db/migrate/20090625133231_add_account_to_user.rb +10 -0
- data/adva_user/lib/action_controller/authenticate_anonymous.rb +70 -0
- data/adva_user/lib/action_controller/authenticate_user.rb +201 -0
- data/adva_user/lib/active_record/belongs_to_author.rb +37 -0
- data/adva_user/lib/adva_user.rb +28 -0
- data/adva_user/lib/adva_user/version.rb +3 -0
- data/adva_user/lib/login/helper_integration.rb +11 -0
- data/adva_user/lib/login/mail_config.rb +39 -0
- data/adva_user/test/contexts.rb +42 -0
- data/adva_user/test/fixtures.rb +18 -0
- data/adva_user/test/functional/admin/users_controller_test.rb +176 -0
- data/adva_user/test/functional/password_controller_test.rb +96 -0
- data/adva_user/test/functional/session_controller_test.rb +1 -0
- data/adva_user/test/functional/user_controller_test.rb +95 -0
- data/adva_user/test/integration/anonymous_login_test.rb +39 -0
- data/adva_user/test/integration/edit_user_test.rb +44 -0
- data/adva_user/test/integration/memberships_test.rb +52 -0
- data/adva_user/test/integration/user_deletion_test.rb +27 -0
- data/adva_user/test/integration/user_login_test.rb +53 -0
- data/adva_user/test/integration/user_login_with_remember_me_test.rb +20 -0
- data/adva_user/test/integration/user_registration_test.rb +64 -0
- data/adva_user/test/test_helper.rb +1 -0
- data/adva_user/test/unit/cells/user_cell_test.rb +13 -0
- data/adva_user/test/unit/helpers/users_helper_test.rb +52 -0
- data/adva_user/test/unit/models/account_test.rb +21 -0
- data/adva_user/test/unit/models/anonymous_test.rb +54 -0
- data/adva_user/test/unit/models/password_mailer_test.rb +26 -0
- data/adva_user/test/unit/models/user_mailer_test.rb +16 -0
- data/adva_user/test/unit/models/user_test.rb +173 -0
- data/adva_user/vendor/gems/authentication/.gitignore +17 -0
- data/adva_user/vendor/gems/authentication/Gemfile +4 -0
- data/adva_user/vendor/gems/authentication/LICENSE +22 -0
- data/adva_user/vendor/gems/authentication/MIT-LICENSE +38 -0
- data/adva_user/vendor/gems/authentication/README +39 -0
- data/adva_user/vendor/gems/authentication/README.md +29 -0
- data/adva_user/vendor/gems/authentication/RUNNING_UNIT_TESTS +13 -0
- data/adva_user/vendor/gems/authentication/Rakefile +61 -0
- data/adva_user/vendor/gems/authentication/authentication.gemspec +17 -0
- data/adva_user/vendor/gems/authentication/lib/authentication.rb +270 -0
- data/adva_user/vendor/gems/authentication/lib/authentication/active_record_extensions.rb +11 -0
- data/adva_user/vendor/gems/authentication/lib/authentication/bogus.rb +13 -0
- data/adva_user/vendor/gems/authentication/lib/authentication/hash_helper.rb +26 -0
- data/adva_user/vendor/gems/authentication/lib/authentication/ldap.rb +49 -0
- data/adva_user/vendor/gems/authentication/lib/authentication/remember_me.rb +52 -0
- data/adva_user/vendor/gems/authentication/lib/authentication/salted_hash.rb +53 -0
- data/adva_user/vendor/gems/authentication/lib/authentication/single_token.rb +53 -0
- data/adva_user/vendor/gems/authentication/lib/authentication/version.rb +3 -0
- data/adva_user/vendor/gems/authentication/lib/radius/dictionary +207 -0
- data/adva_user/vendor/gems/authentication/test_backup/abstract_unit.rb +30 -0
- data/adva_user/vendor/gems/authentication/test_backup/active_record_extension_test.rb +17 -0
- data/adva_user/vendor/gems/authentication/test_backup/authentication_test.rb +231 -0
- data/adva_user/vendor/gems/authentication/test_backup/database.yml +12 -0
- data/adva_user/vendor/gems/authentication/test_backup/fixtures/user.rb +3 -0
- data/adva_user/vendor/gems/authentication/test_backup/fixtures/users.yml +3 -0
- data/adva_user/vendor/gems/authentication/test_backup/options_test.rb +100 -0
- data/adva_user/vendor/gems/authentication/test_backup/remember_me_test.rb +41 -0
- data/adva_user/vendor/gems/authentication/test_backup/salted_hash_test.rb +38 -0
- data/adva_user/vendor/gems/authentication/test_backup/schema.rb +10 -0
- data/adva_user/vendor/gems/authentication/test_backup/single_token_test.rb +44 -0
- data/adva_user/vendor/gems/authentication/test_backup/test_helper.rb +8 -0
- data/doc/NOTES +332 -0
- data/doc/doc_outline.txt +67 -0
- data/doc/form_builder.txt +45 -0
- data/doc/git_tips.txt +51 -0
- data/doc/js_rbac.txt +54 -0
- data/doc/notes.txt +137 -0
- data/doc/testing.txt +52 -0
- data/lib/adva.rb +5 -0
- data/lib/adva/version.rb +3 -0
- data/test/matchy/History.txt +4 -0
- data/test/matchy/License.txt +20 -0
- data/test/matchy/Manifest.txt +22 -0
- data/test/matchy/PostInstall.txt +7 -0
- data/test/matchy/README.rdoc +68 -0
- data/test/matchy/Rakefile +4 -0
- data/test/matchy/config/hoe.rb +73 -0
- data/test/matchy/config/requirements.rb +15 -0
- data/test/matchy/lib/matchy.rb +16 -0
- data/test/matchy/lib/matchy/built_in/enumerable_expectations.rb +69 -0
- data/test/matchy/lib/matchy/built_in/error_expectations.rb +90 -0
- data/test/matchy/lib/matchy/built_in/operator_expectations.rb +97 -0
- data/test/matchy/lib/matchy/built_in/truth_expectations.rb +231 -0
- data/test/matchy/lib/matchy/expectation.rb +47 -0
- data/test/matchy/lib/matchy/modals.rb +51 -0
- data/test/matchy/lib/matchy/version.rb +9 -0
- data/test/matchy/matchy.gemspec +47 -0
- data/test/matchy/setup.rb +1585 -0
- data/test/matchy/tasks/deployment.rake +34 -0
- data/test/matchy/tasks/environment.rake +7 -0
- data/test/matchy/test/test_enumerable_expectations.rb +91 -0
- data/test/matchy/test/test_error_expectations.rb +109 -0
- data/test/matchy/test/test_expectation_base.rb +35 -0
- data/test/matchy/test/test_helper.rb +2 -0
- data/test/matchy/test/test_modals.rb +39 -0
- data/test/matchy/test/test_operator_expectations.rb +157 -0
- data/test/matchy/test/test_truth_expectations.rb +258 -0
- data/test/no_peeping_toms/README +40 -0
- data/test/no_peeping_toms/init.rb +12 -0
- data/test/no_peeping_toms/install.rb +1 -0
- data/test/no_peeping_toms/lib/no_peeping_toms.rb +10 -0
- data/test/no_peeping_toms/spec/db/database.yml +3 -0
- data/test/no_peeping_toms/spec/db/schema.rb +5 -0
- data/test/no_peeping_toms/spec/no_peeping_toms_spec.rb +56 -0
- data/test/no_peeping_toms/spec/spec_helper.rb +8 -0
- data/test/no_peeping_toms/tasks/no_peeping_toms_tasks.rake +4 -0
- data/test/no_peeping_toms/uninstall.rb +1 -0
- data/test/rr/.gitignore +6 -0
- data/test/rr/CHANGES +192 -0
- data/test/rr/README.rdoc +309 -0
- data/test/rr/Rakefile +70 -0
- data/test/rr/doc/0.6.0.release.markdown +81 -0
- data/test/rr/introducting_rr.txt +206 -0
- data/test/rr/lib/rr.rb +83 -0
- data/test/rr/lib/rr/adapters/rr_methods.rb +131 -0
- data/test/rr/lib/rr/adapters/rspec.rb +23 -0
- data/test/rr/lib/rr/adapters/test_unit.rb +25 -0
- data/test/rr/lib/rr/double.rb +212 -0
- data/test/rr/lib/rr/double_definitions/child_double_definition_creator.rb +27 -0
- data/test/rr/lib/rr/double_definitions/double_definition.rb +346 -0
- data/test/rr/lib/rr/double_definitions/double_definition_creator.rb +167 -0
- data/test/rr/lib/rr/double_definitions/double_definition_creator_proxy.rb +57 -0
- data/test/rr/lib/rr/double_definitions/strategies/implementation/implementation_strategy.rb +15 -0
- data/test/rr/lib/rr/double_definitions/strategies/implementation/proxy.rb +62 -0
- data/test/rr/lib/rr/double_definitions/strategies/implementation/reimplementation.rb +14 -0
- data/test/rr/lib/rr/double_definitions/strategies/implementation/strongly_typed_reimplementation.rb +17 -0
- data/test/rr/lib/rr/double_definitions/strategies/scope/instance.rb +15 -0
- data/test/rr/lib/rr/double_definitions/strategies/scope/instance_of_class.rb +46 -0
- data/test/rr/lib/rr/double_definitions/strategies/scope/scope_strategy.rb +15 -0
- data/test/rr/lib/rr/double_definitions/strategies/strategy.rb +70 -0
- data/test/rr/lib/rr/double_definitions/strategies/verification/dont_allow.rb +34 -0
- data/test/rr/lib/rr/double_definitions/strategies/verification/mock.rb +44 -0
- data/test/rr/lib/rr/double_definitions/strategies/verification/stub.rb +45 -0
- data/test/rr/lib/rr/double_definitions/strategies/verification/verification_strategy.rb +15 -0
- data/test/rr/lib/rr/double_injection.rb +141 -0
- data/test/rr/lib/rr/double_matches.rb +51 -0
- data/test/rr/lib/rr/errors/argument_equality_error.rb +6 -0
- data/test/rr/lib/rr/errors/double_definition_error.rb +6 -0
- data/test/rr/lib/rr/errors/double_not_found_error.rb +6 -0
- data/test/rr/lib/rr/errors/double_order_error.rb +6 -0
- data/test/rr/lib/rr/errors/rr_error.rb +20 -0
- data/test/rr/lib/rr/errors/spy_verification_error.rb +6 -0
- data/test/rr/lib/rr/errors/subject_does_not_implement_method_error.rb +6 -0
- data/test/rr/lib/rr/errors/subject_has_different_arity_error.rb +6 -0
- data/test/rr/lib/rr/errors/times_called_error.rb +6 -0
- data/test/rr/lib/rr/expectations/any_argument_expectation.rb +21 -0
- data/test/rr/lib/rr/expectations/argument_equality_expectation.rb +41 -0
- data/test/rr/lib/rr/expectations/times_called_expectation.rb +57 -0
- data/test/rr/lib/rr/hash_with_object_id_key.rb +41 -0
- data/test/rr/lib/rr/invocation_matcher.rb +27 -0
- data/test/rr/lib/rr/recorded_calls.rb +72 -0
- data/test/rr/lib/rr/space.rb +123 -0
- data/test/rr/lib/rr/spy_verification.rb +38 -0
- data/test/rr/lib/rr/spy_verification_proxy.rb +18 -0
- data/test/rr/lib/rr/times_called_matchers/any_times_matcher.rb +19 -0
- data/test/rr/lib/rr/times_called_matchers/at_least_matcher.rb +16 -0
- data/test/rr/lib/rr/times_called_matchers/at_most_matcher.rb +24 -0
- data/test/rr/lib/rr/times_called_matchers/integer_matcher.rb +19 -0
- data/test/rr/lib/rr/times_called_matchers/non_terminal.rb +27 -0
- data/test/rr/lib/rr/times_called_matchers/proc_matcher.rb +11 -0
- data/test/rr/lib/rr/times_called_matchers/range_matcher.rb +21 -0
- data/test/rr/lib/rr/times_called_matchers/terminal.rb +20 -0
- data/test/rr/lib/rr/times_called_matchers/times_called_matcher.rb +44 -0
- data/test/rr/lib/rr/wildcard_matchers/anything.rb +18 -0
- data/test/rr/lib/rr/wildcard_matchers/boolean.rb +23 -0
- data/test/rr/lib/rr/wildcard_matchers/duck_type.rb +32 -0
- data/test/rr/lib/rr/wildcard_matchers/hash_including.rb +29 -0
- data/test/rr/lib/rr/wildcard_matchers/is_a.rb +25 -0
- data/test/rr/lib/rr/wildcard_matchers/numeric.rb +13 -0
- data/test/rr/lib/rr/wildcard_matchers/range.rb +7 -0
- data/test/rr/lib/rr/wildcard_matchers/regexp.rb +7 -0
- data/test/rr/lib/rr/wildcard_matchers/satisfy.rb +26 -0
- data/test/rr/spec/core_spec_suite.rb +19 -0
- data/test/rr/spec/environment_fixture_setup.rb +6 -0
- data/test/rr/spec/high_level_spec.rb +350 -0
- data/test/rr/spec/recorded_calls_spec.rb +119 -0
- data/test/rr/spec/rr/adapters/rr_methods_argument_matcher_spec.rb +67 -0
- data/test/rr/spec/rr/adapters/rr_methods_creator_spec.rb +149 -0
- data/test/rr/spec/rr/adapters/rr_methods_space_spec.rb +115 -0
- data/test/rr/spec/rr/adapters/rr_methods_spec_helper.rb +11 -0
- data/test/rr/spec/rr/adapters/rr_methods_times_matcher_spec.rb +17 -0
- data/test/rr/spec/rr/double_definitions/child_double_definition_creator_spec.rb +112 -0
- data/test/rr/spec/rr/double_definitions/double_definition_creator_proxy_spec.rb +155 -0
- data/test/rr/spec/rr/double_definitions/double_definition_creator_spec.rb +502 -0
- data/test/rr/spec/rr/double_definitions/double_definition_spec.rb +1159 -0
- data/test/rr/spec/rr/double_injection/double_injection_bind_spec.rb +111 -0
- data/test/rr/spec/rr/double_injection/double_injection_dispatching_spec.rb +244 -0
- data/test/rr/spec/rr/double_injection/double_injection_has_original_method_spec.rb +55 -0
- data/test/rr/spec/rr/double_injection/double_injection_reset_spec.rb +90 -0
- data/test/rr/spec/rr/double_injection/double_injection_spec.rb +77 -0
- data/test/rr/spec/rr/double_injection/double_injection_verify_spec.rb +29 -0
- data/test/rr/spec/rr/double_spec.rb +352 -0
- data/test/rr/spec/rr/errors/rr_error_spec.rb +67 -0
- data/test/rr/spec/rr/expectations/any_argument_expectation_spec.rb +47 -0
- data/test/rr/spec/rr/expectations/anything_argument_equality_expectation_spec.rb +14 -0
- data/test/rr/spec/rr/expectations/argument_equality_expectation_spec.rb +135 -0
- data/test/rr/spec/rr/expectations/boolean_argument_equality_expectation_spec.rb +34 -0
- data/test/rr/spec/rr/expectations/hash_including_argument_equality_expectation_spec.rb +82 -0
- data/test/rr/spec/rr/expectations/hash_including_spec.rb +17 -0
- data/test/rr/spec/rr/expectations/satisfy_argument_equality_expectation_spec.rb +59 -0
- data/test/rr/spec/rr/expectations/satisfy_spec.rb +14 -0
- data/test/rr/spec/rr/expectations/times_called_expectation/times_called_expectation_any_times_spec.rb +46 -0
- data/test/rr/spec/rr/expectations/times_called_expectation/times_called_expectation_at_least_spec.rb +69 -0
- data/test/rr/spec/rr/expectations/times_called_expectation/times_called_expectation_at_most_spec.rb +71 -0
- data/test/rr/spec/rr/expectations/times_called_expectation/times_called_expectation_helper.rb +23 -0
- data/test/rr/spec/rr/expectations/times_called_expectation/times_called_expectation_integer_spec.rb +104 -0
- data/test/rr/spec/rr/expectations/times_called_expectation/times_called_expectation_proc_spec.rb +81 -0
- data/test/rr/spec/rr/expectations/times_called_expectation/times_called_expectation_range_spec.rb +83 -0
- data/test/rr/spec/rr/expectations/times_called_expectation/times_called_expectation_spec.rb +38 -0
- data/test/rr/spec/rr/invocation_matcher_spec.rb +255 -0
- data/test/rr/spec/rr/rspec/rspec_adapter_spec.rb +66 -0
- data/test/rr/spec/rr/rspec/rspec_backtrace_tweaking_spec.rb +54 -0
- data/test/rr/spec/rr/rspec/rspec_usage_spec.rb +86 -0
- data/test/rr/spec/rr/space/hash_with_object_id_key_spec.rb +88 -0
- data/test/rr/spec/rr/space/space_spec.rb +542 -0
- data/test/rr/spec/rr/test_unit/test_helper.rb +7 -0
- data/test/rr/spec/rr/test_unit/test_unit_backtrace_test.rb +35 -0
- data/test/rr/spec/rr/test_unit/test_unit_integration_test.rb +47 -0
- data/test/rr/spec/rr/times_called_matchers/any_times_matcher_spec.rb +47 -0
- data/test/rr/spec/rr/times_called_matchers/at_least_matcher_spec.rb +55 -0
- data/test/rr/spec/rr/times_called_matchers/at_most_matcher_spec.rb +70 -0
- data/test/rr/spec/rr/times_called_matchers/integer_matcher_spec.rb +70 -0
- data/test/rr/spec/rr/times_called_matchers/proc_matcher_spec.rb +55 -0
- data/test/rr/spec/rr/times_called_matchers/range_matcher_spec.rb +76 -0
- data/test/rr/spec/rr/times_called_matchers/times_called_matcher_spec.rb +118 -0
- data/test/rr/spec/rr/wildcard_matchers/anything_spec.rb +24 -0
- data/test/rr/spec/rr/wildcard_matchers/boolean_spec.rb +36 -0
- data/test/rr/spec/rr/wildcard_matchers/duck_type_spec.rb +52 -0
- data/test/rr/spec/rr/wildcard_matchers/is_a_spec.rb +32 -0
- data/test/rr/spec/rr/wildcard_matchers/numeric_spec.rb +32 -0
- data/test/rr/spec/rr/wildcard_matchers/range_spec.rb +35 -0
- data/test/rr/spec/rr/wildcard_matchers/regexp_spec.rb +43 -0
- data/test/rr/spec/rr_spec.rb +28 -0
- data/test/rr/spec/rspec_spec_suite.rb +16 -0
- data/test/rr/spec/spec.opts +14 -0
- data/test/rr/spec/spec_helper.rb +107 -0
- data/test/rr/spec/spec_suite.rb +27 -0
- data/test/rr/spec/test_unit_spec_suite.rb +21 -0
- data/test/test_plugin/about.yml +7 -0
- data/test/test_plugin/init.rb +5 -0
- data/test/test_server/README.textile +19 -0
- data/test/test_server/bin/server +14 -0
- data/test/test_server/bin/spec +11 -0
- data/test/test_server/bin/test +11 -0
- data/test/test_server/lib/test_server.rb +5 -0
- data/test/test_server/lib/test_server/client.rb +24 -0
- data/test/test_server/lib/test_server/rails.rb +59 -0
- data/test/test_server/lib/test_server/runner/redgreen.rb +72 -0
- data/test/test_server/lib/test_server/runner/specs.rb +20 -0
- data/test/test_server/lib/test_server/runner/test_unit.rb +35 -0
- data/test/test_server/lib/test_server/server.rb +112 -0
- data/test/test_server/test/resources/test/foo_test.rb +1 -0
- data/test/test_server/test/server_test.rb +27 -0
- data/test/test_server/test/test_helper.rb +7 -0
- data/test/webrat/.document +4 -0
- data/test/webrat/History.txt +264 -0
- data/test/webrat/MIT-LICENSE.txt +19 -0
- data/test/webrat/README.rdoc +85 -0
- data/test/webrat/Rakefile +151 -0
- data/test/webrat/install.rb +1 -0
- data/test/webrat/lib/webrat.rb +34 -0
- data/test/webrat/lib/webrat/core.rb +14 -0
- data/test/webrat/lib/webrat/core/configuration.rb +89 -0
- data/test/webrat/lib/webrat/core/elements/area.rb +31 -0
- data/test/webrat/lib/webrat/core/elements/element.rb +33 -0
- data/test/webrat/lib/webrat/core/elements/field.rb +396 -0
- data/test/webrat/lib/webrat/core/elements/form.rb +103 -0
- data/test/webrat/lib/webrat/core/elements/label.rb +31 -0
- data/test/webrat/lib/webrat/core/elements/link.rb +90 -0
- data/test/webrat/lib/webrat/core/elements/select_option.rb +35 -0
- data/test/webrat/lib/webrat/core/locators.rb +20 -0
- data/test/webrat/lib/webrat/core/locators/area_locator.rb +38 -0
- data/test/webrat/lib/webrat/core/locators/button_locator.rb +54 -0
- data/test/webrat/lib/webrat/core/locators/field_by_id_locator.rb +37 -0
- data/test/webrat/lib/webrat/core/locators/field_labeled_locator.rb +56 -0
- data/test/webrat/lib/webrat/core/locators/field_locator.rb +25 -0
- data/test/webrat/lib/webrat/core/locators/field_named_locator.rb +41 -0
- data/test/webrat/lib/webrat/core/locators/form_locator.rb +19 -0
- data/test/webrat/lib/webrat/core/locators/label_locator.rb +34 -0
- data/test/webrat/lib/webrat/core/locators/link_locator.rb +66 -0
- data/test/webrat/lib/webrat/core/locators/locator.rb +20 -0
- data/test/webrat/lib/webrat/core/locators/select_option_locator.rb +59 -0
- data/test/webrat/lib/webrat/core/logging.rb +21 -0
- data/test/webrat/lib/webrat/core/matchers.rb +4 -0
- data/test/webrat/lib/webrat/core/matchers/have_content.rb +69 -0
- data/test/webrat/lib/webrat/core/matchers/have_selector.rb +52 -0
- data/test/webrat/lib/webrat/core/matchers/have_tag.rb +71 -0
- data/test/webrat/lib/webrat/core/matchers/have_xpath.rb +93 -0
- data/test/webrat/lib/webrat/core/methods.rb +61 -0
- data/test/webrat/lib/webrat/core/mime.rb +29 -0
- data/test/webrat/lib/webrat/core/save_and_open_page.rb +50 -0
- data/test/webrat/lib/webrat/core/scope.rb +350 -0
- data/test/webrat/lib/webrat/core/session.rb +259 -0
- data/test/webrat/lib/webrat/core/xml.rb +115 -0
- data/test/webrat/lib/webrat/core/xml/hpricot.rb +19 -0
- data/test/webrat/lib/webrat/core/xml/nokogiri.rb +76 -0
- data/test/webrat/lib/webrat/core/xml/rexml.rb +24 -0
- data/test/webrat/lib/webrat/core_extensions/blank.rb +58 -0
- data/test/webrat/lib/webrat/core_extensions/deprecate.rb +8 -0
- data/test/webrat/lib/webrat/core_extensions/detect_mapped.rb +12 -0
- data/test/webrat/lib/webrat/core_extensions/hash_with_indifferent_access.rb +131 -0
- data/test/webrat/lib/webrat/core_extensions/meta_class.rb +6 -0
- data/test/webrat/lib/webrat/core_extensions/nil_to_param.rb +5 -0
- data/test/webrat/lib/webrat/mechanize.rb +74 -0
- data/test/webrat/lib/webrat/merb.rb +9 -0
- data/test/webrat/lib/webrat/merb_session.rb +65 -0
- data/test/webrat/lib/webrat/rack.rb +24 -0
- data/test/webrat/lib/webrat/rails.rb +105 -0
- data/test/webrat/lib/webrat/rspec-rails.rb +13 -0
- data/test/webrat/lib/webrat/selenium.rb +99 -0
- data/test/webrat/lib/webrat/selenium/location_strategy_javascript/button.js +12 -0
- data/test/webrat/lib/webrat/selenium/location_strategy_javascript/label.js +16 -0
- data/test/webrat/lib/webrat/selenium/location_strategy_javascript/webrat.js +5 -0
- data/test/webrat/lib/webrat/selenium/location_strategy_javascript/webratlink.js +9 -0
- data/test/webrat/lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js +15 -0
- data/test/webrat/lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js +5 -0
- data/test/webrat/lib/webrat/selenium/matchers.rb +4 -0
- data/test/webrat/lib/webrat/selenium/matchers/have_content.rb +66 -0
- data/test/webrat/lib/webrat/selenium/matchers/have_selector.rb +49 -0
- data/test/webrat/lib/webrat/selenium/matchers/have_tag.rb +72 -0
- data/test/webrat/lib/webrat/selenium/matchers/have_xpath.rb +45 -0
- data/test/webrat/lib/webrat/selenium/selenium_extensions.js +6 -0
- data/test/webrat/lib/webrat/selenium/selenium_session.rb +237 -0
- data/test/webrat/lib/webrat/sinatra.rb +30 -0
- data/test/webrat/spec/fakes/test_session.rb +34 -0
- data/test/webrat/spec/integration/merb/.gitignore +21 -0
- data/test/webrat/spec/integration/merb/Rakefile +35 -0
- data/test/webrat/spec/integration/merb/app/controllers/application.rb +2 -0
- data/test/webrat/spec/integration/merb/app/controllers/exceptions.rb +13 -0
- data/test/webrat/spec/integration/merb/app/controllers/testing.rb +18 -0
- data/test/webrat/spec/integration/merb/app/views/exceptions/not_acceptable.html.erb +63 -0
- data/test/webrat/spec/integration/merb/app/views/exceptions/not_found.html.erb +47 -0
- data/test/webrat/spec/integration/merb/app/views/layout/application.html.erb +12 -0
- data/test/webrat/spec/integration/merb/app/views/testing/show_form.html.erb +27 -0
- data/test/webrat/spec/integration/merb/config/environments/development.rb +15 -0
- data/test/webrat/spec/integration/merb/config/environments/rake.rb +11 -0
- data/test/webrat/spec/integration/merb/config/environments/test.rb +14 -0
- data/test/webrat/spec/integration/merb/config/init.rb +25 -0
- data/test/webrat/spec/integration/merb/config/rack.rb +11 -0
- data/test/webrat/spec/integration/merb/config/router.rb +33 -0
- data/test/webrat/spec/integration/merb/spec/spec.opts +1 -0
- data/test/webrat/spec/integration/merb/spec/spec_helper.rb +24 -0
- data/test/webrat/spec/integration/merb/spec/webrat_spec.rb +32 -0
- data/test/webrat/spec/integration/merb/tasks/merb.thor/app_script.rb +31 -0
- data/test/webrat/spec/integration/merb/tasks/merb.thor/common.rb +64 -0
- data/test/webrat/spec/integration/merb/tasks/merb.thor/gem_ext.rb +124 -0
- data/test/webrat/spec/integration/merb/tasks/merb.thor/main.thor +150 -0
- data/test/webrat/spec/integration/merb/tasks/merb.thor/ops.rb +93 -0
- data/test/webrat/spec/integration/merb/tasks/merb.thor/utils.rb +40 -0
- data/test/webrat/spec/integration/rails/.gitignore +3 -0
- data/test/webrat/spec/integration/rails/Rakefile +30 -0
- data/test/webrat/spec/integration/rails/app/controllers/application.rb +15 -0
- data/test/webrat/spec/integration/rails/app/controllers/webrat_controller.rb +35 -0
- data/test/webrat/spec/integration/rails/app/views/webrat/before_redirect_form.html.erb +4 -0
- data/test/webrat/spec/integration/rails/app/views/webrat/form.html.erb +28 -0
- data/test/webrat/spec/integration/rails/config/boot.rb +109 -0
- data/test/webrat/spec/integration/rails/config/environment.rb +12 -0
- data/test/webrat/spec/integration/rails/config/environments/development.rb +17 -0
- data/test/webrat/spec/integration/rails/config/environments/selenium.rb +22 -0
- data/test/webrat/spec/integration/rails/config/environments/test.rb +22 -0
- data/test/webrat/spec/integration/rails/config/initializers/inflections.rb +10 -0
- data/test/webrat/spec/integration/rails/config/initializers/mime_types.rb +5 -0
- data/test/webrat/spec/integration/rails/config/initializers/new_rails_defaults.rb +17 -0
- data/test/webrat/spec/integration/rails/config/locales/en.yml +5 -0
- data/test/webrat/spec/integration/rails/config/routes.rb +13 -0
- data/test/webrat/spec/integration/rails/public/404.html +30 -0
- data/test/webrat/spec/integration/rails/public/422.html +30 -0
- data/test/webrat/spec/integration/rails/public/500.html +33 -0
- data/test/webrat/spec/integration/rails/script/about +4 -0
- data/test/webrat/spec/integration/rails/script/console +3 -0
- data/test/webrat/spec/integration/rails/script/dbconsole +3 -0
- data/test/webrat/spec/integration/rails/script/destroy +3 -0
- data/test/webrat/spec/integration/rails/script/generate +3 -0
- data/test/webrat/spec/integration/rails/script/performance/benchmarker +3 -0
- data/test/webrat/spec/integration/rails/script/performance/profiler +3 -0
- data/test/webrat/spec/integration/rails/script/performance/request +3 -0
- data/test/webrat/spec/integration/rails/script/plugin +3 -0
- data/test/webrat/spec/integration/rails/script/process/inspector +3 -0
- data/test/webrat/spec/integration/rails/script/process/reaper +3 -0
- data/test/webrat/spec/integration/rails/script/process/spawner +3 -0
- data/test/webrat/spec/integration/rails/script/runner +3 -0
- data/test/webrat/spec/integration/rails/script/server +3 -0
- data/test/webrat/spec/integration/rails/test/integration/webrat_test.rb +74 -0
- data/test/webrat/spec/integration/rails/test/test_helper.rb +25 -0
- data/test/webrat/spec/integration/sinatra/Rakefile +5 -0
- data/test/webrat/spec/integration/sinatra/app.rb +64 -0
- data/test/webrat/spec/integration/sinatra/test/test_helper.rb +17 -0
- data/test/webrat/spec/integration/sinatra/test/webrat_test.rb +36 -0
- data/test/webrat/spec/private/core/configuration_spec.rb +99 -0
- data/test/webrat/spec/private/core/field_spec.rb +67 -0
- data/test/webrat/spec/private/core/link_spec.rb +24 -0
- data/test/webrat/spec/private/core/logging_spec.rb +10 -0
- data/test/webrat/spec/private/core/session_spec.rb +207 -0
- data/test/webrat/spec/private/mechanize/mechanize_session_spec.rb +81 -0
- data/test/webrat/spec/private/merb/indifferent_access_spec.rb +47 -0
- data/test/webrat/spec/private/merb/merb_session_spec.rb +42 -0
- data/test/webrat/spec/private/nokogiri_spec.rb +77 -0
- data/test/webrat/spec/private/rails/attaches_file_spec.rb +81 -0
- data/test/webrat/spec/private/rails/rails_session_spec.rb +110 -0
- data/test/webrat/spec/private/selenium/selenium_session_spec.rb +44 -0
- data/test/webrat/spec/private/selenium/selenium_spec.rb +59 -0
- data/test/webrat/spec/private/sinatra/helper.rb +2 -0
- data/test/webrat/spec/private/sinatra/sinatra_session_spec.rb +28 -0
- data/test/webrat/spec/public/basic_auth_spec.rb +24 -0
- data/test/webrat/spec/public/check_spec.rb +154 -0
- data/test/webrat/spec/public/choose_spec.rb +118 -0
- data/test/webrat/spec/public/click_area_spec.rb +106 -0
- data/test/webrat/spec/public/click_button_spec.rb +502 -0
- data/test/webrat/spec/public/click_link_spec.rb +469 -0
- data/test/webrat/spec/public/fill_in_spec.rb +209 -0
- data/test/webrat/spec/public/locators/field_by_xpath_spec.rb +19 -0
- data/test/webrat/spec/public/locators/field_labeled_spec.rb +157 -0
- data/test/webrat/spec/public/locators/field_with_id_spec.rb +16 -0
- data/test/webrat/spec/public/matchers_spec.rb +321 -0
- data/test/webrat/spec/public/reload_spec.rb +10 -0
- data/test/webrat/spec/public/save_and_open_spec.rb +51 -0
- data/test/webrat/spec/public/select_date_spec.rb +88 -0
- data/test/webrat/spec/public/select_datetime_spec.rb +106 -0
- data/test/webrat/spec/public/select_spec.rb +246 -0
- data/test/webrat/spec/public/select_time_spec.rb +79 -0
- data/test/webrat/spec/public/set_hidden_field_spec.rb +5 -0
- data/test/webrat/spec/public/submit_form_spec.rb +5 -0
- data/test/webrat/spec/public/visit_spec.rb +67 -0
- data/test/webrat/spec/public/within_spec.rb +177 -0
- data/test/webrat/spec/rcov.opts +1 -0
- data/test/webrat/spec/spec.opts +2 -0
- data/test/webrat/spec/spec_helper.rb +50 -0
- data/test/webrat/vendor/selenium-server.jar +0 -0
- data/test/with-sugar/lib/with-sugar.rb +6 -0
- data/test/with-sugar/lib/with-sugar/caching.rb +41 -0
- data/test/with-sugar/lib/with-sugar/controller.rb +110 -0
- data/test/with-sugar/lib/with-sugar/core.rb +7 -0
- data/test/with-sugar/lib/with-sugar/model.rb +151 -0
- data/test/with-sugar/lib/with-sugar/routing.rb +30 -0
- data/test/with-sugar/lib/with-sugar/view.rb +65 -0
- data/test/with-sugar/test/helper.rb +19 -0
- data/test/with-sugar/test/view_test.rb +12 -0
- data/test/with/README.textile +136 -0
- data/test/with/demo.rb +158 -0
- data/test/with/lib/with.rb +81 -0
- data/test/with/lib/with/call.rb +40 -0
- data/test/with/lib/with/context.rb +95 -0
- data/test/with/lib/with/implementation.rb +18 -0
- data/test/with/lib/with/node.rb +65 -0
- data/test/with/lib/with/sharing.rb +29 -0
- data/test/with/test/all.rb +1 -0
- data/test/with/test/context_calls_test.rb +56 -0
- data/test/with/test/context_compile_test.rb +106 -0
- data/test/with/test/context_structure_test.rb +142 -0
- data/test/with/test/demo_test.rb +63 -0
- data/test/with/test/helper.rb +68 -0
- metadata +2179 -0
@@ -0,0 +1,72 @@
|
|
1
|
+
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
2
|
+
<!---
|
3
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
4
|
+
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
5
|
+
*
|
6
|
+
* == BEGIN LICENSE ==
|
7
|
+
*
|
8
|
+
* Licensed under the terms of any of the following licenses at your
|
9
|
+
* choice:
|
10
|
+
*
|
11
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
12
|
+
* http://www.gnu.org/licenses/gpl.html
|
13
|
+
*
|
14
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
15
|
+
* http://www.gnu.org/licenses/lgpl.html
|
16
|
+
*
|
17
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
18
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
19
|
+
*
|
20
|
+
* == END LICENSE ==
|
21
|
+
*
|
22
|
+
* File Browser connector for ColdFusion (MX 6.0 and above).
|
23
|
+
* (based on the original CF connector by Hendrik Kramer - hk@lwd.de)
|
24
|
+
--->
|
25
|
+
|
26
|
+
<cfparam name="url.type" default="File">
|
27
|
+
<cfparam name="url.currentFolder" default="/">
|
28
|
+
|
29
|
+
<!--- note: no serverPath url parameter - see config.cfm if you need to set the serverPath manually --->
|
30
|
+
|
31
|
+
<cfinclude template="config.cfm">
|
32
|
+
<cfinclude template="cf_util.cfm">
|
33
|
+
<cfinclude template="cf_io.cfm">
|
34
|
+
<cfinclude template="cf_commands.cfm">
|
35
|
+
|
36
|
+
<cffunction name="SendError" returntype="void" output="true">
|
37
|
+
<cfargument name="number" required="true" type="Numeric">
|
38
|
+
<cfargument name="text" required="true">
|
39
|
+
<cfreturn SendUploadResults( "#ARGUMENTS.number#", "", "", "ARGUMENTS.text" )>
|
40
|
+
</cffunction>
|
41
|
+
|
42
|
+
<cfset REQUEST.Config = Config>
|
43
|
+
<cfif find( "/", getBaseTemplatePath() ) >
|
44
|
+
<cfset REQUEST.Fs = "/">
|
45
|
+
<cfelse>
|
46
|
+
<cfset REQUEST.Fs = "\">
|
47
|
+
</cfif>
|
48
|
+
|
49
|
+
<cfif not Config.Enabled>
|
50
|
+
<cfset SendUploadResults( '1', '', '', 'This file uploader is disabled. Please check the "editor/filemanager/connectors/cfm/config.cfm" file' )>
|
51
|
+
</cfif>
|
52
|
+
|
53
|
+
<cfset sCommand = 'QuickUpload'>
|
54
|
+
<cfset sType = "File">
|
55
|
+
|
56
|
+
<cfif isDefined( "URL.Type" )>
|
57
|
+
<cfset sType = URL.Type>
|
58
|
+
</cfif>
|
59
|
+
|
60
|
+
<cfset sCurrentFolder = GetCurrentFolder()>
|
61
|
+
|
62
|
+
<!--- Is enabled the upload? --->
|
63
|
+
<cfif not IsAllowedCommand( sCommand )>
|
64
|
+
<cfset SendUploadResults( "1", "", "", "The """ & sCommand & """ command isn't allowed" )>
|
65
|
+
</cfif>
|
66
|
+
|
67
|
+
<!--- Check if it is an allowed type. --->
|
68
|
+
<cfif not IsAllowedType( sType )>
|
69
|
+
<cfset SendUploadResults( "1", "", "", "Invalid type specified" ) >
|
70
|
+
</cfif>
|
71
|
+
|
72
|
+
<cfset FileUpload( sType, sCurrentFolder, sCommand )>
|
@@ -0,0 +1,131 @@
|
|
1
|
+
<cfsetting enablecfoutputonly="Yes">
|
2
|
+
<!---
|
3
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
4
|
+
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
5
|
+
*
|
6
|
+
* == BEGIN LICENSE ==
|
7
|
+
*
|
8
|
+
* Licensed under the terms of any of the following licenses at your
|
9
|
+
* choice:
|
10
|
+
*
|
11
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
12
|
+
* http://www.gnu.org/licenses/gpl.html
|
13
|
+
*
|
14
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
15
|
+
* http://www.gnu.org/licenses/lgpl.html
|
16
|
+
*
|
17
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
18
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
19
|
+
*
|
20
|
+
* == END LICENSE ==
|
21
|
+
*
|
22
|
+
* This file include generic functions used by the ColdFusion Connector (MX 6.0 and above).
|
23
|
+
--->
|
24
|
+
|
25
|
+
<cffunction name="RemoveFromStart" output="false" returntype="String">
|
26
|
+
<cfargument name="sourceString" type="String">
|
27
|
+
<cfargument name="charToRemove" type="String">
|
28
|
+
|
29
|
+
<cfif left(ARGUMENTS.sourceString, 1) eq ARGUMENTS.charToRemove>
|
30
|
+
<cfreturn mid( ARGUMENTS.sourceString, 2, len(ARGUMENTS.sourceString) -1 )>
|
31
|
+
</cfif>
|
32
|
+
|
33
|
+
<cfreturn ARGUMENTS.sourceString>
|
34
|
+
</cffunction>
|
35
|
+
|
36
|
+
<cffunction name="RemoveFromEnd" output="false" returntype="String">
|
37
|
+
<cfargument name="sourceString" type="String">
|
38
|
+
<cfargument name="charToRemove" type="String">
|
39
|
+
|
40
|
+
<cfif right(ARGUMENTS.sourceString, 1) eq ARGUMENTS.charToRemove>
|
41
|
+
<cfreturn mid( ARGUMENTS.sourceString, 1, len(ARGUMENTS.sourceString) -1 )>
|
42
|
+
</cfif>
|
43
|
+
|
44
|
+
<cfreturn ARGUMENTS.sourceString>
|
45
|
+
</cffunction>
|
46
|
+
|
47
|
+
<!---
|
48
|
+
Check file content.
|
49
|
+
Currently this function validates only image files.
|
50
|
+
Returns false if file is invalid.
|
51
|
+
detectionLevel:
|
52
|
+
0 = none
|
53
|
+
1 = check image size for images,
|
54
|
+
2 = use DetectHtml for images
|
55
|
+
---->
|
56
|
+
<cffunction name="IsImageValid" returntype="boolean" output="true">
|
57
|
+
<cfargument name="filePath" required="true" type="String">
|
58
|
+
<cfargument name="extension" required="true" type="String">
|
59
|
+
|
60
|
+
<cfset var imageCFC = "">
|
61
|
+
<cfset var imageInfo = "">
|
62
|
+
|
63
|
+
<cfif not ListFindNoCase("gif,jpeg,jpg,png,swf,psd,bmp,iff,tiff,tif,swc,jpc,jp2,jpx,jb2,xmb,wbmp", ARGUMENTS.extension)>
|
64
|
+
<cfreturn true>
|
65
|
+
</cfif>
|
66
|
+
|
67
|
+
<cftry>
|
68
|
+
<cfif REQUEST.CFVersion gte 8>
|
69
|
+
<cfset objImage = ImageRead(ARGUMENTS.filePath) >
|
70
|
+
<cfset imageInfo = ImageInfo(objImage)>
|
71
|
+
<!--- <cfimage action="info" source="#ARGUMENTS.filePath#" structName="imageInfo" /> --->
|
72
|
+
<cfelse>
|
73
|
+
<cfset imageCFC = createObject("component", "image")>
|
74
|
+
<cfset imageInfo = imageCFC.getImageInfo("", ARGUMENTS.filePath)>
|
75
|
+
</cfif>
|
76
|
+
|
77
|
+
<cfif imageInfo.height lte 0 or imageInfo.width lte 0>
|
78
|
+
<cfreturn false>
|
79
|
+
</cfif>
|
80
|
+
<cfcatch type="any">
|
81
|
+
<cfreturn false>
|
82
|
+
</cfcatch>
|
83
|
+
</cftry>
|
84
|
+
|
85
|
+
<cfreturn true>
|
86
|
+
</cffunction>
|
87
|
+
|
88
|
+
<!---
|
89
|
+
Detect HTML in the first KB to prevent against potential security issue with
|
90
|
+
IE/Safari/Opera file type auto detection bug.
|
91
|
+
Returns true if file contain insecure HTML code at the beginning.
|
92
|
+
--->
|
93
|
+
<cffunction name="DetectHtml" output="false" returntype="boolean">
|
94
|
+
<cfargument name="filePath" required="true" type="String">
|
95
|
+
|
96
|
+
<cfset var tags = "<body,<head,<html,<img,<pre,<script,<table,<title">
|
97
|
+
<cfset var chunk = lcase( Trim( BinaryFileRead( ARGUMENTS.filePath, 1024 ) ) )>
|
98
|
+
|
99
|
+
<cfif not Len(chunk)>
|
100
|
+
<cfreturn false>
|
101
|
+
</cfif>
|
102
|
+
|
103
|
+
<cfif refind('<!doctype\W*x?html', chunk)>
|
104
|
+
<cfreturn true>
|
105
|
+
</cfif>
|
106
|
+
|
107
|
+
<cfloop index = "tag" list = "#tags#">
|
108
|
+
<cfif find( tag, chunk )>
|
109
|
+
<cfreturn true>
|
110
|
+
</cfif>
|
111
|
+
</cfloop>
|
112
|
+
|
113
|
+
<!--- type = javascript --->
|
114
|
+
<cfif refind('type\s*=\s*[''"]?\s*(?:\w*/)?(?:ecma|java)', chunk)>
|
115
|
+
<cfreturn true>
|
116
|
+
</cfif> >
|
117
|
+
|
118
|
+
<!--- href = javascript --->
|
119
|
+
<!--- src = javascript --->
|
120
|
+
<!--- data = javascript --->
|
121
|
+
<cfif refind('(?:href|src|data)\s*=\s*[\''"]?\s*(?:ecma|java)script:', chunk)>
|
122
|
+
<cfreturn true>
|
123
|
+
</cfif>
|
124
|
+
|
125
|
+
<!--- url(javascript --->
|
126
|
+
<cfif refind('url\s*\(\s*[\''"]?\s*(?:ecma|java)script:', chunk)>
|
127
|
+
<cfreturn true>
|
128
|
+
</cfif>
|
129
|
+
|
130
|
+
<cfreturn false>
|
131
|
+
</cffunction>
|
@@ -0,0 +1,189 @@
|
|
1
|
+
<cfsetting enablecfoutputonly="Yes">
|
2
|
+
<!---
|
3
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
4
|
+
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
5
|
+
*
|
6
|
+
* == BEGIN LICENSE ==
|
7
|
+
*
|
8
|
+
* Licensed under the terms of any of the following licenses at your
|
9
|
+
* choice:
|
10
|
+
*
|
11
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
12
|
+
* http://www.gnu.org/licenses/gpl.html
|
13
|
+
*
|
14
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
15
|
+
* http://www.gnu.org/licenses/lgpl.html
|
16
|
+
*
|
17
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
18
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
19
|
+
*
|
20
|
+
* == END LICENSE ==
|
21
|
+
*
|
22
|
+
* Configuration file for the ColdFusion Connector (all versions).
|
23
|
+
--->
|
24
|
+
|
25
|
+
<cfscript>
|
26
|
+
Config = StructNew() ;
|
27
|
+
|
28
|
+
// SECURITY: You must explicitly enable this "connector". (Set enabled to "true")
|
29
|
+
Config.Enabled = false ;
|
30
|
+
|
31
|
+
|
32
|
+
// Path to uploaded files relative to the document root.
|
33
|
+
Config.UserFilesPath = "/userfiles/" ;
|
34
|
+
|
35
|
+
// Use this to force the server path if FCKeditor is not running directly off
|
36
|
+
// the root of the application or the FCKeditor directory in the URL is a virtual directory
|
37
|
+
// or a symbolic link / junction
|
38
|
+
// Example: C:\inetpub\wwwroot\myDocs\
|
39
|
+
Config.ServerPath = "" ;
|
40
|
+
|
41
|
+
// Due to security issues with Apache modules, it is recommended to leave the
|
42
|
+
// following setting enabled.
|
43
|
+
Config.ForceSingleExtension = true ;
|
44
|
+
|
45
|
+
// Perform additional checks for image files - if set to true, validate image size
|
46
|
+
// (This feature works in MX 6.0 and above)
|
47
|
+
Config.SecureImageUploads = true;
|
48
|
+
|
49
|
+
// What the user can do with this connector
|
50
|
+
Config.ConfigAllowedCommands = "QuickUpload,FileUpload,GetFolders,GetFoldersAndFiles,CreateFolder" ;
|
51
|
+
|
52
|
+
//Allowed Resource Types
|
53
|
+
Config.ConfigAllowedTypes = "File,Image,Flash,Media" ;
|
54
|
+
|
55
|
+
// For security, HTML is allowed in the first Kb of data for files having the
|
56
|
+
// following extensions only.
|
57
|
+
// (This feature works in MX 6.0 and above))
|
58
|
+
Config.HtmlExtensions = "html,htm,xml,xsd,txt,js" ;
|
59
|
+
|
60
|
+
//Due to known issues with GetTempDirectory function, it is
|
61
|
+
//recommended to set this vairiable to a valid directory
|
62
|
+
//instead of using the GetTempDirectory function
|
63
|
+
//(used by MX 6.0 and above)
|
64
|
+
Config.TempDirectory = GetTempDirectory();
|
65
|
+
|
66
|
+
// Configuration settings for each Resource Type
|
67
|
+
//
|
68
|
+
// - AllowedExtensions: the possible extensions that can be allowed.
|
69
|
+
// If it is empty then any file type can be uploaded.
|
70
|
+
// - DeniedExtensions: The extensions that won't be allowed.
|
71
|
+
// If it is empty then no restrictions are done here.
|
72
|
+
//
|
73
|
+
// For a file to be uploaded it has to fulfill both the AllowedExtensions
|
74
|
+
// and DeniedExtensions (that's it: not being denied) conditions.
|
75
|
+
//
|
76
|
+
// - FileTypesPath: the virtual folder relative to the document root where
|
77
|
+
// these resources will be located.
|
78
|
+
// Attention: It must start and end with a slash: '/'
|
79
|
+
//
|
80
|
+
// - FileTypesAbsolutePath: the physical path to the above folder. It must be
|
81
|
+
// an absolute path.
|
82
|
+
// If it's an empty string then it will be autocalculated.
|
83
|
+
// Usefull if you are using a virtual directory, symbolic link or alias.
|
84
|
+
// Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
|
85
|
+
// Attention: The above 'FileTypesPath' must point to the same directory.
|
86
|
+
// Attention: It must end with a slash: '/'
|
87
|
+
//
|
88
|
+
//
|
89
|
+
// - QuickUploadPath: the virtual folder relative to the document root where
|
90
|
+
// these resources will be uploaded using the Upload tab in the resources
|
91
|
+
// dialogs.
|
92
|
+
// Attention: It must start and end with a slash: '/'
|
93
|
+
//
|
94
|
+
// - QuickUploadAbsolutePath: the physical path to the above folder. It must be
|
95
|
+
// an absolute path.
|
96
|
+
// If it's an empty string then it will be autocalculated.
|
97
|
+
// Usefull if you are using a virtual directory, symbolic link or alias.
|
98
|
+
// Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
|
99
|
+
// Attention: The above 'QuickUploadPath' must point to the same directory.
|
100
|
+
// Attention: It must end with a slash: '/'
|
101
|
+
|
102
|
+
Config.AllowedExtensions = StructNew() ;
|
103
|
+
Config.DeniedExtensions = StructNew() ;
|
104
|
+
Config.FileTypesPath = StructNew() ;
|
105
|
+
Config.FileTypesAbsolutePath = StructNew() ;
|
106
|
+
Config.QuickUploadPath = StructNew() ;
|
107
|
+
Config.QuickUploadAbsolutePath = StructNew() ;
|
108
|
+
|
109
|
+
Config.AllowedExtensions["File"] = "7z,aiff,asf,avi,bmp,csv,doc,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xml,zip" ;
|
110
|
+
Config.DeniedExtensions["File"] = "" ;
|
111
|
+
Config.FileTypesPath["File"] = Config.UserFilesPath & 'file/' ;
|
112
|
+
Config.FileTypesAbsolutePath["File"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'file/') ) ;
|
113
|
+
Config.QuickUploadPath["File"] = Config.FileTypesPath["File"] ;
|
114
|
+
Config.QuickUploadAbsolutePath["File"] = Config.FileTypesAbsolutePath["File"] ;
|
115
|
+
|
116
|
+
Config.AllowedExtensions["Image"] = "bmp,gif,jpeg,jpg,png" ;
|
117
|
+
Config.DeniedExtensions["Image"] = "" ;
|
118
|
+
Config.FileTypesPath["Image"] = Config.UserFilesPath & 'image/' ;
|
119
|
+
Config.FileTypesAbsolutePath["Image"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'image/') ) ;
|
120
|
+
Config.QuickUploadPath["Image"] = Config.FileTypesPath["Image"] ;
|
121
|
+
Config.QuickUploadAbsolutePath["Image"] = Config.FileTypesAbsolutePath["Image"] ;
|
122
|
+
|
123
|
+
Config.AllowedExtensions["Flash"] = "swf,flv" ;
|
124
|
+
Config.DeniedExtensions["Flash"] = "" ;
|
125
|
+
Config.FileTypesPath["Flash"] = Config.UserFilesPath & 'flash/' ;
|
126
|
+
Config.FileTypesAbsolutePath["Flash"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'flash/') ) ;
|
127
|
+
Config.QuickUploadPath["Flash"] = Config.FileTypesPath["Flash"] ;
|
128
|
+
Config.QuickUploadAbsolutePath["Flash"] = Config.FileTypesAbsolutePath["Flash"] ;
|
129
|
+
|
130
|
+
Config.AllowedExtensions["Media"] = "aiff,asf,avi,bmp,fla,flv,gif,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,png,qt,ram,rm,rmi,rmvb,swf,tif,tiff,wav,wma,wmv" ;
|
131
|
+
Config.DeniedExtensions["Media"] = "" ;
|
132
|
+
Config.FileTypesPath["Media"] = Config.UserFilesPath & 'media/' ;
|
133
|
+
Config.FileTypesAbsolutePath["Media"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'media/') ) ;
|
134
|
+
Config.QuickUploadPath["Media"] = Config.FileTypesPath["Media"] ;
|
135
|
+
Config.QuickUploadAbsolutePath["Media"] = Config.FileTypesAbsolutePath["Media"] ;
|
136
|
+
</cfscript>
|
137
|
+
|
138
|
+
<cftry>
|
139
|
+
<!--- code to maintain backwards compatibility with previous version of cfm connector --->
|
140
|
+
<cfif isDefined("application.userFilesPath")>
|
141
|
+
|
142
|
+
<cflock scope="application" type="readonly" timeout="5">
|
143
|
+
<cfset config.userFilesPath = application.userFilesPath>
|
144
|
+
</cflock>
|
145
|
+
|
146
|
+
<cfelseif isDefined("server.userFilesPath")>
|
147
|
+
|
148
|
+
<cflock scope="server" type="readonly" timeout="5">
|
149
|
+
<cfset config.userFilesPath = server.userFilesPath>
|
150
|
+
</cflock>
|
151
|
+
|
152
|
+
</cfif>
|
153
|
+
|
154
|
+
<!--- look for config struct in application and server scopes --->
|
155
|
+
<cfif isDefined("application.FCKeditor") and isStruct(application.FCKeditor)>
|
156
|
+
|
157
|
+
<cflock scope="application" type="readonly" timeout="5">
|
158
|
+
<cfset variables.FCKeditor = duplicate(application.FCKeditor)>
|
159
|
+
</cflock>
|
160
|
+
|
161
|
+
<cfelseif isDefined("server.FCKeditor") and isStruct(server.FCKeditor)>
|
162
|
+
|
163
|
+
<cflock scope="server" type="readonly" timeout="5">
|
164
|
+
<cfset variables.FCKeditor = duplicate(server.FCKeditor)>
|
165
|
+
</cflock>
|
166
|
+
|
167
|
+
</cfif>
|
168
|
+
<!--- catch potential "The requested scope application has not been enabled" exception --->
|
169
|
+
<cfcatch type="any">
|
170
|
+
</cfcatch>
|
171
|
+
</cftry>
|
172
|
+
|
173
|
+
<cfif isDefined("FCKeditor")>
|
174
|
+
|
175
|
+
<!--- copy key values from external to local config (i.e. override default config as required) --->
|
176
|
+
<cfscript>
|
177
|
+
function structCopyKeys(stFrom, stTo) {
|
178
|
+
for ( key in stFrom ) {
|
179
|
+
if ( isStruct(stFrom[key]) ) {
|
180
|
+
structCopyKeys(stFrom[key],stTo[key]);
|
181
|
+
} else {
|
182
|
+
stTo[key] = stFrom[key];
|
183
|
+
}
|
184
|
+
}
|
185
|
+
}
|
186
|
+
structCopyKeys(FCKeditor, config);
|
187
|
+
</cfscript>
|
188
|
+
|
189
|
+
</cfif>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<cfsetting enablecfoutputonly="Yes">
|
2
|
+
<!---
|
3
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
4
|
+
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
5
|
+
*
|
6
|
+
* == BEGIN LICENSE ==
|
7
|
+
*
|
8
|
+
* Licensed under the terms of any of the following licenses at your
|
9
|
+
* choice:
|
10
|
+
*
|
11
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
12
|
+
* http://www.gnu.org/licenses/gpl.html
|
13
|
+
*
|
14
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
15
|
+
* http://www.gnu.org/licenses/lgpl.html
|
16
|
+
*
|
17
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
18
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
19
|
+
*
|
20
|
+
* == END LICENSE ==
|
21
|
+
*
|
22
|
+
* File Browser connector for ColdFusion (all versions).
|
23
|
+
*
|
24
|
+
--->
|
25
|
+
|
26
|
+
<cfset REQUEST.CFVersion = Left( SERVER.COLDFUSION.PRODUCTVERSION, Find( ",", SERVER.COLDFUSION.PRODUCTVERSION ) - 1 )>
|
27
|
+
<cfif REQUEST.CFVersion lte 5>
|
28
|
+
<cfinclude template="cf5_connector.cfm">
|
29
|
+
<cfelse>
|
30
|
+
<cfinclude template="cf_connector.cfm">
|
31
|
+
</cfif>
|
32
|
+
<cfabort>
|
@@ -0,0 +1,1324 @@
|
|
1
|
+
<!---
|
2
|
+
image.cfc v2.19, written by Rick Root (rick@webworksllc.com)
|
3
|
+
Derivative of work originally done originally by James Dew.
|
4
|
+
|
5
|
+
Related Web Sites:
|
6
|
+
- http://www.opensourcecf.com/imagecfc (home page)
|
7
|
+
- http://www.cfopen.org/projects/imagecfc (project page)
|
8
|
+
|
9
|
+
LICENSE
|
10
|
+
-------
|
11
|
+
Copyright (c) 2007, Rick Root <rick@webworksllc.com>
|
12
|
+
All rights reserved.
|
13
|
+
|
14
|
+
Redistribution and use in source and binary forms, with or
|
15
|
+
without modification, are permitted provided that the
|
16
|
+
following conditions are met:
|
17
|
+
|
18
|
+
- Redistributions of source code must retain the above
|
19
|
+
copyright notice, this list of conditions and the
|
20
|
+
following disclaimer.
|
21
|
+
- Redistributions in binary form must reproduce the above
|
22
|
+
copyright notice, this list of conditions and the
|
23
|
+
following disclaimer in the documentation and/or other
|
24
|
+
materials provided with the distribution.
|
25
|
+
- Neither the name of the Webworks, LLC. nor the names of
|
26
|
+
its contributors may be used to endorse or promote products
|
27
|
+
derived from this software without specific prior written
|
28
|
+
permission.
|
29
|
+
|
30
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
31
|
+
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
32
|
+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
33
|
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
34
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
35
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
36
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
37
|
+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
38
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
39
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
40
|
+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
41
|
+
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
42
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
43
|
+
|
44
|
+
============================================================
|
45
|
+
This is a derivative work. Following is the original
|
46
|
+
Copyright notice.
|
47
|
+
============================================================
|
48
|
+
|
49
|
+
Copyright (c) 2004 James F. Dew <jdew@yggdrasil.ca>
|
50
|
+
|
51
|
+
Permission to use, copy, modify, and distribute this software for any
|
52
|
+
purpose with or without fee is hereby granted, provided that the above
|
53
|
+
copyright notice and this permission notice appear in all copies.
|
54
|
+
|
55
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
56
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
57
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
58
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
59
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
60
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
61
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
62
|
+
--->
|
63
|
+
<!---
|
64
|
+
SPECIAL NOTE FOR HEADLESS SYSTEMS
|
65
|
+
---------------------------------
|
66
|
+
If you get a "cannot connect to X11 server" when running certain
|
67
|
+
parts of this component under Bluedragon (Linux), you must
|
68
|
+
add "-Djava.awt.headless=true" to the java startup line in
|
69
|
+
<bluedragon>/bin/StartBluedragon.sh. This isssue is discussed
|
70
|
+
in the Bluedragon Installation Guide section 3.8.1 for
|
71
|
+
Bluedragon 6.2.1.
|
72
|
+
|
73
|
+
Bluedragon may also report a ClassNotFound exception when trying
|
74
|
+
to instantiate the java.awt.image.BufferedImage class. This is
|
75
|
+
most likely the same issue.
|
76
|
+
|
77
|
+
If you get "This graphics environment can be used only in the
|
78
|
+
software emulation mode" when calling certain parts of this
|
79
|
+
component under Coldfusion MX, you should refer to Technote
|
80
|
+
ID #18747: http://www.macromedia.com/go/tn_18747
|
81
|
+
--->
|
82
|
+
|
83
|
+
<cfcomponent displayname="Image">
|
84
|
+
|
85
|
+
<cfset variables.throwOnError = "Yes">
|
86
|
+
<cfset variables.defaultJpegCompression = "90">
|
87
|
+
<cfset variables.interpolation = "bicubic">
|
88
|
+
<cfset variables.textAntiAliasing = "Yes">
|
89
|
+
<cfset variables.tempDirectory = "#expandPath(".")#">
|
90
|
+
|
91
|
+
<cfset variables.javanulls = "no">
|
92
|
+
<cftry>
|
93
|
+
<cfset nullvalue = javacast("null","")>
|
94
|
+
<cfset variables.javanulls = "yes">
|
95
|
+
<cfcatch type="any">
|
96
|
+
<cfset variables.javanulls = "no">
|
97
|
+
<!--- javacast null not supported, so filters won't work --->
|
98
|
+
</cfcatch>
|
99
|
+
</cftry>
|
100
|
+
<!---
|
101
|
+
<cfif javanulls>
|
102
|
+
<cfset variables.blurFilter = createObject("component","blurFilter")>
|
103
|
+
<cfset variables.sharpenFilter = createObject("component","sharpenFilter")>
|
104
|
+
<cfset variables.posterizeFilter = createObject("component","posterizeFilter")>
|
105
|
+
</cfif>
|
106
|
+
--->
|
107
|
+
|
108
|
+
<cfset variables.Math = createobject("java", "java.lang.Math")>
|
109
|
+
<cfset variables.arrObj = createobject("java", "java.lang.reflect.Array")>
|
110
|
+
<cfset variables.floatClass = createobject("java", "java.lang.Float").TYPE>
|
111
|
+
<cfset variables.intClass = createobject("java", "java.lang.Integer").TYPE>
|
112
|
+
<cfset variables.shortClass = createobject("java", "java.lang.Short").TYPE>
|
113
|
+
|
114
|
+
<cffunction name="getImageInfo" access="public" output="true" returntype="struct" hint="Rotate an image (+/-)90, (+/-)180, or (+/-)270 degrees.">
|
115
|
+
<cfargument name="objImage" required="yes" type="Any">
|
116
|
+
<cfargument name="inputFile" required="yes" type="string">
|
117
|
+
|
118
|
+
<cfset var retVal = StructNew()>
|
119
|
+
<cfset var loadImage = StructNew()>
|
120
|
+
<cfset var img = "">
|
121
|
+
|
122
|
+
<cfset retVal.errorCode = 0>
|
123
|
+
<cfset retVal.errorMessage = "">
|
124
|
+
|
125
|
+
<cfif inputFile neq "">
|
126
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
127
|
+
<cfif loadImage.errorCode is 0>
|
128
|
+
<cfset img = loadImage.img>
|
129
|
+
<cfelse>
|
130
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
131
|
+
<cfreturn retVal>
|
132
|
+
</cfif>
|
133
|
+
<cfset retVal.metaData = getImageMetadata(loadImage.inFile)>
|
134
|
+
<cfelse>
|
135
|
+
<cfset img = objImage>
|
136
|
+
<cfset retVal.metadata = getImageMetadata("")>
|
137
|
+
</cfif>
|
138
|
+
<cftry>
|
139
|
+
<cfset retVal.width = img.getWidth()>
|
140
|
+
<cfset retVal.height = img.getHeight()>
|
141
|
+
<cfset retVal.colorModel = img.getColorModel().toString()>
|
142
|
+
<cfset retVal.colorspace = img.getColorModel().getColorSpace().toString()>
|
143
|
+
<cfset retVal.objColorModel = img.getColorModel()>
|
144
|
+
<cfset retVal.objColorspace = img.getColorModel().getColorSpace()>
|
145
|
+
<cfset retVal.sampleModel = img.getSampleModel().toString()>
|
146
|
+
<cfset retVal.imageType = img.getType()>
|
147
|
+
<cfset retVal.misc = img.toString()>
|
148
|
+
<cfset retVal.canModify = true>
|
149
|
+
<cfreturn retVal>
|
150
|
+
<cfcatch type="any">
|
151
|
+
<cfset retVal = throw( "#cfcatch.message#: #cfcatch.detail#")>
|
152
|
+
<cfreturn retVal>
|
153
|
+
</cfcatch>
|
154
|
+
</cftry>
|
155
|
+
</cffunction>
|
156
|
+
|
157
|
+
<cffunction name="getImageMetadata" access="private" output="false" returntype="query">
|
158
|
+
<cfargument name="inFile" required="yes" type="Any"><!--- java.io.File --->
|
159
|
+
|
160
|
+
<cfset var retQry = queryNew("dirName,tagName,tagValue")>
|
161
|
+
<cfset var paths = arrayNew(1)>
|
162
|
+
<cfset var loader = "">
|
163
|
+
<cfset var JpegMetadatareader = "">
|
164
|
+
<cfset var myMetadata = "">
|
165
|
+
<cfset var directories = "">
|
166
|
+
<cfset var currentDirectory = "">
|
167
|
+
<cfset var tags = "">
|
168
|
+
<cfset var currentTag = "">
|
169
|
+
<cfset var tagName = "">
|
170
|
+
|
171
|
+
<cftry>
|
172
|
+
<cfscript>
|
173
|
+
paths = arrayNew(1);
|
174
|
+
paths[1] = expandPath("metadata-extractor-2.3.1.jar");
|
175
|
+
loader = createObject("component", "javaloader.JavaLoader").init(paths);
|
176
|
+
|
177
|
+
//at this stage we only have access to the class, but we don't have an instance
|
178
|
+
JpegMetadataReader = loader.create("com.drew.imaging.jpeg.JpegMetadataReader");
|
179
|
+
|
180
|
+
myMetaData = JpegMetadataReader.readMetadata(inFile);
|
181
|
+
directories = myMetaData.getDirectoryIterator();
|
182
|
+
while (directories.hasNext()) {
|
183
|
+
currentDirectory = directories.next();
|
184
|
+
tags = currentDirectory.getTagIterator();
|
185
|
+
while (tags.hasNext()) {
|
186
|
+
currentTag = tags.next();
|
187
|
+
if (currentTag.getTagName() DOES NOT CONTAIN "Unknown") { //leave out the junk data
|
188
|
+
queryAddRow(retQry);
|
189
|
+
querySetCell(retQry,"dirName",replace(currentTag.getDirectoryName(),' ','_','ALL'));
|
190
|
+
tagName = replace(currentTag.getTagName(),' ','','ALL');
|
191
|
+
tagName = replace(tagName,'/','','ALL');
|
192
|
+
querySetCell(retQry,"tagName",tagName);
|
193
|
+
querySetCell(retQry,"tagValue",currentTag.getDescription());
|
194
|
+
}
|
195
|
+
}
|
196
|
+
}
|
197
|
+
return retQry;
|
198
|
+
</cfscript>
|
199
|
+
<cfcatch type="any">
|
200
|
+
<cfreturn retQry />
|
201
|
+
</cfcatch>
|
202
|
+
</cftry>
|
203
|
+
</cffunction>
|
204
|
+
|
205
|
+
<cffunction name="flipHorizontal" access="public" output="true" returntype="struct" hint="Flip an image horizontally.">
|
206
|
+
<cfargument name="objImage" required="yes" type="Any">
|
207
|
+
<cfargument name="inputFile" required="yes" type="string">
|
208
|
+
<cfargument name="outputFile" required="yes" type="string">
|
209
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
210
|
+
|
211
|
+
<cfreturn flipflop(objImage, inputFile, outputFile, "horizontal", jpegCompression)>
|
212
|
+
</cffunction>
|
213
|
+
|
214
|
+
<cffunction name="flipVertical" access="public" output="true" returntype="struct" hint="Flop an image vertically.">
|
215
|
+
<cfargument name="objImage" required="yes" type="Any">
|
216
|
+
<cfargument name="inputFile" required="yes" type="string">
|
217
|
+
<cfargument name="outputFile" required="yes" type="string">
|
218
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
219
|
+
|
220
|
+
<cfreturn flipflop(objImage, inputFile, outputFile, "vertical", jpegCompression)>
|
221
|
+
</cffunction>
|
222
|
+
|
223
|
+
<cffunction name="scaleWidth" access="public" output="true" returntype="struct" hint="Scale an image to a specific width.">
|
224
|
+
<cfargument name="objImage" required="yes" type="Any">
|
225
|
+
<cfargument name="inputFile" required="yes" type="string">
|
226
|
+
<cfargument name="outputFile" required="yes" type="string">
|
227
|
+
<cfargument name="newWidth" required="yes" type="numeric">
|
228
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
229
|
+
|
230
|
+
<cfreturn resize(objImage, inputFile, outputFile, newWidth, 0, "false", "false", jpegCompression)>
|
231
|
+
</cffunction>
|
232
|
+
|
233
|
+
<cffunction name="scaleHeight" access="public" output="true" returntype="struct" hint="Scale an image to a specific height.">
|
234
|
+
<cfargument name="objImage" required="yes" type="Any">
|
235
|
+
<cfargument name="inputFile" required="yes" type="string">
|
236
|
+
<cfargument name="outputFile" required="yes" type="string">
|
237
|
+
<cfargument name="newHeight" required="yes" type="numeric">
|
238
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
239
|
+
|
240
|
+
<cfreturn resize(objImage, inputFile, outputFile, 0, newHeight, "false", "false", jpegCompression)>
|
241
|
+
</cffunction>
|
242
|
+
|
243
|
+
<cffunction name="resize" access="public" output="true" returntype="struct" hint="Resize an image to a specific width and height.">
|
244
|
+
<cfargument name="objImage" required="yes" type="Any">
|
245
|
+
<cfargument name="inputFile" required="yes" type="string">
|
246
|
+
<cfargument name="outputFile" required="yes" type="string">
|
247
|
+
<cfargument name="newWidth" required="yes" type="numeric">
|
248
|
+
<cfargument name="newHeight" required="yes" type="numeric">
|
249
|
+
<cfargument name="preserveAspect" required="no" type="boolean" default="FALSE">
|
250
|
+
<cfargument name="cropToExact" required="no" type="boolean" default="FALSE">
|
251
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
252
|
+
|
253
|
+
<cfset var retVal = StructNew()>
|
254
|
+
<cfset var loadImage = StructNew()>
|
255
|
+
<cfset var saveImage = StructNew()>
|
256
|
+
<cfset var at = "">
|
257
|
+
<cfset var op = "">
|
258
|
+
<cfset var w = "">
|
259
|
+
<cfset var h = "">
|
260
|
+
<cfset var scale = 1>
|
261
|
+
<cfset var scaleX = 1>
|
262
|
+
<cfset var scaleY = 1>
|
263
|
+
<cfset var resizedImage = "">
|
264
|
+
<cfset var rh = getRenderingHints()>
|
265
|
+
<cfset var specifiedWidth = arguments.newWidth>
|
266
|
+
<cfset var specifiedHeight = arguments.newHeight>
|
267
|
+
<cfset var imgInfo = "">
|
268
|
+
<cfset var img = "">
|
269
|
+
<cfset var cropImageResult = "">
|
270
|
+
<cfset var cropOffsetX = "">
|
271
|
+
<cfset var cropOffsetY = "">
|
272
|
+
|
273
|
+
<cfset retVal.errorCode = 0>
|
274
|
+
<cfset retVal.errorMessage = "">
|
275
|
+
|
276
|
+
<cfif inputFile neq "">
|
277
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
278
|
+
<cfif loadImage.errorCode is 0>
|
279
|
+
<cfset img = loadImage.img>
|
280
|
+
<cfelse>
|
281
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
282
|
+
<cfreturn retVal>
|
283
|
+
</cfif>
|
284
|
+
<cfelse>
|
285
|
+
<cfset img = objImage>
|
286
|
+
</cfif>
|
287
|
+
<cfif img.getType() eq 0>
|
288
|
+
<cfset img = convertImageObject(img,img.TYPE_3BYTE_BGR)>
|
289
|
+
</cfif>
|
290
|
+
<cfscript>
|
291
|
+
resizedImage = CreateObject("java", "java.awt.image.BufferedImage");
|
292
|
+
at = CreateObject("java", "java.awt.geom.AffineTransform");
|
293
|
+
op = CreateObject("java", "java.awt.image.AffineTransformOp");
|
294
|
+
|
295
|
+
w = img.getWidth();
|
296
|
+
h = img.getHeight();
|
297
|
+
|
298
|
+
if (preserveAspect and cropToExact and newHeight gt 0 and newWidth gt 0)
|
299
|
+
{
|
300
|
+
if (w / h gt newWidth / newHeight){
|
301
|
+
newWidth = 0;
|
302
|
+
} else if (w / h lt newWidth / newHeight){
|
303
|
+
newHeight = 0;
|
304
|
+
}
|
305
|
+
} else if (preserveAspect and newHeight gt 0 and newWidth gt 0) {
|
306
|
+
if (w / h gt newWidth / newHeight){
|
307
|
+
newHeight = 0;
|
308
|
+
} else if (w / h lt newWidth / newHeight){
|
309
|
+
newWidth = 0;
|
310
|
+
}
|
311
|
+
}
|
312
|
+
if (newWidth gt 0 and newHeight eq 0) {
|
313
|
+
scale = newWidth / w;
|
314
|
+
w = newWidth;
|
315
|
+
h = round(h*scale);
|
316
|
+
} else if (newHeight gt 0 and newWidth eq 0) {
|
317
|
+
scale = newHeight / h;
|
318
|
+
h = newHeight;
|
319
|
+
w = round(w*scale);
|
320
|
+
} else if (newHeight gt 0 and newWidth gt 0) {
|
321
|
+
w = newWidth;
|
322
|
+
h = newHeight;
|
323
|
+
} else {
|
324
|
+
retVal = throw( retVal.errorMessage);
|
325
|
+
return retVal;
|
326
|
+
}
|
327
|
+
resizedImage.init(javacast("int",w),javacast("int",h),img.getType());
|
328
|
+
|
329
|
+
w = w / img.getWidth();
|
330
|
+
h = h / img.getHeight();
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
op.init(at.getScaleInstance(javacast("double",w),javacast("double",h)), rh);
|
335
|
+
// resizedImage = op.createCompatibleDestImage(img, img.getColorModel());
|
336
|
+
op.filter(img, resizedImage);
|
337
|
+
|
338
|
+
imgInfo = getimageinfo(resizedImage, "");
|
339
|
+
if (imgInfo.errorCode gt 0)
|
340
|
+
{
|
341
|
+
return imgInfo;
|
342
|
+
}
|
343
|
+
|
344
|
+
cropOffsetX = max( Int( (imgInfo.width/2) - (newWidth/2) ), 0 );
|
345
|
+
cropOffsetY = max( Int( (imgInfo.height/2) - (newHeight/2) ), 0 );
|
346
|
+
// There is a chance that the image is exactly the correct
|
347
|
+
// width and height and don't need to be cropped
|
348
|
+
if
|
349
|
+
(
|
350
|
+
preserveAspect and cropToExact
|
351
|
+
and
|
352
|
+
(imgInfo.width IS NOT specifiedWidth OR imgInfo.height IS NOT specifiedHeight)
|
353
|
+
)
|
354
|
+
{
|
355
|
+
// Get the correct offset to get the center of the image
|
356
|
+
cropOffsetX = max( Int( (imgInfo.width/2) - (specifiedWidth/2) ), 0 );
|
357
|
+
cropOffsetY = max( Int( (imgInfo.height/2) - (specifiedHeight/2) ), 0 );
|
358
|
+
|
359
|
+
cropImageResult = crop( resizedImage, "", "", cropOffsetX, cropOffsetY, specifiedWidth, specifiedHeight );
|
360
|
+
if ( cropImageResult.errorCode GT 0)
|
361
|
+
{
|
362
|
+
return cropImageResult;
|
363
|
+
} else {
|
364
|
+
resizedImage = cropImageResult.img;
|
365
|
+
}
|
366
|
+
}
|
367
|
+
if (outputFile eq "")
|
368
|
+
{
|
369
|
+
retVal.img = resizedImage;
|
370
|
+
return retVal;
|
371
|
+
} else {
|
372
|
+
saveImage = writeImage(outputFile, resizedImage, jpegCompression);
|
373
|
+
if (saveImage.errorCode gt 0)
|
374
|
+
{
|
375
|
+
return saveImage;
|
376
|
+
} else {
|
377
|
+
return retVal;
|
378
|
+
}
|
379
|
+
}
|
380
|
+
</cfscript>
|
381
|
+
</cffunction>
|
382
|
+
|
383
|
+
<cffunction name="crop" access="public" output="true" returntype="struct" hint="Crop an image.">
|
384
|
+
<cfargument name="objImage" required="yes" type="Any">
|
385
|
+
<cfargument name="inputFile" required="yes" type="string">
|
386
|
+
<cfargument name="outputFile" required="yes" type="string">
|
387
|
+
<cfargument name="fromX" required="yes" type="numeric">
|
388
|
+
<cfargument name="fromY" required="yes" type="numeric">
|
389
|
+
<cfargument name="newWidth" required="yes" type="numeric">
|
390
|
+
<cfargument name="newHeight" required="yes" type="numeric">
|
391
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
392
|
+
|
393
|
+
<cfset var retVal = StructNew()>
|
394
|
+
<cfset var loadImage = StructNew()>
|
395
|
+
<cfset var saveImage = StructNew()>
|
396
|
+
<cfset var croppedImage = "">
|
397
|
+
<cfset var rh = getRenderingHints()>
|
398
|
+
<cfset var img = "">
|
399
|
+
|
400
|
+
<cfset retVal.errorCode = 0>
|
401
|
+
<cfset retVal.errorMessage = "">
|
402
|
+
|
403
|
+
<cfif inputFile neq "">
|
404
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
405
|
+
<cfif loadImage.errorCode is 0>
|
406
|
+
<cfset img = loadImage.img>
|
407
|
+
<cfelse>
|
408
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
409
|
+
<cfreturn retVal>
|
410
|
+
</cfif>
|
411
|
+
<cfelse>
|
412
|
+
<cfset img = objImage>
|
413
|
+
</cfif>
|
414
|
+
<cfif img.getType() eq 0>
|
415
|
+
<cfset img = convertImageObject(img,img.TYPE_3BYTE_BGR)>
|
416
|
+
</cfif>
|
417
|
+
<cfscript>
|
418
|
+
if (fromX + newWidth gt img.getWidth()
|
419
|
+
OR
|
420
|
+
fromY + newHeight gt img.getHeight()
|
421
|
+
)
|
422
|
+
{
|
423
|
+
retval = throw( "The cropped image dimensions go beyond the original image dimensions.");
|
424
|
+
return retVal;
|
425
|
+
}
|
426
|
+
croppedImage = img.getSubimage(javaCast("int", fromX), javaCast("int", fromY), javaCast("int", newWidth), javaCast("int", newHeight) );
|
427
|
+
if (outputFile eq "")
|
428
|
+
{
|
429
|
+
retVal.img = croppedImage;
|
430
|
+
return retVal;
|
431
|
+
} else {
|
432
|
+
saveImage = writeImage(outputFile, croppedImage, jpegCompression);
|
433
|
+
if (saveImage.errorCode gt 0)
|
434
|
+
{
|
435
|
+
return saveImage;
|
436
|
+
} else {
|
437
|
+
return retVal;
|
438
|
+
}
|
439
|
+
}
|
440
|
+
</cfscript>
|
441
|
+
</cffunction>
|
442
|
+
|
443
|
+
<cffunction name="rotate" access="public" output="true" returntype="struct" hint="Rotate an image (+/-)90, (+/-)180, or (+/-)270 degrees.">
|
444
|
+
<cfargument name="objImage" required="yes" type="Any">
|
445
|
+
<cfargument name="inputFile" required="yes" type="string">
|
446
|
+
<cfargument name="outputFile" required="yes" type="string">
|
447
|
+
<cfargument name="degrees" required="yes" type="numeric">
|
448
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
449
|
+
|
450
|
+
<cfset var retVal = StructNew()>
|
451
|
+
<cfset var img = "">
|
452
|
+
<cfset var loadImage = StructNew()>
|
453
|
+
<cfset var saveImage = StructNew()>
|
454
|
+
<cfset var at = "">
|
455
|
+
<cfset var op = "">
|
456
|
+
<cfset var w = 0>
|
457
|
+
<cfset var h = 0>
|
458
|
+
<cfset var iw = 0>
|
459
|
+
<cfset var ih = 0>
|
460
|
+
<cfset var x = 0>
|
461
|
+
<cfset var y = 0>
|
462
|
+
<cfset var rotatedImage = "">
|
463
|
+
<cfset var rh = getRenderingHints()>
|
464
|
+
|
465
|
+
<cfset retVal.errorCode = 0>
|
466
|
+
<cfset retVal.errorMessage = "">
|
467
|
+
|
468
|
+
<cfif inputFile neq "">
|
469
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
470
|
+
<cfif loadImage.errorCode is 0>
|
471
|
+
<cfset img = loadImage.img>
|
472
|
+
<cfelse>
|
473
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
474
|
+
<cfreturn retVal>
|
475
|
+
</cfif>
|
476
|
+
<cfelse>
|
477
|
+
<cfset img = objImage>
|
478
|
+
</cfif>
|
479
|
+
<cfif img.getType() eq 0>
|
480
|
+
<cfset img = convertImageObject(img,img.TYPE_3BYTE_BGR)>
|
481
|
+
</cfif>
|
482
|
+
<cfif ListFind("-270,-180,-90,90,180,270",degrees) is 0>
|
483
|
+
<cfset retVal = throw( "At this time, image.cfc only supports rotating images in 90 degree increments.")>
|
484
|
+
<cfreturn retVal>
|
485
|
+
</cfif>
|
486
|
+
|
487
|
+
<cfscript>
|
488
|
+
rotatedImage = CreateObject("java", "java.awt.image.BufferedImage");
|
489
|
+
at = CreateObject("java", "java.awt.geom.AffineTransform");
|
490
|
+
op = CreateObject("java", "java.awt.image.AffineTransformOp");
|
491
|
+
|
492
|
+
iw = img.getWidth(); h = iw;
|
493
|
+
ih = img.getHeight(); w = ih;
|
494
|
+
|
495
|
+
if(arguments.degrees eq 180) { w = iw; h = ih; }
|
496
|
+
|
497
|
+
x = (w/2)-(iw/2);
|
498
|
+
y = (h/2)-(ih/2);
|
499
|
+
|
500
|
+
rotatedImage.init(javacast("int",w),javacast("int",h),img.getType());
|
501
|
+
|
502
|
+
at.rotate(arguments.degrees * 0.0174532925,w/2,h/2);
|
503
|
+
at.translate(x,y);
|
504
|
+
op.init(at, rh);
|
505
|
+
|
506
|
+
op.filter(img, rotatedImage);
|
507
|
+
|
508
|
+
if (outputFile eq "")
|
509
|
+
{
|
510
|
+
retVal.img = rotatedImage;
|
511
|
+
return retVal;
|
512
|
+
} else {
|
513
|
+
saveImage = writeImage(outputFile, rotatedImage, jpegCompression);
|
514
|
+
if (saveImage.errorCode gt 0)
|
515
|
+
{
|
516
|
+
return saveImage;
|
517
|
+
} else {
|
518
|
+
return retVal;
|
519
|
+
}
|
520
|
+
}
|
521
|
+
</cfscript>
|
522
|
+
</cffunction>
|
523
|
+
|
524
|
+
<cffunction name="convert" access="public" output="true" returntype="struct" hint="Convert an image from one format to another.">
|
525
|
+
<cfargument name="objImage" required="yes" type="Any">
|
526
|
+
<cfargument name="inputFile" required="yes" type="string">
|
527
|
+
<cfargument name="outputFile" required="yes" type="string">
|
528
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
529
|
+
|
530
|
+
<cfset var retVal = StructNew()>
|
531
|
+
<cfset var loadImage = StructNew()>
|
532
|
+
<cfset var saveImage = StructNew()>
|
533
|
+
<cfset var img = "">
|
534
|
+
|
535
|
+
<cfset retVal.errorCode = 0>
|
536
|
+
<cfset retVal.errorMessage = "">
|
537
|
+
|
538
|
+
<cfif inputFile neq "">
|
539
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
540
|
+
<cfif loadImage.errorCode is 0>
|
541
|
+
<cfset img = loadImage.img>
|
542
|
+
<cfelse>
|
543
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
544
|
+
<cfreturn retVal>
|
545
|
+
</cfif>
|
546
|
+
<cfelse>
|
547
|
+
<cfset img = objImage>
|
548
|
+
</cfif>
|
549
|
+
|
550
|
+
<cfscript>
|
551
|
+
if (outputFile eq "")
|
552
|
+
{
|
553
|
+
retVal = throw( "The convert method requires a valid output filename.");
|
554
|
+
return retVal;
|
555
|
+
} else {
|
556
|
+
saveImage = writeImage(outputFile, img, jpegCompression);
|
557
|
+
if (saveImage.errorCode gt 0)
|
558
|
+
{
|
559
|
+
return saveImage;
|
560
|
+
} else {
|
561
|
+
return retVal;
|
562
|
+
}
|
563
|
+
}
|
564
|
+
</cfscript>
|
565
|
+
</cffunction>
|
566
|
+
|
567
|
+
<cffunction name="setOption" access="public" output="true" returnType="void" hint="Sets values for allowed CFC options.">
|
568
|
+
<cfargument name="key" type="string" required="yes">
|
569
|
+
<cfargument name="val" type="string" required="yes">
|
570
|
+
|
571
|
+
<cfset var validKeys = "interpolation,textantialiasing,throwonerror,defaultJpegCompression">
|
572
|
+
<cfset arguments.key = lcase(trim(arguments.key))>
|
573
|
+
<cfset arguments.val = lcase(trim(arguments.val))>
|
574
|
+
<cfif listFind(validKeys, arguments.key) gt 0>
|
575
|
+
<cfset variables[arguments.key] = arguments.val>
|
576
|
+
</cfif>
|
577
|
+
</cffunction>
|
578
|
+
|
579
|
+
<cffunction name="getOption" access="public" output="true" returnType="any" hint="Returns the current value for the specified CFC option.">
|
580
|
+
<cfargument name="key" type="string" required="yes">
|
581
|
+
|
582
|
+
<cfset var validKeys = "interpolation,textantialiasing,throwonerror,defaultJpegCompression">
|
583
|
+
<cfset arguments.key = lcase(trim(arguments.key))>
|
584
|
+
<cfif listFindNoCase(validKeys, arguments.key) gt 0>
|
585
|
+
<cfreturn variables[arguments.key]>
|
586
|
+
<cfelse>
|
587
|
+
<cfreturn "">
|
588
|
+
</cfif>
|
589
|
+
</cffunction>
|
590
|
+
|
591
|
+
<cffunction name="getRenderingHints" access="private" output="true" returnType="any" hint="Internal method controls various aspects of rendering quality.">
|
592
|
+
<cfset var rh = CreateObject("java","java.awt.RenderingHints")>
|
593
|
+
<cfset var initMap = CreateObject("java","java.util.HashMap")>
|
594
|
+
<cfset initMap.init()>
|
595
|
+
<cfset rh.init(initMap)>
|
596
|
+
<cfset rh.put(rh.KEY_ALPHA_INTERPOLATION, rh.VALUE_ALPHA_INTERPOLATION_QUALITY)> <!--- QUALITY, SPEED, DEFAULT --->
|
597
|
+
<cfset rh.put(rh.KEY_ANTIALIASING, rh.VALUE_ANTIALIAS_ON)> <!--- ON, OFF, DEFAULT --->
|
598
|
+
<cfset rh.put(rh.KEY_COLOR_RENDERING, rh.VALUE_COLOR_RENDER_QUALITY)> <!--- QUALITY, SPEED, DEFAULT --->
|
599
|
+
<cfset rh.put(rh.KEY_DITHERING, rh.VALUE_DITHER_DEFAULT)> <!--- DISABLE, ENABLE, DEFAULT --->
|
600
|
+
<cfset rh.put(rh.KEY_RENDERING, rh.VALUE_RENDER_QUALITY)> <!--- QUALITY, SPEED, DEFAULT --->
|
601
|
+
<cfset rh.put(rh.KEY_FRACTIONALMETRICS, rh.VALUE_FRACTIONALMETRICS_DEFAULT)> <!--- DISABLE, ENABLE, DEFAULT --->
|
602
|
+
<cfset rh.put(rh.KEY_STROKE_CONTROL, rh.VALUE_STROKE_DEFAULT)>
|
603
|
+
|
604
|
+
<cfif variables.textAntiAliasing>
|
605
|
+
<cfset rh.put(rh.KEY_TEXT_ANTIALIASING, rh.VALUE_TEXT_ANTIALIAS_ON)>
|
606
|
+
<cfelse>
|
607
|
+
<cfset rh.put(rh.KEY_TEXT_ANTIALIASING, rh.VALUE_TEXT_ANTIALIAS_OFF)>
|
608
|
+
</cfif>
|
609
|
+
|
610
|
+
<cfif variables.interpolation eq "nearest_neighbor">
|
611
|
+
<cfset rh.put(rh.KEY_INTERPOLATION, rh.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)>
|
612
|
+
<cfelseif variables.interpolation eq "bilinear">
|
613
|
+
<cfset rh.put(rh.KEY_INTERPOLATION, rh.VALUE_INTERPOLATION_BILINEAR)>
|
614
|
+
<cfelse>
|
615
|
+
<cfset rh.put(rh.KEY_INTERPOLATION, rh.VALUE_INTERPOLATION_BICUBIC)>
|
616
|
+
</cfif>
|
617
|
+
|
618
|
+
<cfreturn rh>
|
619
|
+
</cffunction>
|
620
|
+
|
621
|
+
<cffunction name="readImage" access="public" output="true" returntype="struct" hint="Reads an image from a local file. Requires an absolute path.">
|
622
|
+
<cfargument name="source" required="yes" type="string">
|
623
|
+
<cfargument name="forModification" required="no" type="boolean" default="yes">
|
624
|
+
|
625
|
+
<cfif isURL(source)>
|
626
|
+
<cfreturn readImageFromURL(source, forModification)>
|
627
|
+
<cfelse>
|
628
|
+
<cfreturn readImageFromFile(source, forModification)>
|
629
|
+
</cfif>
|
630
|
+
</cffunction>
|
631
|
+
|
632
|
+
<cffunction name="readImageFromFile" access="private" output="true" returntype="struct" hint="Reads an image from a local file. Requires an absolute path.">
|
633
|
+
<cfargument name="inputFile" required="yes" type="string">
|
634
|
+
<cfargument name="forModification" required="no" type="boolean" default="yes">
|
635
|
+
|
636
|
+
<cfset var retVal = StructNew()>
|
637
|
+
<cfset var img = "">
|
638
|
+
<cfset var inFile = "">
|
639
|
+
<cfset var filename = getFileFromPath(inputFile)>
|
640
|
+
<cfset var extension = lcase(listLast(inputFile,"."))>
|
641
|
+
<cfset var imageIO = CreateObject("java", "javax.imageio.ImageIO")>
|
642
|
+
<cfset var validExtensionsToRead = ArrayToList(imageIO.getReaderFormatNames())>
|
643
|
+
|
644
|
+
<cfset retVal.errorCode = 0>
|
645
|
+
<cfset retVal.errorMessage = "">
|
646
|
+
|
647
|
+
<cfif not fileExists(arguments.inputFile)>
|
648
|
+
<cfset retVal = throw("The specified file #Chr(34)##arguments.inputFile##Chr(34)# could not be found.")>
|
649
|
+
<cfreturn retVal>
|
650
|
+
<cfelseif listLen(filename,".") lt 2>
|
651
|
+
<cfset retVal = throw("Sorry, image files without extensions cannot be manipulated.")>
|
652
|
+
<cfreturn retVal>
|
653
|
+
<cfelseif listFindNoCase(validExtensionsToRead, extension) is 0>
|
654
|
+
<cfset retVal = throw("Java is unable to read #extension# files.")>
|
655
|
+
<cfreturn retVal>
|
656
|
+
<cfelseif NOT fileExists(arguments.inputFile)>
|
657
|
+
<cfset retVal = throw("The specified input file does not exist.")>
|
658
|
+
<cfreturn retVal>
|
659
|
+
<cfelse>
|
660
|
+
<cfset img = CreateObject("java", "java.awt.image.BufferedImage")>
|
661
|
+
<cfset inFile = CreateObject("java", "java.io.File")>
|
662
|
+
<cfset inFile.init(arguments.inputFile)>
|
663
|
+
<cfif NOT inFile.canRead()>
|
664
|
+
<cfset retVal = throw("Unable to open source file #Chr(34)##arguments.inputFile##Chr(34)#.")>
|
665
|
+
<cfreturn retVal>
|
666
|
+
<cfelse>
|
667
|
+
<cftry>
|
668
|
+
<cfset img = imageIO.read(inFile)>
|
669
|
+
<cfcatch type="any">
|
670
|
+
<cfset retval = throw("An error occurred attempting to read the specified image. #cfcatch.message# - #cfcatch.detail#")>
|
671
|
+
<cfreturn retVal>
|
672
|
+
</cfcatch>
|
673
|
+
</cftry>
|
674
|
+
<cfset retVal.img = img>
|
675
|
+
<cfset retVal.inFile = inFile>
|
676
|
+
<cfreturn retVal>
|
677
|
+
</cfif>
|
678
|
+
</cfif>
|
679
|
+
</cffunction>
|
680
|
+
|
681
|
+
<cffunction name="readImageFromURL" access="private" output="true" returntype="struct" hint="Read an image from a URL. Requires an absolute URL.">
|
682
|
+
<cfargument name="inputURL" required="yes" type="string">
|
683
|
+
<cfargument name="forModification" required="no" type="boolean" default="yes">
|
684
|
+
|
685
|
+
<cfset var retVal = StructNew()>
|
686
|
+
<cfset var img = CreateObject("java", "java.awt.image.BufferedImage")>
|
687
|
+
<cfset var inURL = CreateObject("java", "java.net.URL")>
|
688
|
+
<cfset var imageIO = CreateObject("java", "javax.imageio.ImageIO")>
|
689
|
+
|
690
|
+
<cfset retVal.errorCode = 0>
|
691
|
+
<cfset retVal.errorMessage = "">
|
692
|
+
|
693
|
+
|
694
|
+
<cfset inURL.init(arguments.inputURL)>
|
695
|
+
<cftry>
|
696
|
+
<cfset img = imageIO.read(inURL)>
|
697
|
+
<cfcatch type="any">
|
698
|
+
<cfset retval = throw("An error occurred attempting to read the specified image. #cfcatch.message# - #cfcatch.detail#")>
|
699
|
+
<cfreturn retVal>
|
700
|
+
</cfcatch>
|
701
|
+
</cftry>
|
702
|
+
<cfset retVal.img = img>
|
703
|
+
<cfreturn retVal>
|
704
|
+
</cffunction>
|
705
|
+
|
706
|
+
<cffunction name="writeImage" access="public" output="true" returntype="struct" hint="Write an image to disk.">
|
707
|
+
<cfargument name="outputFile" required="yes" type="string">
|
708
|
+
<cfargument name="img" required="yes" type="any">
|
709
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
710
|
+
|
711
|
+
<cfset var retVal = StructNew()>
|
712
|
+
<cfset var outFile = "">
|
713
|
+
<cfset var filename = getFileFromPath(outputFile)>
|
714
|
+
<cfset var extension = lcase(listLast(filename,"."))>
|
715
|
+
<cfset var imageIO = CreateObject("java", "javax.imageio.ImageIO")>
|
716
|
+
<cfset var validExtensionsToWrite = ArrayToList(imageIO.getWriterFormatNames())>
|
717
|
+
<!--- used for jpeg output method --->
|
718
|
+
<cfset var out = "">
|
719
|
+
<cfset var fos = "">
|
720
|
+
<cfset var JPEGCodec = "">
|
721
|
+
<cfset var encoder = "">
|
722
|
+
<cfset var param = "">
|
723
|
+
<cfset var quality = javacast("float", jpegCompression/100)>
|
724
|
+
<cfset var tempOutputFile = "#variables.tempDirectory#\#createUUID()#.#extension#">
|
725
|
+
|
726
|
+
<cfset retVal.errorCode = 0>
|
727
|
+
<cfset retVal.errorMessage = "">
|
728
|
+
|
729
|
+
<cfif listFindNoCase(validExtensionsToWrite, extension) eq 0>
|
730
|
+
<cfset throw("Java is unable to write #extension# files. Valid formats include: #validExtensionsToWrite#")>
|
731
|
+
</cfif>
|
732
|
+
|
733
|
+
<cfif extension neq "jpg" and extension neq "jpeg">
|
734
|
+
<!---
|
735
|
+
Simple output method for non jpeg images
|
736
|
+
--->
|
737
|
+
<cfset outFile = CreateObject("java", "java.io.File")>
|
738
|
+
<cfset outFile.init(tempOutputFile)>
|
739
|
+
<cfset imageIO.write(img, extension, outFile)>
|
740
|
+
<cfelse>
|
741
|
+
<cfscript>
|
742
|
+
/*
|
743
|
+
JPEG output method handles compression
|
744
|
+
*/
|
745
|
+
out = createObject("java", "java.io.BufferedOutputStream");
|
746
|
+
fos = createObject("java", "java.io.FileOutputStream");
|
747
|
+
fos.init(tempOutputFile);
|
748
|
+
out.init(fos);
|
749
|
+
JPEGCodec = createObject("java", "com.sun.image.codec.jpeg.JPEGCodec");
|
750
|
+
encoder = JPEGCodec.createJPEGEncoder(out);
|
751
|
+
param = encoder.getDefaultJPEGEncodeParam(img);
|
752
|
+
param.setQuality(quality, false);
|
753
|
+
encoder.setJPEGEncodeParam(param);
|
754
|
+
encoder.encode(img);
|
755
|
+
out.close();
|
756
|
+
</cfscript>
|
757
|
+
</cfif>
|
758
|
+
<!--- move file to its final destination --->
|
759
|
+
<cffile action="MOVE" source="#tempOutputFile#" destination="#arguments.outputFile#">
|
760
|
+
<cfreturn retVal>
|
761
|
+
</cffunction>
|
762
|
+
|
763
|
+
<cffunction name="flipflop" access="private" output="true" returntype="struct" hint="Internal method used for flipping and flopping images.">
|
764
|
+
<cfargument name="objImage" required="yes" type="Any">
|
765
|
+
<cfargument name="inputFile" required="yes" type="string">
|
766
|
+
<cfargument name="outputFile" required="yes" type="string">
|
767
|
+
<cfargument name="direction" required="yes" type="string"><!--- horizontal or vertical --->
|
768
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
769
|
+
|
770
|
+
<cfset var retVal = StructNew()>
|
771
|
+
<cfset var loadImage = StructNew()>
|
772
|
+
<cfset var saveImage = StructNew()>
|
773
|
+
<cfset var flippedImage = "">
|
774
|
+
<cfset var rh = getRenderingHints()>
|
775
|
+
<cfset var img = "">
|
776
|
+
|
777
|
+
<cfset retVal.errorCode = 0>
|
778
|
+
<cfset retVal.errorMessage = "">
|
779
|
+
|
780
|
+
<cfif inputFile neq "">
|
781
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
782
|
+
<cfif loadImage.errorCode is 0>
|
783
|
+
<cfset img = loadImage.img>
|
784
|
+
<cfelse>
|
785
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
786
|
+
<cfreturn retVal>
|
787
|
+
</cfif>
|
788
|
+
<cfelse>
|
789
|
+
<cfset img = objImage>
|
790
|
+
</cfif>
|
791
|
+
<cfif img.getType() eq 0>
|
792
|
+
<cfset img = convertImageObject(img,img.TYPE_3BYTE_BGR)>
|
793
|
+
</cfif>
|
794
|
+
<cfscript>
|
795
|
+
flippedImage = CreateObject("java", "java.awt.image.BufferedImage");
|
796
|
+
at = CreateObject("java", "java.awt.geom.AffineTransform");
|
797
|
+
op = CreateObject("java", "java.awt.image.AffineTransformOp");
|
798
|
+
|
799
|
+
flippedImage.init(img.getWidth(), img.getHeight(), img.getType());
|
800
|
+
|
801
|
+
if (direction eq "horizontal") {
|
802
|
+
at = at.getScaleInstance(-1, 1);
|
803
|
+
at.translate(-img.getWidth(), 0);
|
804
|
+
} else {
|
805
|
+
at = at.getScaleInstance(1,-1);
|
806
|
+
at.translate(0, -img.getHeight());
|
807
|
+
}
|
808
|
+
op.init(at, rh);
|
809
|
+
op.filter(img, flippedImage);
|
810
|
+
|
811
|
+
if (outputFile eq "")
|
812
|
+
{
|
813
|
+
retVal.img = flippedImage;
|
814
|
+
return retVal;
|
815
|
+
} else {
|
816
|
+
saveImage = writeImage(outputFile, flippedImage, jpegCompression);
|
817
|
+
if (saveImage.errorCode gt 0)
|
818
|
+
{
|
819
|
+
return saveImage;
|
820
|
+
} else {
|
821
|
+
return retVal;
|
822
|
+
}
|
823
|
+
}
|
824
|
+
</cfscript>
|
825
|
+
</cffunction>
|
826
|
+
|
827
|
+
|
828
|
+
|
829
|
+
<cffunction name="filterFastBlur" access="public" output="true" returntype="struct" hint="Internal method used for flipping and flopping images.">
|
830
|
+
<cfargument name="objImage" required="yes" type="Any">
|
831
|
+
<cfargument name="inputFile" required="yes" type="string">
|
832
|
+
<cfargument name="outputFile" required="yes" type="string">
|
833
|
+
<cfargument name="blurAmount" required="yes" type="numeric">
|
834
|
+
<cfargument name="iterations" required="yes" type="numeric">
|
835
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
836
|
+
|
837
|
+
<cfset var retVal = StructNew()>
|
838
|
+
<cfset var loadImage = StructNew()>
|
839
|
+
<cfset var saveImage = StructNew()>
|
840
|
+
<cfset var srcImage = "">
|
841
|
+
<cfset var destImage = "">
|
842
|
+
<cfset var rh = getRenderingHints()>
|
843
|
+
|
844
|
+
<cfset retVal.errorCode = 0>
|
845
|
+
<cfset retVal.errorMessage = "">
|
846
|
+
|
847
|
+
<cfif NOT variables.javanulls>
|
848
|
+
<cfset throw("Sorry, but the blur filter is not supported on this platform.")>
|
849
|
+
</cfif>
|
850
|
+
<cfif inputFile neq "">
|
851
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
852
|
+
<cfif loadImage.errorCode is 0>
|
853
|
+
<cfset srcImage = loadImage.img>
|
854
|
+
<cfelse>
|
855
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
856
|
+
<cfreturn retVal>
|
857
|
+
</cfif>
|
858
|
+
<cfelse>
|
859
|
+
<cfset srcImage = objImage>
|
860
|
+
</cfif>
|
861
|
+
<cfif srcImage.getType() eq 0>
|
862
|
+
<cfset srcImage = convertImageObject(srcImage,srcImage.TYPE_3BYTE_BGR)>
|
863
|
+
</cfif>
|
864
|
+
|
865
|
+
<cfscript>
|
866
|
+
|
867
|
+
// initialize the blur filter
|
868
|
+
variables.blurFilter.init(arguments.blurAmount);
|
869
|
+
// move the source image into the destination image
|
870
|
+
// so we can repeatedly blur it.
|
871
|
+
destImage = srcImage;
|
872
|
+
|
873
|
+
for (i=1; i lte iterations; i=i+1)
|
874
|
+
{
|
875
|
+
// do the blur i times
|
876
|
+
destImage = variables.blurFilter.filter(destImage);
|
877
|
+
}
|
878
|
+
|
879
|
+
|
880
|
+
if (outputFile eq "")
|
881
|
+
{
|
882
|
+
// return the image object
|
883
|
+
retVal.img = destImage;
|
884
|
+
return retVal;
|
885
|
+
} else {
|
886
|
+
// write the image object to the specified file.
|
887
|
+
saveImage = writeImage(outputFile, destImage, jpegCompression);
|
888
|
+
if (saveImage.errorCode gt 0)
|
889
|
+
{
|
890
|
+
return saveImage;
|
891
|
+
} else {
|
892
|
+
return retVal;
|
893
|
+
}
|
894
|
+
}
|
895
|
+
</cfscript>
|
896
|
+
</cffunction>
|
897
|
+
|
898
|
+
<cffunction name="filterSharpen" access="public" output="true" returntype="struct" hint="Internal method used for flipping and flopping images.">
|
899
|
+
<cfargument name="objImage" required="yes" type="Any">
|
900
|
+
<cfargument name="inputFile" required="yes" type="string">
|
901
|
+
<cfargument name="outputFile" required="yes" type="string">
|
902
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
903
|
+
|
904
|
+
<cfset var retVal = StructNew()>
|
905
|
+
<cfset var loadImage = StructNew()>
|
906
|
+
<cfset var saveImage = StructNew()>
|
907
|
+
<cfset var srcImage = "">
|
908
|
+
<cfset var destImage = "">
|
909
|
+
<cfset var rh = getRenderingHints()>
|
910
|
+
|
911
|
+
<cfset retVal.errorCode = 0>
|
912
|
+
<cfset retVal.errorMessage = "">
|
913
|
+
|
914
|
+
<cfif NOT variables.javanulls>
|
915
|
+
<cfset throw("Sorry, but the blur filter is not supported on this platform.")>
|
916
|
+
</cfif>
|
917
|
+
|
918
|
+
<cfif inputFile neq "">
|
919
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
920
|
+
<cfif loadImage.errorCode is 0>
|
921
|
+
<cfset srcImage = loadImage.img>
|
922
|
+
<cfelse>
|
923
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
924
|
+
<cfreturn retVal>
|
925
|
+
</cfif>
|
926
|
+
<cfelse>
|
927
|
+
<cfset srcImage = objImage>
|
928
|
+
</cfif>
|
929
|
+
<cfif srcImage.getType() eq 0>
|
930
|
+
<cfset srcImage = convertImageObject(srcImage,srcImage.TYPE_3BYTE_BGR)>
|
931
|
+
</cfif>
|
932
|
+
|
933
|
+
<cfscript>
|
934
|
+
// initialize the sharpen filter
|
935
|
+
variables.sharpenFilter.init();
|
936
|
+
|
937
|
+
destImage = variables.sharpenFilter.filter(srcImage);
|
938
|
+
|
939
|
+
|
940
|
+
if (outputFile eq "")
|
941
|
+
{
|
942
|
+
// return the image object
|
943
|
+
retVal.img = destImage;
|
944
|
+
return retVal;
|
945
|
+
} else {
|
946
|
+
// write the image object to the specified file.
|
947
|
+
saveImage = writeImage(outputFile, destImage, jpegCompression);
|
948
|
+
if (saveImage.errorCode gt 0)
|
949
|
+
{
|
950
|
+
return saveImage;
|
951
|
+
} else {
|
952
|
+
return retVal;
|
953
|
+
}
|
954
|
+
}
|
955
|
+
</cfscript>
|
956
|
+
</cffunction>
|
957
|
+
|
958
|
+
|
959
|
+
<cffunction name="filterPosterize" access="public" output="true" returntype="struct" hint="Internal method used for flipping and flopping images.">
|
960
|
+
<cfargument name="objImage" required="yes" type="Any">
|
961
|
+
<cfargument name="inputFile" required="yes" type="string">
|
962
|
+
<cfargument name="outputFile" required="yes" type="string">
|
963
|
+
<cfargument name="amount" required="yes" type="string">
|
964
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
965
|
+
|
966
|
+
<cfset var retVal = StructNew()>
|
967
|
+
<cfset var loadImage = StructNew()>
|
968
|
+
<cfset var saveImage = StructNew()>
|
969
|
+
<cfset var srcImage = "">
|
970
|
+
<cfset var destImage = "">
|
971
|
+
<cfset var rh = getRenderingHints()>
|
972
|
+
|
973
|
+
<cfset retVal.errorCode = 0>
|
974
|
+
<cfset retVal.errorMessage = "">
|
975
|
+
|
976
|
+
<cfif NOT variables.javanulls>
|
977
|
+
<cfset throw("Sorry, but the blur filter is not supported on this platform.")>
|
978
|
+
</cfif>
|
979
|
+
|
980
|
+
<cfif inputFile neq "">
|
981
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
982
|
+
<cfif loadImage.errorCode is 0>
|
983
|
+
<cfset srcImage = loadImage.img>
|
984
|
+
<cfelse>
|
985
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
986
|
+
<cfreturn retVal>
|
987
|
+
</cfif>
|
988
|
+
<cfelse>
|
989
|
+
<cfset srcImage = objImage>
|
990
|
+
</cfif>
|
991
|
+
<cfif srcImage.getType() eq 0>
|
992
|
+
<cfset srcImage = convertImageObject(srcImage,srcImage.TYPE_3BYTE_BGR)>
|
993
|
+
</cfif>
|
994
|
+
<cfif srcImage.getType() neq 5>
|
995
|
+
<cfset throw("ImageCFC cannot posterize this image type (#srcImage.getType()#)")>
|
996
|
+
</cfif>
|
997
|
+
<cfscript>
|
998
|
+
// initialize the posterize filter
|
999
|
+
variables.posterizeFilter.init(arguments.amount);
|
1000
|
+
|
1001
|
+
destImage = variables.posterizeFilter.filter(srcImage);
|
1002
|
+
|
1003
|
+
|
1004
|
+
if (outputFile eq "")
|
1005
|
+
{
|
1006
|
+
// return the image object
|
1007
|
+
retVal.img = destImage;
|
1008
|
+
return retVal;
|
1009
|
+
} else {
|
1010
|
+
// write the image object to the specified file.
|
1011
|
+
saveImage = writeImage(outputFile, destImage, jpegCompression);
|
1012
|
+
if (saveImage.errorCode gt 0)
|
1013
|
+
{
|
1014
|
+
return saveImage;
|
1015
|
+
} else {
|
1016
|
+
return retVal;
|
1017
|
+
}
|
1018
|
+
}
|
1019
|
+
</cfscript>
|
1020
|
+
</cffunction>
|
1021
|
+
|
1022
|
+
|
1023
|
+
<cffunction name="addText" access="public" output="true" returntype="struct" hint="Add text to an image.">
|
1024
|
+
<cfargument name="objImage" required="yes" type="Any">
|
1025
|
+
<cfargument name="inputFile" required="yes" type="string">
|
1026
|
+
<cfargument name="outputFile" required="yes" type="string">
|
1027
|
+
<cfargument name="x" required="yes" type="numeric">
|
1028
|
+
<cfargument name="y" required="yes" type="numeric">
|
1029
|
+
<cfargument name="fontDetails" required="yes" type="struct">
|
1030
|
+
<cfargument name="content" required="yes" type="String">
|
1031
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
1032
|
+
|
1033
|
+
<cfset var retVal = StructNew()>
|
1034
|
+
<cfset var loadImage = StructNew()>
|
1035
|
+
<cfset var img = "">
|
1036
|
+
<cfset var saveImage = StructNew()>
|
1037
|
+
<cfset var g2d = "">
|
1038
|
+
<cfset var bgImage = "">
|
1039
|
+
<cfset var fontImage = "">
|
1040
|
+
<cfset var overlayImage = "">
|
1041
|
+
<cfset var Color = "">
|
1042
|
+
<cfset var font = "">
|
1043
|
+
<cfset var font_stream = "">
|
1044
|
+
<cfset var ac = "">
|
1045
|
+
<cfset var rgb = "">
|
1046
|
+
|
1047
|
+
<cfset retVal.errorCode = 0>
|
1048
|
+
<cfset retVal.errorMessage = "">
|
1049
|
+
|
1050
|
+
<cfparam name="arguments.fontDetails.size" default="12">
|
1051
|
+
<cfparam name="arguments.fontDetails.color" default="black">
|
1052
|
+
<cfparam name="arguments.fontDetails.fontFile" default="">
|
1053
|
+
<cfparam name="arguments.fontDetails.fontName" default="serif">
|
1054
|
+
|
1055
|
+
<cfif arguments.fontDetails.fontFile neq "" and not fileExists(arguments.fontDetails.fontFile)>
|
1056
|
+
<cfset retVal = throw("The specified font file #Chr(34)##arguments.inputFile##Chr(34)# could not be found on the server.")>
|
1057
|
+
<cfreturn retVal>
|
1058
|
+
</cfif>
|
1059
|
+
<cftry>
|
1060
|
+
<cfset rgb = getRGB(arguments.fontDetails.color)>
|
1061
|
+
<cfcatch type="any">
|
1062
|
+
<cfset retVal = throw("Invalid color #Chr(34)##arguments.fontDetails.color##Chr(34)#")>
|
1063
|
+
<cfreturn retVal>
|
1064
|
+
</cfcatch>
|
1065
|
+
</cftry>
|
1066
|
+
<cfif inputFile neq "">
|
1067
|
+
<cfset loadImage = readImage(inputFile, "NO")>
|
1068
|
+
<cfif loadImage.errorCode is 0>
|
1069
|
+
<cfset img = loadImage.img>
|
1070
|
+
<cfelse>
|
1071
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
1072
|
+
<cfreturn retVal>
|
1073
|
+
</cfif>
|
1074
|
+
<cfelse>
|
1075
|
+
<cfset img = objImage>
|
1076
|
+
</cfif>
|
1077
|
+
<cfif img.getType() eq 0>
|
1078
|
+
<cfset img = convertImageObject(img,img.TYPE_3BYTE_BGR)>
|
1079
|
+
</cfif>
|
1080
|
+
<cfscript>
|
1081
|
+
// load objects
|
1082
|
+
bgImage = CreateObject("java", "java.awt.image.BufferedImage");
|
1083
|
+
fontImage = CreateObject("java", "java.awt.image.BufferedImage");
|
1084
|
+
overlayImage = CreateObject("java", "java.awt.image.BufferedImage");
|
1085
|
+
Color = CreateObject("java","java.awt.Color");
|
1086
|
+
font = createObject("java","java.awt.Font");
|
1087
|
+
font_stream = createObject("java","java.io.FileInputStream");
|
1088
|
+
ac = CreateObject("Java", "java.awt.AlphaComposite");
|
1089
|
+
|
1090
|
+
// set up basic needs
|
1091
|
+
fontColor = Color.init(javacast("int", rgb.red), javacast("int", rgb.green), javacast("int", rgb.blue));
|
1092
|
+
|
1093
|
+
if (fontDetails.fontFile neq "")
|
1094
|
+
{
|
1095
|
+
font_stream.init(arguments.fontDetails.fontFile);
|
1096
|
+
font = font.createFont(font.TRUETYPE_FONT, font_stream);
|
1097
|
+
font = font.deriveFont(javacast("float",arguments.fontDetails.size));
|
1098
|
+
} else {
|
1099
|
+
font.init(fontDetails.fontName, evaluate(fontDetails.style), fontDetails.size);
|
1100
|
+
}
|
1101
|
+
// get font metrics using a 1x1 bufferedImage
|
1102
|
+
fontImage.init(1,1,img.getType());
|
1103
|
+
g2 = fontImage.createGraphics();
|
1104
|
+
g2.setRenderingHints(getRenderingHints());
|
1105
|
+
fc = g2.getFontRenderContext();
|
1106
|
+
bounds = font.getStringBounds(content,fc);
|
1107
|
+
|
1108
|
+
g2 = img.createGraphics();
|
1109
|
+
g2.setRenderingHints(getRenderingHints());
|
1110
|
+
g2.setFont(font);
|
1111
|
+
g2.setColor(fontColor);
|
1112
|
+
// in case you want to change the alpha
|
1113
|
+
// g2.setComposite(ac.getInstance(ac.SRC_OVER, 0.50));
|
1114
|
+
|
1115
|
+
// the location (arguments.fontDetails.size+y) doesn't really work
|
1116
|
+
// the way I want it to.
|
1117
|
+
g2.drawString(content,javacast("int",x),javacast("int",arguments.fontDetails.size+y));
|
1118
|
+
|
1119
|
+
if (outputFile eq "")
|
1120
|
+
{
|
1121
|
+
retVal.img = img;
|
1122
|
+
return retVal;
|
1123
|
+
} else {
|
1124
|
+
saveImage = writeImage(outputFile, img, jpegCompression);
|
1125
|
+
if (saveImage.errorCode gt 0)
|
1126
|
+
{
|
1127
|
+
return saveImage;
|
1128
|
+
} else {
|
1129
|
+
return retVal;
|
1130
|
+
}
|
1131
|
+
}
|
1132
|
+
</cfscript>
|
1133
|
+
</cffunction>
|
1134
|
+
|
1135
|
+
<cffunction name="watermark" access="public" output="false">
|
1136
|
+
<cfargument name="objImage1" required="yes" type="Any">
|
1137
|
+
<cfargument name="objImage2" required="yes" type="Any">
|
1138
|
+
<cfargument name="inputFile1" required="yes" type="string">
|
1139
|
+
<cfargument name="inputFile2" required="yes" type="string">
|
1140
|
+
<cfargument name="alpha" required="yes" type="numeric">
|
1141
|
+
<cfargument name="placeAtX" required="yes" type="numeric">
|
1142
|
+
<cfargument name="placeAtY" required="yes" type="numeric">
|
1143
|
+
<cfargument name="outputFile" required="yes" type="string">
|
1144
|
+
<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">
|
1145
|
+
|
1146
|
+
<cfset var retVal = StructNew()>
|
1147
|
+
<cfset var loadImage = StructNew()>
|
1148
|
+
<cfset var originalImage = "">
|
1149
|
+
<cfset var wmImage = "">
|
1150
|
+
<cfset var saveImage = StructNew()>
|
1151
|
+
<cfset var ac = "">
|
1152
|
+
<cfset var rh = getRenderingHints()>
|
1153
|
+
|
1154
|
+
<cfset retVal.errorCode = 0>
|
1155
|
+
<cfset retVal.errorMessage = "">
|
1156
|
+
|
1157
|
+
<cfif inputFile1 neq "">
|
1158
|
+
<cfset loadImage = readImage(inputFile1, "NO")>
|
1159
|
+
<cfif loadImage.errorCode is 0>
|
1160
|
+
<cfset originalImage = loadImage.img>
|
1161
|
+
<cfelse>
|
1162
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
1163
|
+
<cfreturn retVal>
|
1164
|
+
</cfif>
|
1165
|
+
<cfelse>
|
1166
|
+
<cfset originalImage = objImage1>
|
1167
|
+
</cfif>
|
1168
|
+
<cfif originalImage.getType() eq 0>
|
1169
|
+
<cfset originalImage = convertImageObject(originalImage,originalImage.TYPE_3BYTE_BGR)>
|
1170
|
+
</cfif>
|
1171
|
+
|
1172
|
+
<cfif inputFile2 neq "">
|
1173
|
+
<cfset loadImage = readImage(inputFile2, "NO")>
|
1174
|
+
<cfif loadImage.errorCode is 0>
|
1175
|
+
<cfset wmImage = loadImage.img>
|
1176
|
+
<cfelse>
|
1177
|
+
<cfset retVal = throw(loadImage.errorMessage)>
|
1178
|
+
<cfreturn retVal>
|
1179
|
+
</cfif>
|
1180
|
+
<cfelse>
|
1181
|
+
<cfset wmImage = objImage2>
|
1182
|
+
</cfif>
|
1183
|
+
<cfif wmImage.getType() eq 0>
|
1184
|
+
<cfset wmImage = convertImageObject(wmImage,wmImage.TYPE_3BYTE_BGR)>
|
1185
|
+
</cfif>
|
1186
|
+
|
1187
|
+
|
1188
|
+
<cfscript>
|
1189
|
+
at = CreateObject("java", "java.awt.geom.AffineTransform");
|
1190
|
+
op = CreateObject("java", "java.awt.image.AffineTransformOp");
|
1191
|
+
ac = CreateObject("Java", "java.awt.AlphaComposite");
|
1192
|
+
gfx = originalImage.getGraphics();
|
1193
|
+
gfx.setComposite(ac.getInstance(ac.SRC_OVER, alpha));
|
1194
|
+
|
1195
|
+
at.init();
|
1196
|
+
// op.init(at,op.TYPE_BILINEAR);
|
1197
|
+
op.init(at, rh);
|
1198
|
+
|
1199
|
+
gfx.drawImage(wmImage, op, javaCast("int",arguments.placeAtX), javacast("int", arguments.placeAtY));
|
1200
|
+
|
1201
|
+
gfx.dispose();
|
1202
|
+
|
1203
|
+
if (outputFile eq "")
|
1204
|
+
{
|
1205
|
+
retVal.img = originalImage;
|
1206
|
+
return retVal;
|
1207
|
+
} else {
|
1208
|
+
saveImage = writeImage(outputFile, originalImage, jpegCompression);
|
1209
|
+
if (saveImage.errorCode gt 0)
|
1210
|
+
{
|
1211
|
+
return saveImage;
|
1212
|
+
} else {
|
1213
|
+
return retVal;
|
1214
|
+
}
|
1215
|
+
}
|
1216
|
+
</cfscript>
|
1217
|
+
</cffunction>
|
1218
|
+
|
1219
|
+
<cffunction name="isURL" access="private" output="false" returnType="boolean">
|
1220
|
+
<cfargument name="stringToCheck" required="yes" type="string">
|
1221
|
+
<cfif REFindNoCase("^(((https?:)\/\/))[-[:alnum:]\?%,\.\/&##!@:=\+~_]+[A-Za-z0-9\/]$",stringToCheck) NEQ 0>
|
1222
|
+
<cfreturn true>
|
1223
|
+
<cfelse>
|
1224
|
+
<cfreturn false>
|
1225
|
+
</cfif>
|
1226
|
+
</cffunction>
|
1227
|
+
|
1228
|
+
<!--- function returns RGB values in a structure for hex or the 16
|
1229
|
+
HTML named colors --->
|
1230
|
+
<cffunction name="getRGB" access="private" output="true" returnType="struct">
|
1231
|
+
<cfargument name="color" type="string" required="yes">
|
1232
|
+
|
1233
|
+
<cfset var retVal = structNew()>
|
1234
|
+
<cfset var cnt = 0>
|
1235
|
+
<cfset var namedColors = "aqua,black,blue,fuchsia,gray,green,lime,maroon,navy,olive,purple,red,silver,teal,white,yellow">
|
1236
|
+
<cfset var namedColorsHexValues = "00ffff,000000,0000ff,ff00ff,808080,008000,00ff00,800000,000080,808080,ff0000,c0c0c0,008080,ffffff,ffff00">
|
1237
|
+
|
1238
|
+
<cfset retVal.red = 0>
|
1239
|
+
<cfset retVal.green = 0>
|
1240
|
+
<cfset retVal.blue = 0>
|
1241
|
+
|
1242
|
+
<cfset arguments.color = trim(arguments.color)>
|
1243
|
+
<cfif len(arguments.color) is 0>
|
1244
|
+
<cfreturn retVal>
|
1245
|
+
<cfelseif listFind(namedColors, arguments.color) gt 0>
|
1246
|
+
<cfset arguments.color = listGetAt(namedColorsHexValues, listFind(namedColors, arguments.color))>
|
1247
|
+
</cfif>
|
1248
|
+
<cfif left(arguments.color,1) eq "##">
|
1249
|
+
<cfset arguments.color = right(arguments.color,len(arguments.color)-1)>
|
1250
|
+
</cfif>
|
1251
|
+
<cfif len(arguments.color) neq 6>
|
1252
|
+
<cfreturn retVal>
|
1253
|
+
<cfelse>
|
1254
|
+
<cftry>
|
1255
|
+
<cfset retVal.red = InputBaseN(mid(arguments.color,1,2),16)>
|
1256
|
+
<cfset retVal.green = InputBaseN(mid(arguments.color,3,2),16)>
|
1257
|
+
<cfset retVal.blue = InputBaseN(mid(arguments.color,5,2),16)>
|
1258
|
+
<cfcatch type="any">
|
1259
|
+
<cfset retVal.red = 0>
|
1260
|
+
<cfset retVal.green = 0>
|
1261
|
+
<cfset retVal.blue = 0>
|
1262
|
+
<cfreturn retVal>
|
1263
|
+
</cfcatch>
|
1264
|
+
</cftry>
|
1265
|
+
</cfif>
|
1266
|
+
<cfreturn retVal>
|
1267
|
+
</cffunction>
|
1268
|
+
|
1269
|
+
<cffunction name="throw" access="private" output="false" returnType="struct">
|
1270
|
+
<cfargument name="detail" type="string" required="yes">
|
1271
|
+
<cfargument name="force" type="boolean" required="no" default="no">
|
1272
|
+
|
1273
|
+
<cfset var retVal = StructNew()>
|
1274
|
+
|
1275
|
+
<cfif variables.throwOnError or arguments.force>
|
1276
|
+
<cfthrow detail="#arguments.detail#" message="#arguments.detail#">
|
1277
|
+
<cfelse>
|
1278
|
+
<cfset retVal.errorCode = 1>
|
1279
|
+
<cfset retVal.errorMessage = arguments.detail>
|
1280
|
+
<cfreturn retVal>
|
1281
|
+
</cfif>
|
1282
|
+
</cffunction>
|
1283
|
+
|
1284
|
+
<cffunction name="debugDump" access="private">
|
1285
|
+
<cfdump var="#arguments#"><cfabort>
|
1286
|
+
</cffunction>
|
1287
|
+
|
1288
|
+
<cffunction name="convertImageObject" access="private" output="false" returnType="any">
|
1289
|
+
<cfargument name="bImage" type="Any" required="yes">
|
1290
|
+
<cfargument name="type" type="numeric" required="yes">
|
1291
|
+
|
1292
|
+
<cfscript>
|
1293
|
+
// convert the image to a specified BufferedImage type and return it
|
1294
|
+
|
1295
|
+
var width = bImage.getWidth();
|
1296
|
+
var height = bImage.getHeight();
|
1297
|
+
var newImage = createObject("java","java.awt.image.BufferedImage").init(javacast("int",width), javacast("int",height), javacast("int",type));
|
1298
|
+
// int[] rgbArray = new int[width*height];
|
1299
|
+
var rgbArray = variables.arrObj.newInstance(variables.intClass, javacast("int",width*height));
|
1300
|
+
|
1301
|
+
bImage.getRGB(
|
1302
|
+
javacast("int",0),
|
1303
|
+
javacast("int",0),
|
1304
|
+
javacast("int",width),
|
1305
|
+
javacast("int",height),
|
1306
|
+
rgbArray,
|
1307
|
+
javacast("int",0),
|
1308
|
+
javacast("int",width)
|
1309
|
+
);
|
1310
|
+
newImage.setRGB(
|
1311
|
+
javacast("int",0),
|
1312
|
+
javacast("int",0),
|
1313
|
+
javacast("int",width),
|
1314
|
+
javacast("int",height),
|
1315
|
+
rgbArray,
|
1316
|
+
javacast("int",0),
|
1317
|
+
javacast("int",width)
|
1318
|
+
);
|
1319
|
+
return newImage;
|
1320
|
+
</cfscript>
|
1321
|
+
|
1322
|
+
</cffunction>
|
1323
|
+
|
1324
|
+
</cfcomponent>
|