lockbox_middleware 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/lockbox_middleware.rb +1 -1
- data/spec/lib/lockbox_middleware_spec.rb +2 -2
- data/spec/spec_helper.rb +0 -2
- metadata +36 -756
- data/.gitignore +0 -15
- data/Capfile +0 -4
- data/Gemfile +0 -11
- data/Rakefile +0 -12
- data/VERSION +0 -1
- data/app/controllers/admin/partners_controller.rb +0 -14
- data/app/controllers/admin_controller.rb +0 -8
- data/app/controllers/application_controller.rb +0 -32
- data/app/controllers/authentication_controller.rb +0 -58
- data/app/controllers/confirmation_controller.rb +0 -14
- data/app/controllers/fetch_password_controller.rb +0 -44
- data/app/controllers/home_controller.rb +0 -11
- data/app/controllers/partner_sessions_controller.rb +0 -30
- data/app/controllers/partners_controller.rb +0 -58
- data/app/helpers/admin/partners_helper.rb +0 -3
- data/app/helpers/admin_helper.rb +0 -2
- data/app/helpers/application_helper.rb +0 -20
- data/app/helpers/authentication_helper.rb +0 -2
- data/app/helpers/fetch_password_helper.rb +0 -2
- data/app/helpers/home_helper.rb +0 -2
- data/app/helpers/labeled_builder.rb +0 -76
- data/app/helpers/partners_helper.rb +0 -2
- data/app/models/partner.rb +0 -129
- data/app/models/partner_mailer.rb +0 -25
- data/app/models/partner_session.rb +0 -2
- data/app/views/admin/show.html.erb +0 -6
- data/app/views/authentication/four_two_oh.html.erb +0 -4
- data/app/views/fetch_password/index.html.erb +0 -4
- data/app/views/fetch_password/show.html.erb +0 -6
- data/app/views/home/show.html.erb +0 -20
- data/app/views/layouts/admin.html.erb +0 -42
- data/app/views/layouts/application.html.erb +0 -48
- data/app/views/partner_mailer/confirmation.text.html.erb +0 -30
- data/app/views/partner_mailer/confirmation.text.plain.erb +0 -5
- data/app/views/partner_mailer/fetch_password.text.html.erb +0 -32
- data/app/views/partner_mailer/fetch_password.text.plain.erb +0 -5
- data/app/views/partner_sessions/new.html.erb +0 -9
- data/app/views/partners/_form.html.erb +0 -7
- data/app/views/partners/edit.html.erb +0 -5
- data/app/views/partners/index.html.erb +0 -0
- data/app/views/partners/new.html.erb +0 -6
- data/app/views/partners/show.html.erb +0 -48
- data/app/views/shared/_footer.html.erb +0 -0
- data/app/views/shared/_header.html.erb +0 -3
- data/app/views/shared/_logged_in_menu.html.erb +0 -1
- data/app/views/shared/_logged_out_menu.html.erb +0 -2
- data/config/asset_packages.yml +0 -19
- data/config/boot.rb +0 -110
- data/config/database.yml.example +0 -25
- data/config/environment.rb +0 -56
- data/config/environments/development.rb +0 -22
- data/config/environments/production.rb +0 -30
- data/config/environments/test.rb +0 -35
- data/config/initializers/backtrace_silencers.rb +0 -7
- data/config/initializers/inflections.rb +0 -10
- data/config/initializers/mime_types.rb +0 -7
- data/config/initializers/new_rails_defaults.rb +0 -21
- data/config/initializers/session_store.rb +0 -15
- data/config/initializers/settings.rb +0 -1
- data/config/initializers/string.rb +0 -25
- data/config/locales/en.yml +0 -5
- data/config/lockbox.yml.example +0 -12
- data/config/routes.rb +0 -23
- data/db/migrate/20091104170848_create_partners.rb +0 -34
- data/db/migrate/20091106213802_add_index_on_api_key.rb +0 -9
- data/db/migrate/20100507193948_add_partner_slug.rb +0 -11
- data/db/seeds.rb +0 -7
- data/lib/admin_authentication.rb +0 -9
- data/lib/authentication.rb +0 -48
- data/lib/rfc822.rb +0 -18
- data/lib/tasks/jeweler.rake +0 -14
- data/lib/tasks/rspec.rake +0 -144
- data/public/404.html +0 -30
- data/public/422.html +0 -30
- data/public/500.html +0 -30
- data/public/blank.html +0 -33
- data/public/favicon.ico +0 -0
- data/public/images/active_scaffold/DO_NOT_EDIT +0 -2
- data/public/images/active_scaffold/default/add.gif +0 -0
- data/public/images/active_scaffold/default/arrow_down.gif +0 -0
- data/public/images/active_scaffold/default/arrow_up.gif +0 -0
- data/public/images/active_scaffold/default/close.gif +0 -0
- data/public/images/active_scaffold/default/cross.png +0 -0
- data/public/images/active_scaffold/default/indicator-small.gif +0 -0
- data/public/images/active_scaffold/default/indicator.gif +0 -0
- data/public/images/active_scaffold/default/magnifier.png +0 -0
- data/public/images/rails.png +0 -0
- data/public/javascripts/active_scaffold/DO_NOT_EDIT +0 -2
- data/public/javascripts/active_scaffold/default/active_scaffold.js +0 -434
- data/public/javascripts/active_scaffold/default/dhtml_history.js +0 -867
- data/public/javascripts/active_scaffold/default/form_enhancements.js +0 -117
- data/public/javascripts/active_scaffold/default/rico_corner.js +0 -370
- data/public/javascripts/application.js +0 -2
- data/public/javascripts/controls.js +0 -963
- data/public/javascripts/csshover.htc +0 -120
- data/public/javascripts/dragdrop.js +0 -973
- data/public/javascripts/effects.js +0 -1128
- data/public/javascripts/prototype.js +0 -4320
- data/public/robots.txt +0 -5
- data/public/stylesheets/active_scaffold/DO_NOT_EDIT +0 -2
- data/public/stylesheets/active_scaffold/default/stylesheet-ie.css +0 -35
- data/public/stylesheets/active_scaffold/default/stylesheet.css +0 -822
- data/public/stylesheets/application.css +0 -189
- data/public/stylesheets/ie.css +0 -11
- data/public/stylesheets/reset.css +0 -42
- data/public/stylesheets/screen.css +0 -257
- data/script/about +0 -4
- data/script/autospec +0 -6
- data/script/console +0 -3
- data/script/cucumber +0 -17
- data/script/dbconsole +0 -3
- data/script/destroy +0 -3
- data/script/generate +0 -3
- data/script/performance/benchmarker +0 -3
- data/script/performance/profiler +0 -3
- data/script/plugin +0 -3
- data/script/runner +0 -3
- data/script/server +0 -3
- data/script/spec +0 -10
- data/spec/controllers/admin/partners_controller_spec.rb +0 -55
- data/spec/controllers/admin_controller_spec.rb +0 -29
- data/spec/controllers/application_controller_spec.rb +0 -36
- data/spec/controllers/authentication_controller_spec.rb +0 -120
- data/spec/controllers/confirmation_controller_spec.rb +0 -36
- data/spec/controllers/fetch_password_controller_spec.rb +0 -155
- data/spec/controllers/home_controller_spec.rb +0 -15
- data/spec/controllers/partner_sessions_controller_spec.rb +0 -84
- data/spec/controllers/partners_controller_spec.rb +0 -132
- data/spec/factories/partners.rb +0 -14
- data/spec/models/partner_mailer_spec.rb +0 -47
- data/spec/models/partner_spec.rb +0 -155
- data/spec/rcov.opts +0 -1
- data/vendor/gems/authlogic-2.1.3/.gitignore +0 -9
- data/vendor/gems/authlogic-2.1.3/CHANGELOG.rdoc +0 -345
- data/vendor/gems/authlogic-2.1.3/LICENSE +0 -20
- data/vendor/gems/authlogic-2.1.3/README.rdoc +0 -246
- data/vendor/gems/authlogic-2.1.3/Rakefile +0 -42
- data/vendor/gems/authlogic-2.1.3/VERSION.yml +0 -5
- data/vendor/gems/authlogic-2.1.3/authlogic.gemspec +0 -217
- data/vendor/gems/authlogic-2.1.3/generators/session/session_generator.rb +0 -9
- data/vendor/gems/authlogic-2.1.3/generators/session/templates/session.rb +0 -2
- data/vendor/gems/authlogic-2.1.3/init.rb +0 -1
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/base.rb +0 -107
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/email.rb +0 -110
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/logged_in_status.rb +0 -60
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/login.rb +0 -141
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/magic_columns.rb +0 -24
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/password.rb +0 -344
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/perishable_token.rb +0 -105
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/persistence_token.rb +0 -68
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/restful_authentication.rb +0 -61
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/session_maintenance.rb +0 -139
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/single_access_token.rb +0 -65
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/validations_scope.rb +0 -32
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/authenticates_many/association.rb +0 -42
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/authenticates_many/base.rb +0 -55
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/controller_adapters/abstract_adapter.rb +0 -67
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/controller_adapters/merb_adapter.rb +0 -30
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/controller_adapters/rails_adapter.rb +0 -48
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/controller_adapters/sinatra_adapter.rb +0 -61
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/aes256.rb +0 -43
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/bcrypt.rb +0 -90
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/md5.rb +0 -34
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/sha1.rb +0 -35
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/sha256.rb +0 -50
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/sha512.rb +0 -50
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/wordpress.rb +0 -43
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/i18n/translator.rb +0 -15
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/i18n.rb +0 -83
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/random.rb +0 -33
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/regex.rb +0 -25
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/activation.rb +0 -58
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/active_record_trickery.rb +0 -61
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/base.rb +0 -37
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/brute_force_protection.rb +0 -96
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/callbacks.rb +0 -88
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/cookies.rb +0 -130
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/existence.rb +0 -93
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/foundation.rb +0 -63
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/http_auth.rb +0 -58
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/id.rb +0 -41
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/klass.rb +0 -78
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/magic_columns.rb +0 -95
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/magic_states.rb +0 -59
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/params.rb +0 -101
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/password.rb +0 -240
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/perishable_token.rb +0 -18
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/persistence.rb +0 -70
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/priority_record.rb +0 -34
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/scopes.rb +0 -101
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/session.rb +0 -62
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/timeout.rb +0 -82
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/unauthorized_record.rb +0 -50
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/validation.rb +0 -82
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/mock_controller.rb +0 -45
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/mock_cookie_jar.rb +0 -14
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/mock_logger.rb +0 -10
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/mock_request.rb +0 -19
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/rails_request_adapter.rb +0 -30
- data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case.rb +0 -120
- data/vendor/gems/authlogic-2.1.3/lib/authlogic.rb +0 -57
- data/vendor/gems/authlogic-2.1.3/rails/init.rb +0 -1
- data/vendor/gems/authlogic-2.1.3/shoulda_macros/authlogic.rb +0 -69
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/base_test.rb +0 -18
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/email_test.rb +0 -97
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/logged_in_status_test.rb +0 -36
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/login_test.rb +0 -109
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/magic_columns_test.rb +0 -27
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/password_test.rb +0 -236
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/perishable_token_test.rb +0 -90
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/persistence_token_test.rb +0 -55
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/restful_authentication_test.rb +0 -40
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/session_maintenance_test.rb +0 -84
- data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/single_access_test.rb +0 -44
- data/vendor/gems/authlogic-2.1.3/test/authenticates_many_test.rb +0 -16
- data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/aes256_test.rb +0 -14
- data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/bcrypt_test.rb +0 -14
- data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/sha1_test.rb +0 -23
- data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/sha256_test.rb +0 -14
- data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/sha512_test.rb +0 -14
- data/vendor/gems/authlogic-2.1.3/test/fixtures/companies.yml +0 -5
- data/vendor/gems/authlogic-2.1.3/test/fixtures/employees.yml +0 -17
- data/vendor/gems/authlogic-2.1.3/test/fixtures/projects.yml +0 -3
- data/vendor/gems/authlogic-2.1.3/test/fixtures/users.yml +0 -24
- data/vendor/gems/authlogic-2.1.3/test/i18n_test.rb +0 -33
- data/vendor/gems/authlogic-2.1.3/test/libs/affiliate.rb +0 -7
- data/vendor/gems/authlogic-2.1.3/test/libs/company.rb +0 -6
- data/vendor/gems/authlogic-2.1.3/test/libs/employee.rb +0 -7
- data/vendor/gems/authlogic-2.1.3/test/libs/employee_session.rb +0 -2
- data/vendor/gems/authlogic-2.1.3/test/libs/ldaper.rb +0 -3
- data/vendor/gems/authlogic-2.1.3/test/libs/ordered_hash.rb +0 -9
- data/vendor/gems/authlogic-2.1.3/test/libs/project.rb +0 -3
- data/vendor/gems/authlogic-2.1.3/test/libs/user.rb +0 -5
- data/vendor/gems/authlogic-2.1.3/test/libs/user_session.rb +0 -6
- data/vendor/gems/authlogic-2.1.3/test/random_test.rb +0 -49
- data/vendor/gems/authlogic-2.1.3/test/session_test/activation_test.rb +0 -43
- data/vendor/gems/authlogic-2.1.3/test/session_test/active_record_trickery_test.rb +0 -36
- data/vendor/gems/authlogic-2.1.3/test/session_test/brute_force_protection_test.rb +0 -101
- data/vendor/gems/authlogic-2.1.3/test/session_test/callbacks_test.rb +0 -6
- data/vendor/gems/authlogic-2.1.3/test/session_test/cookies_test.rb +0 -112
- data/vendor/gems/authlogic-2.1.3/test/session_test/credentials_test.rb +0 -0
- data/vendor/gems/authlogic-2.1.3/test/session_test/existence_test.rb +0 -64
- data/vendor/gems/authlogic-2.1.3/test/session_test/http_auth_test.rb +0 -28
- data/vendor/gems/authlogic-2.1.3/test/session_test/id_test.rb +0 -17
- data/vendor/gems/authlogic-2.1.3/test/session_test/klass_test.rb +0 -40
- data/vendor/gems/authlogic-2.1.3/test/session_test/magic_columns_test.rb +0 -62
- data/vendor/gems/authlogic-2.1.3/test/session_test/magic_states_test.rb +0 -60
- data/vendor/gems/authlogic-2.1.3/test/session_test/params_test.rb +0 -53
- data/vendor/gems/authlogic-2.1.3/test/session_test/password_test.rb +0 -106
- data/vendor/gems/authlogic-2.1.3/test/session_test/perishability_test.rb +0 -15
- data/vendor/gems/authlogic-2.1.3/test/session_test/persistence_test.rb +0 -21
- data/vendor/gems/authlogic-2.1.3/test/session_test/scopes_test.rb +0 -60
- data/vendor/gems/authlogic-2.1.3/test/session_test/session_test.rb +0 -59
- data/vendor/gems/authlogic-2.1.3/test/session_test/timeout_test.rb +0 -52
- data/vendor/gems/authlogic-2.1.3/test/session_test/unauthorized_record_test.rb +0 -13
- data/vendor/gems/authlogic-2.1.3/test/session_test/validation_test.rb +0 -23
- data/vendor/gems/authlogic-2.1.3/test/test_helper.rb +0 -182
- data/vendor/gems/factory_girl-1.2.3/.specification +0 -121
- data/vendor/gems/factory_girl-1.2.3/CONTRIBUTION_GUIDELINES.rdoc +0 -9
- data/vendor/gems/factory_girl-1.2.3/Changelog +0 -29
- data/vendor/gems/factory_girl-1.2.3/LICENSE +0 -19
- data/vendor/gems/factory_girl-1.2.3/README.rdoc +0 -228
- data/vendor/gems/factory_girl-1.2.3/Rakefile +0 -81
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/aliases.rb +0 -50
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute/association.rb +0 -20
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute/callback.rb +0 -16
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute/dynamic.rb +0 -20
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute/static.rb +0 -17
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute.rb +0 -29
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb +0 -395
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy/attributes_for.rb +0 -21
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy/build.rb +0 -30
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy/create.rb +0 -12
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy/stub.rb +0 -50
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy.rb +0 -79
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/sequence.rb +0 -63
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/step_definitions.rb +0 -54
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax/blueprint.rb +0 -42
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax/generate.rb +0 -68
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax/make.rb +0 -39
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax/sham.rb +0 -42
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax.rb +0 -12
- data/vendor/gems/factory_girl-1.2.3/lib/factory_girl.rb +0 -35
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/aliases_spec.rb +0 -29
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute/association_spec.rb +0 -29
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute/callback_spec.rb +0 -23
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute/dynamic_spec.rb +0 -49
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute/static_spec.rb +0 -29
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute_spec.rb +0 -30
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/factory_spec.rb +0 -571
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy/attributes_for_spec.rb +0 -52
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy/build_spec.rb +0 -81
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy/create_spec.rb +0 -94
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy/stub_spec.rb +0 -79
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy_spec.rb +0 -84
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/sequence_spec.rb +0 -66
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/syntax/blueprint_spec.rb +0 -34
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/syntax/generate_spec.rb +0 -57
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/syntax/make_spec.rb +0 -35
- data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/syntax/sham_spec.rb +0 -35
- data/vendor/gems/factory_girl-1.2.3/spec/integration_spec.rb +0 -304
- data/vendor/gems/factory_girl-1.2.3/spec/models.rb +0 -43
- data/vendor/gems/factory_girl-1.2.3/spec/spec_helper.rb +0 -18
- data/vendor/gems/paperclip-2.3.1.1/.specification +0 -161
- data/vendor/gems/paperclip-2.3.1.1/LICENSE +0 -26
- data/vendor/gems/paperclip-2.3.1.1/README.rdoc +0 -174
- data/vendor/gems/paperclip-2.3.1.1/Rakefile +0 -103
- data/vendor/gems/paperclip-2.3.1.1/generators/paperclip/USAGE +0 -5
- data/vendor/gems/paperclip-2.3.1.1/generators/paperclip/paperclip_generator.rb +0 -27
- data/vendor/gems/paperclip-2.3.1.1/generators/paperclip/templates/paperclip_migration.rb.erb +0 -19
- data/vendor/gems/paperclip-2.3.1.1/init.rb +0 -1
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/attachment.rb +0 -414
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/callback_compatability.rb +0 -33
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/geometry.rb +0 -115
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/interpolations.rb +0 -108
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/iostream.rb +0 -58
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers/have_attached_file_matcher.rb +0 -49
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +0 -66
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +0 -48
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers/validate_attachment_size_matcher.rb +0 -83
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers.rb +0 -4
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/processor.rb +0 -49
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/storage.rb +0 -243
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/thumbnail.rb +0 -73
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/upfile.rb +0 -49
- data/vendor/gems/paperclip-2.3.1.1/lib/paperclip.rb +0 -353
- data/vendor/gems/paperclip-2.3.1.1/shoulda_macros/paperclip.rb +0 -117
- data/vendor/gems/paperclip-2.3.1.1/tasks/paperclip_tasks.rake +0 -79
- data/vendor/gems/paperclip-2.3.1.1/test/attachment_test.rb +0 -780
- data/vendor/gems/paperclip-2.3.1.1/test/database.yml +0 -4
- data/vendor/gems/paperclip-2.3.1.1/test/fixtures/12k.png +0 -0
- data/vendor/gems/paperclip-2.3.1.1/test/fixtures/50x50.png +0 -0
- data/vendor/gems/paperclip-2.3.1.1/test/fixtures/5k.png +0 -0
- data/vendor/gems/paperclip-2.3.1.1/test/fixtures/bad.png +0 -1
- data/vendor/gems/paperclip-2.3.1.1/test/fixtures/s3.yml +0 -8
- data/vendor/gems/paperclip-2.3.1.1/test/fixtures/text.txt +0 -0
- data/vendor/gems/paperclip-2.3.1.1/test/fixtures/twopage.pdf +0 -0
- data/vendor/gems/paperclip-2.3.1.1/test/geometry_test.rb +0 -177
- data/vendor/gems/paperclip-2.3.1.1/test/helper.rb +0 -108
- data/vendor/gems/paperclip-2.3.1.1/test/integration_test.rb +0 -483
- data/vendor/gems/paperclip-2.3.1.1/test/interpolations_test.rb +0 -124
- data/vendor/gems/paperclip-2.3.1.1/test/iostream_test.rb +0 -71
- data/vendor/gems/paperclip-2.3.1.1/test/matchers/have_attached_file_matcher_test.rb +0 -21
- data/vendor/gems/paperclip-2.3.1.1/test/matchers/validate_attachment_content_type_matcher_test.rb +0 -30
- data/vendor/gems/paperclip-2.3.1.1/test/matchers/validate_attachment_presence_matcher_test.rb +0 -21
- data/vendor/gems/paperclip-2.3.1.1/test/matchers/validate_attachment_size_matcher_test.rb +0 -50
- data/vendor/gems/paperclip-2.3.1.1/test/paperclip_test.rb +0 -327
- data/vendor/gems/paperclip-2.3.1.1/test/processor_test.rb +0 -10
- data/vendor/gems/paperclip-2.3.1.1/test/storage_test.rb +0 -303
- data/vendor/gems/paperclip-2.3.1.1/test/thumbnail_test.rb +0 -227
- data/vendor/gems/paperclip-2.3.1.1/test/upfile_test.rb +0 -28
- data/vendor/gems/shoulda-2.10.2/.specification +0 -224
- data/vendor/gems/shoulda-2.10.2/CONTRIBUTION_GUIDELINES.rdoc +0 -10
- data/vendor/gems/shoulda-2.10.2/MIT-LICENSE +0 -22
- data/vendor/gems/shoulda-2.10.2/README.rdoc +0 -171
- data/vendor/gems/shoulda-2.10.2/Rakefile +0 -72
- data/vendor/gems/shoulda-2.10.2/bin/convert_to_should_syntax +0 -42
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/macros.rb +0 -240
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/assign_to_matcher.rb +0 -109
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/filter_param_matcher.rb +0 -57
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/render_with_layout_matcher.rb +0 -81
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/respond_with_content_type_matcher.rb +0 -74
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/respond_with_matcher.rb +0 -81
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/route_matcher.rb +0 -93
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/set_session_matcher.rb +0 -87
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/set_the_flash_matcher.rb +0 -85
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers.rb +0 -37
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller.rb +0 -26
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_mailer/assertions.rb +0 -38
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_mailer.rb +0 -10
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_view/macros.rb +0 -61
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_view.rb +0 -10
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/assertions.rb +0 -69
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/helpers.rb +0 -27
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/macros.rb +0 -512
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/allow_mass_assignment_of_matcher.rb +0 -83
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/allow_value_matcher.rb +0 -102
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/association_matcher.rb +0 -226
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/ensure_inclusion_of_matcher.rb +0 -87
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/ensure_length_of_matcher.rb +0 -141
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/have_db_column_matcher.rb +0 -169
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/have_db_index_matcher.rb +0 -112
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/have_named_scope_matcher.rb +0 -128
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/have_readonly_attribute_matcher.rb +0 -59
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_acceptance_of_matcher.rb +0 -41
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_format_of_matcher.rb +0 -67
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_numericality_of_matcher.rb +0 -39
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_presence_of_matcher.rb +0 -60
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_uniqueness_of_matcher.rb +0 -148
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validation_matcher.rb +0 -57
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers.rb +0 -43
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record.rb +0 -16
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/assertions.rb +0 -71
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/autoload_macros.rb +0 -46
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/context.rb +0 -402
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/helpers.rb +0 -8
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/macros.rb +0 -133
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/private_helpers.rb +0 -13
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/proc_extensions.rb +0 -14
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/rails.rb +0 -13
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/rspec.rb +0 -11
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/tasks/list_tests.rake +0 -29
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/tasks/yaml_to_shoulda.rake +0 -28
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/tasks.rb +0 -3
- data/vendor/gems/shoulda-2.10.2/lib/shoulda/test_unit.rb +0 -22
- data/vendor/gems/shoulda-2.10.2/lib/shoulda.rb +0 -9
- data/vendor/gems/shoulda-2.10.2/rails/init.rb +0 -7
- data/vendor/gems/shoulda-2.10.2/test/README +0 -36
- data/vendor/gems/shoulda-2.10.2/test/fail_macros.rb +0 -39
- data/vendor/gems/shoulda-2.10.2/test/fixtures/addresses.yml +0 -3
- data/vendor/gems/shoulda-2.10.2/test/fixtures/friendships.yml +0 -0
- data/vendor/gems/shoulda-2.10.2/test/fixtures/posts.yml +0 -5
- data/vendor/gems/shoulda-2.10.2/test/fixtures/products.yml +0 -0
- data/vendor/gems/shoulda-2.10.2/test/fixtures/taggings.yml +0 -0
- data/vendor/gems/shoulda-2.10.2/test/fixtures/tags.yml +0 -9
- data/vendor/gems/shoulda-2.10.2/test/fixtures/users.yml +0 -6
- data/vendor/gems/shoulda-2.10.2/test/functional/posts_controller_test.rb +0 -121
- data/vendor/gems/shoulda-2.10.2/test/functional/users_controller_test.rb +0 -19
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/allow_mass_assignment_of_matcher_test.rb +0 -68
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/allow_value_matcher_test.rb +0 -64
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/association_matcher_test.rb +0 -263
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/ensure_inclusion_of_matcher_test.rb +0 -80
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/ensure_length_of_matcher_test.rb +0 -158
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/have_db_column_matcher_test.rb +0 -169
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/have_db_index_matcher_test.rb +0 -91
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/have_named_scope_matcher_test.rb +0 -65
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/have_readonly_attributes_matcher_test.rb +0 -29
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_acceptance_of_matcher_test.rb +0 -44
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_format_of_matcher_test.rb +0 -39
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_numericality_of_matcher_test.rb +0 -52
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_presence_of_matcher_test.rb +0 -86
- data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_uniqueness_of_matcher_test.rb +0 -147
- data/vendor/gems/shoulda-2.10.2/test/matchers/controller/assign_to_matcher_test.rb +0 -35
- data/vendor/gems/shoulda-2.10.2/test/matchers/controller/filter_param_matcher_test.rb +0 -32
- data/vendor/gems/shoulda-2.10.2/test/matchers/controller/render_with_layout_matcher_test.rb +0 -33
- data/vendor/gems/shoulda-2.10.2/test/matchers/controller/respond_with_content_type_matcher_test.rb +0 -32
- data/vendor/gems/shoulda-2.10.2/test/matchers/controller/respond_with_matcher_test.rb +0 -106
- data/vendor/gems/shoulda-2.10.2/test/matchers/controller/route_matcher_test.rb +0 -58
- data/vendor/gems/shoulda-2.10.2/test/matchers/controller/set_session_matcher_test.rb +0 -38
- data/vendor/gems/shoulda-2.10.2/test/matchers/controller/set_the_flash_matcher.rb +0 -41
- data/vendor/gems/shoulda-2.10.2/test/model_builder.rb +0 -106
- data/vendor/gems/shoulda-2.10.2/test/other/autoload_macro_test.rb +0 -18
- data/vendor/gems/shoulda-2.10.2/test/other/context_test.rb +0 -189
- data/vendor/gems/shoulda-2.10.2/test/other/convert_to_should_syntax_test.rb +0 -63
- data/vendor/gems/shoulda-2.10.2/test/other/helpers_test.rb +0 -340
- data/vendor/gems/shoulda-2.10.2/test/other/private_helpers_test.rb +0 -32
- data/vendor/gems/shoulda-2.10.2/test/other/should_test.rb +0 -271
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/controllers/application_controller.rb +0 -25
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/controllers/posts_controller.rb +0 -87
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/controllers/users_controller.rb +0 -84
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/helpers/application_helper.rb +0 -3
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/helpers/posts_helper.rb +0 -2
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/helpers/users_helper.rb +0 -2
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/address.rb +0 -7
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/flea.rb +0 -3
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/friendship.rb +0 -4
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/pets/cat.rb +0 -7
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/pets/dog.rb +0 -10
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/post.rb +0 -12
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/product.rb +0 -12
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/profile.rb +0 -2
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/registration.rb +0 -2
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/tag.rb +0 -8
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/tagging.rb +0 -4
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/treat.rb +0 -3
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/user.rb +0 -32
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/layouts/posts.rhtml +0 -19
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/layouts/users.rhtml +0 -17
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/layouts/wide.html.erb +0 -1
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/posts/edit.rhtml +0 -27
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/posts/index.rhtml +0 -25
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/posts/new.rhtml +0 -26
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/posts/show.rhtml +0 -18
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/users/edit.rhtml +0 -22
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/users/index.rhtml +0 -22
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/users/new.rhtml +0 -21
- data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/users/show.rhtml +0 -13
- data/vendor/gems/shoulda-2.10.2/test/rails_root/config/boot.rb +0 -110
- data/vendor/gems/shoulda-2.10.2/test/rails_root/config/database.yml +0 -4
- data/vendor/gems/shoulda-2.10.2/test/rails_root/config/environment.rb +0 -18
- data/vendor/gems/shoulda-2.10.2/test/rails_root/config/environments/test.rb +0 -0
- data/vendor/gems/shoulda-2.10.2/test/rails_root/config/initializers/new_rails_defaults.rb +0 -15
- data/vendor/gems/shoulda-2.10.2/test/rails_root/config/initializers/shoulda.rb +0 -8
- data/vendor/gems/shoulda-2.10.2/test/rails_root/config/routes.rb +0 -6
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/001_create_users.rb +0 -19
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/002_create_posts.rb +0 -13
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/003_create_taggings.rb +0 -12
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/004_create_tags.rb +0 -11
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/005_create_dogs.rb +0 -12
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/006_create_addresses.rb +0 -14
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/007_create_fleas.rb +0 -11
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/008_create_dogs_fleas.rb +0 -12
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/009_create_products.rb +0 -17
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/010_create_friendships.rb +0 -14
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/011_create_treats.rb +0 -12
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/20090506203502_create_profiles.rb +0 -12
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/20090506203536_create_registrations.rb +0 -14
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/20090513104502_create_cats.rb +0 -12
- data/vendor/gems/shoulda-2.10.2/test/rails_root/db/schema.rb +0 -0
- data/vendor/gems/shoulda-2.10.2/test/rails_root/public/404.html +0 -30
- data/vendor/gems/shoulda-2.10.2/test/rails_root/public/422.html +0 -30
- data/vendor/gems/shoulda-2.10.2/test/rails_root/public/500.html +0 -30
- data/vendor/gems/shoulda-2.10.2/test/rails_root/script/console +0 -3
- data/vendor/gems/shoulda-2.10.2/test/rails_root/script/generate +0 -3
- data/vendor/gems/shoulda-2.10.2/test/rails_root/test/shoulda_macros/custom_macro.rb +0 -6
- data/vendor/gems/shoulda-2.10.2/test/rails_root/vendor/gems/gem_with_macro-0.0.1/shoulda_macros/gem_macro.rb +0 -6
- data/vendor/gems/shoulda-2.10.2/test/rails_root/vendor/plugins/plugin_with_macro/shoulda_macros/plugin_macro.rb +0 -6
- data/vendor/gems/shoulda-2.10.2/test/rspec_test.rb +0 -207
- data/vendor/gems/shoulda-2.10.2/test/test_helper.rb +0 -28
- data/vendor/gems/shoulda-2.10.2/test/unit/address_test.rb +0 -10
- data/vendor/gems/shoulda-2.10.2/test/unit/cat_test.rb +0 -7
- data/vendor/gems/shoulda-2.10.2/test/unit/dog_test.rb +0 -9
- data/vendor/gems/shoulda-2.10.2/test/unit/flea_test.rb +0 -6
- data/vendor/gems/shoulda-2.10.2/test/unit/friendship_test.rb +0 -6
- data/vendor/gems/shoulda-2.10.2/test/unit/post_test.rb +0 -19
- data/vendor/gems/shoulda-2.10.2/test/unit/product_test.rb +0 -23
- data/vendor/gems/shoulda-2.10.2/test/unit/tag_test.rb +0 -15
- data/vendor/gems/shoulda-2.10.2/test/unit/tagging_test.rb +0 -6
- data/vendor/gems/shoulda-2.10.2/test/unit/user_test.rb +0 -80
- data/vendor/plugins/active_scaffold/.autotest +0 -27
- data/vendor/plugins/active_scaffold/CHANGELOG +0 -152
- data/vendor/plugins/active_scaffold/MIT-LICENSE +0 -20
- data/vendor/plugins/active_scaffold/README +0 -31
- data/vendor/plugins/active_scaffold/Rakefile +0 -24
- data/vendor/plugins/active_scaffold/environment.rb +0 -17
- data/vendor/plugins/active_scaffold/frontends/default/images/add.gif +0 -0
- data/vendor/plugins/active_scaffold/frontends/default/images/arrow_down.gif +0 -0
- data/vendor/plugins/active_scaffold/frontends/default/images/arrow_up.gif +0 -0
- data/vendor/plugins/active_scaffold/frontends/default/images/close.gif +0 -0
- data/vendor/plugins/active_scaffold/frontends/default/images/cross.png +0 -0
- data/vendor/plugins/active_scaffold/frontends/default/images/indicator-small.gif +0 -0
- data/vendor/plugins/active_scaffold/frontends/default/images/indicator.gif +0 -0
- data/vendor/plugins/active_scaffold/frontends/default/images/magnifier.png +0 -0
- data/vendor/plugins/active_scaffold/frontends/default/javascripts/active_scaffold.js +0 -434
- data/vendor/plugins/active_scaffold/frontends/default/javascripts/dhtml_history.js +0 -867
- data/vendor/plugins/active_scaffold/frontends/default/javascripts/form_enhancements.js +0 -117
- data/vendor/plugins/active_scaffold/frontends/default/javascripts/rico_corner.js +0 -370
- data/vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet-ie.css +0 -35
- data/vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet.css +0 -822
- data/vendor/plugins/active_scaffold/frontends/default/views/_add_existing_form.html.erb +0 -40
- data/vendor/plugins/active_scaffold/frontends/default/views/_create_form.html.erb +0 -51
- data/vendor/plugins/active_scaffold/frontends/default/views/_create_form_on_list.html.erb +0 -38
- data/vendor/plugins/active_scaffold/frontends/default/views/_field_search.html.erb +0 -45
- data/vendor/plugins/active_scaffold/frontends/default/views/_form.html.erb +0 -18
- data/vendor/plugins/active_scaffold/frontends/default/views/_form_association.html.erb +0 -20
- data/vendor/plugins/active_scaffold/frontends/default/views/_form_association_footer.html.erb +0 -42
- data/vendor/plugins/active_scaffold/frontends/default/views/_form_attribute.html.erb +0 -12
- data/vendor/plugins/active_scaffold/frontends/default/views/_form_hidden_attribute.html.erb +0 -1
- data/vendor/plugins/active_scaffold/frontends/default/views/_form_messages.html.erb +0 -5
- data/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform.html.erb +0 -19
- data/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform_header.html.erb +0 -10
- data/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform_record.html.erb +0 -29
- data/vendor/plugins/active_scaffold/frontends/default/views/_list.html.erb +0 -37
- data/vendor/plugins/active_scaffold/frontends/default/views/_list_actions.html.erb +0 -13
- data/vendor/plugins/active_scaffold/frontends/default/views/_list_calculations.html.erb +0 -22
- data/vendor/plugins/active_scaffold/frontends/default/views/_list_column_headings.html.erb +0 -32
- data/vendor/plugins/active_scaffold/frontends/default/views/_list_header.html.erb +0 -14
- data/vendor/plugins/active_scaffold/frontends/default/views/_list_inline_adapter.html.erb +0 -9
- data/vendor/plugins/active_scaffold/frontends/default/views/_list_pagination_links.html.erb +0 -30
- data/vendor/plugins/active_scaffold/frontends/default/views/_list_record.html.erb +0 -36
- data/vendor/plugins/active_scaffold/frontends/default/views/_live_search.html.erb +0 -23
- data/vendor/plugins/active_scaffold/frontends/default/views/_messages.html.erb +0 -10
- data/vendor/plugins/active_scaffold/frontends/default/views/_nested.html.erb +0 -44
- data/vendor/plugins/active_scaffold/frontends/default/views/_search.html.erb +0 -20
- data/vendor/plugins/active_scaffold/frontends/default/views/_show.html.erb +0 -8
- data/vendor/plugins/active_scaffold/frontends/default/views/_show_columns.html.erb +0 -12
- data/vendor/plugins/active_scaffold/frontends/default/views/_update_actions.html.erb +0 -9
- data/vendor/plugins/active_scaffold/frontends/default/views/_update_form.html.erb +0 -55
- data/vendor/plugins/active_scaffold/frontends/default/views/_vertical_subform.html.erb +0 -12
- data/vendor/plugins/active_scaffold/frontends/default/views/_vertical_subform_record.html.erb +0 -31
- data/vendor/plugins/active_scaffold/frontends/default/views/add_existing.js.rjs +0 -16
- data/vendor/plugins/active_scaffold/frontends/default/views/add_existing_form.html.erb +0 -5
- data/vendor/plugins/active_scaffold/frontends/default/views/create.html.erb +0 -5
- data/vendor/plugins/active_scaffold/frontends/default/views/delete.html.erb +0 -13
- data/vendor/plugins/active_scaffold/frontends/default/views/destroy.js.rjs +0 -10
- data/vendor/plugins/active_scaffold/frontends/default/views/edit_associated.js.rjs +0 -14
- data/vendor/plugins/active_scaffold/frontends/default/views/field_search.html.erb +0 -5
- data/vendor/plugins/active_scaffold/frontends/default/views/form_messages.js.rjs +0 -1
- data/vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_create.js.rjs +0 -2
- data/vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_update.js.rjs +0 -2
- data/vendor/plugins/active_scaffold/frontends/default/views/list.html.erb +0 -48
- data/vendor/plugins/active_scaffold/frontends/default/views/on_create.js.rjs +0 -25
- data/vendor/plugins/active_scaffold/frontends/default/views/on_update.js.rjs +0 -11
- data/vendor/plugins/active_scaffold/frontends/default/views/render_field.js.rjs +0 -9
- data/vendor/plugins/active_scaffold/frontends/default/views/search.html.erb +0 -5
- data/vendor/plugins/active_scaffold/frontends/default/views/show.html.erb +0 -5
- data/vendor/plugins/active_scaffold/frontends/default/views/update.html.erb +0 -8
- data/vendor/plugins/active_scaffold/frontends/default/views/update_column.js.rjs +0 -12
- data/vendor/plugins/active_scaffold/init.rb +0 -18
- data/vendor/plugins/active_scaffold/install.rb +0 -39
- data/vendor/plugins/active_scaffold/install_assets.rb +0 -36
- data/vendor/plugins/active_scaffold/lib/active_record_permissions.rb +0 -128
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/core.rb +0 -136
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/create.rb +0 -158
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/delete.rb +0 -72
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/field_search.rb +0 -58
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/list.rb +0 -95
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/live_search.rb +0 -57
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/nested.rb +0 -217
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/search.rb +0 -50
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/show.rb +0 -54
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/subform.rb +0 -17
- data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/update.rb +0 -126
- data/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb +0 -192
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/base.rb +0 -45
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/core.rb +0 -230
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/create.rb +0 -43
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/delete.rb +0 -25
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/field_search.rb +0 -53
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/form.rb +0 -49
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/list.rb +0 -134
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/live_search.rb +0 -52
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/nested.rb +0 -34
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/search.rb +0 -52
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/show.rb +0 -36
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/subform.rb +0 -36
- data/vendor/plugins/active_scaffold/lib/active_scaffold/config/update.rb +0 -32
- data/vendor/plugins/active_scaffold/lib/active_scaffold/configurable.rb +0 -29
- data/vendor/plugins/active_scaffold/lib/active_scaffold/constraints.rb +0 -181
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_columns.rb +0 -97
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_link.rb +0 -140
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_links.rb +0 -47
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/actions.rb +0 -45
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/column.rb +0 -311
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/columns.rb +0 -75
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/error_message.rb +0 -24
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/set.rb +0 -62
- data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/sorting.rb +0 -159
- data/vendor/plugins/active_scaffold/lib/active_scaffold/finder.rb +0 -216
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/association_helpers.rb +0 -40
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/controller_helpers.rb +0 -41
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/country_helpers.rb +0 -347
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/form_column_helpers.rb +0 -301
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/id_helpers.rb +0 -129
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/list_column_helpers.rb +0 -234
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/pagination_helpers.rb +0 -39
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/search_column_helpers.rb +0 -172
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/show_column_helpers.rb +0 -46
- data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/view_helpers.rb +0 -202
- data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/de.rb +0 -67
- data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/en.rb +0 -67
- data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/es.yml +0 -65
- data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/fr.rb +0 -65
- data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/hu.yml +0 -62
- data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/ja.yml +0 -63
- data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/ru.yml +0 -61
- data/vendor/plugins/active_scaffold/lib/active_scaffold.rb +0 -213
- data/vendor/plugins/active_scaffold/lib/bridges/bridge.rb +0 -52
- data/vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/bridge.rb +0 -11
- data/vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/lib/as_cds_bridge.rb +0 -86
- data/vendor/plugins/active_scaffold/lib/bridges/file_column/bridge.rb +0 -12
- data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/as_file_column_bridge.rb +0 -49
- data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/file_column_helpers.rb +0 -51
- data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/form_ui.rb +0 -32
- data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/list_ui.rb +0 -26
- data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/functional/file_column_keep_test.rb +0 -43
- data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/mock_model.rb +0 -9
- data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/test_helper.rb +0 -15
- data/vendor/plugins/active_scaffold/lib/bridges/tiny_mce/bridge.rb +0 -5
- data/vendor/plugins/active_scaffold/lib/bridges/tiny_mce/lib/tiny_mce_bridge.rb +0 -45
- data/vendor/plugins/active_scaffold/lib/dhtml_confirm.rb +0 -54
- data/vendor/plugins/active_scaffold/lib/extensions/action_controller_rendering.rb +0 -20
- data/vendor/plugins/active_scaffold/lib/extensions/action_view_rendering.rb +0 -88
- data/vendor/plugins/active_scaffold/lib/extensions/array.rb +0 -7
- data/vendor/plugins/active_scaffold/lib/extensions/component_response_with_namespacing.rb +0 -17
- data/vendor/plugins/active_scaffold/lib/extensions/generic_view_paths.rb +0 -33
- data/vendor/plugins/active_scaffold/lib/extensions/localize.rb +0 -10
- data/vendor/plugins/active_scaffold/lib/extensions/name_option_for_datetime.rb +0 -12
- data/vendor/plugins/active_scaffold/lib/extensions/nil_id_in_url_params.rb +0 -7
- data/vendor/plugins/active_scaffold/lib/extensions/resources.rb +0 -27
- data/vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb +0 -56
- data/vendor/plugins/active_scaffold/lib/extensions/to_label.rb +0 -8
- data/vendor/plugins/active_scaffold/lib/extensions/unsaved_associated.rb +0 -61
- data/vendor/plugins/active_scaffold/lib/extensions/unsaved_record.rb +0 -20
- data/vendor/plugins/active_scaffold/lib/extensions/usa_state.rb +0 -46
- data/vendor/plugins/active_scaffold/lib/paginator.rb +0 -136
- data/vendor/plugins/active_scaffold/lib/responds_to_parent.rb +0 -68
- data/vendor/plugins/active_scaffold/public/blank.html +0 -33
- data/vendor/plugins/active_scaffold/uninstall.rb +0 -13
- data/vendor/plugins/asset_packager/CHANGELOG +0 -122
- data/vendor/plugins/asset_packager/README +0 -178
- data/vendor/plugins/asset_packager/Rakefile +0 -22
- data/vendor/plugins/asset_packager/about.yml +0 -8
- data/vendor/plugins/asset_packager/init.rb +0 -3
- data/vendor/plugins/asset_packager/install.rb +0 -1
- data/vendor/plugins/asset_packager/lib/jsmin.rb +0 -211
- data/vendor/plugins/asset_packager/lib/synthesis/asset_package.rb +0 -210
- data/vendor/plugins/asset_packager/lib/synthesis/asset_package_helper.rb +0 -39
- data/vendor/plugins/asset_packager/lib/tasks/asset_packager_tasks.rake +0 -23
- data/vendor/plugins/asset_packager/test/asset_package_helper_development_test.rb +0 -102
- data/vendor/plugins/asset_packager/test/asset_package_helper_production_test.rb +0 -142
- data/vendor/plugins/asset_packager/test/asset_packager_test.rb +0 -91
- data/vendor/plugins/asset_packager/test/asset_packages.yml +0 -20
- data/vendor/plugins/asset_packager/test/assets/javascripts/application.js +0 -2
- data/vendor/plugins/asset_packager/test/assets/javascripts/bar.js +0 -4
- data/vendor/plugins/asset_packager/test/assets/javascripts/controls.js +0 -815
- data/vendor/plugins/asset_packager/test/assets/javascripts/dragdrop.js +0 -913
- data/vendor/plugins/asset_packager/test/assets/javascripts/effects.js +0 -958
- data/vendor/plugins/asset_packager/test/assets/javascripts/foo.js +0 -4
- data/vendor/plugins/asset_packager/test/assets/javascripts/prototype.js +0 -2006
- data/vendor/plugins/asset_packager/test/assets/stylesheets/bar.css +0 -16
- data/vendor/plugins/asset_packager/test/assets/stylesheets/foo.css +0 -16
- data/vendor/plugins/asset_packager/test/assets/stylesheets/header.css +0 -16
- data/vendor/plugins/asset_packager/test/assets/stylesheets/screen.css +0 -16
- data/vendor/plugins/asset_packager/test/assets/stylesheets/subdir/bar.css +0 -16
- data/vendor/plugins/asset_packager/test/assets/stylesheets/subdir/foo.css +0 -16
- data/vendor/plugins/exception_notification/README +0 -111
- data/vendor/plugins/exception_notification/init.rb +0 -1
- data/vendor/plugins/exception_notification/lib/exception_notifiable.rb +0 -99
- data/vendor/plugins/exception_notification/lib/exception_notifier.rb +0 -66
- data/vendor/plugins/exception_notification/lib/exception_notifier_helper.rb +0 -78
- data/vendor/plugins/exception_notification/test/exception_notifier_helper_test.rb +0 -61
- data/vendor/plugins/exception_notification/test/test_helper.rb +0 -7
- data/vendor/plugins/exception_notification/views/exception_notifier/_backtrace.rhtml +0 -1
- data/vendor/plugins/exception_notification/views/exception_notifier/_environment.rhtml +0 -7
- data/vendor/plugins/exception_notification/views/exception_notifier/_inspect_model.rhtml +0 -16
- data/vendor/plugins/exception_notification/views/exception_notifier/_request.rhtml +0 -4
- data/vendor/plugins/exception_notification/views/exception_notifier/_session.rhtml +0 -2
- data/vendor/plugins/exception_notification/views/exception_notifier/_title.rhtml +0 -3
- data/vendor/plugins/exception_notification/views/exception_notifier/exception_notification.rhtml +0 -6
- data/vendor/plugins/required_attributes/MIT-LICENSE +0 -20
- data/vendor/plugins/required_attributes/README +0 -13
- data/vendor/plugins/required_attributes/Rakefile +0 -22
- data/vendor/plugins/required_attributes/init.rb +0 -1
- data/vendor/plugins/required_attributes/install.rb +0 -1
- data/vendor/plugins/required_attributes/lib/required_attributes.rb +0 -68
- data/vendor/plugins/required_attributes/required_attributes/MIT-LICENSE +0 -20
- data/vendor/plugins/required_attributes/required_attributes/README +0 -13
- data/vendor/plugins/required_attributes/required_attributes/Rakefile +0 -22
- data/vendor/plugins/required_attributes/required_attributes/init.rb +0 -1
- data/vendor/plugins/required_attributes/required_attributes/install.rb +0 -1
- data/vendor/plugins/required_attributes/required_attributes/lib/required_attributes.rb +0 -68
- data/vendor/plugins/required_attributes/required_attributes/tasks/required_attributes_tasks.rake +0 -4
- data/vendor/plugins/required_attributes/required_attributes/uninstall.rb +0 -1
- data/vendor/plugins/required_attributes/tasks/required_attributes_tasks.rake +0 -4
- data/vendor/plugins/required_attributes/uninstall.rb +0 -1
@@ -1,867 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Copyright (c) 2007 Brian Dillard and Brad Neuberg:
|
3
|
-
Brian Dillard | Project Lead | bdillard@pathf.com | http://blogs.pathf.com/agileajax/
|
4
|
-
Brad Neuberg | Original Project Creator | http://codinginparadise.org
|
5
|
-
|
6
|
-
SVN r113 from http://code.google.com/p/reallysimplehistory
|
7
|
-
+ Changes by Ed Wildgoose - MailASail
|
8
|
-
+ Changed EncodeURIComponent -> EncodeURI
|
9
|
-
+ Changed DecodeURIComponent -> DecodeURI
|
10
|
-
+ Changed 'blank.html?' -> '/blank.html?'
|
11
|
-
|
12
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
|
13
|
-
(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge,
|
14
|
-
publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do
|
15
|
-
so, subject to the following conditions:
|
16
|
-
|
17
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
18
|
-
|
19
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
20
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
21
|
-
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
23
|
-
*/
|
24
|
-
|
25
|
-
/*
|
26
|
-
dhtmlHistory: An object that provides history, history data, and bookmarking for DHTML and Ajax applications.
|
27
|
-
|
28
|
-
dependencies:
|
29
|
-
* the historyStorage object included in this file.
|
30
|
-
|
31
|
-
*/
|
32
|
-
window.dhtmlHistory = {
|
33
|
-
|
34
|
-
/*Public: User-agent booleans*/
|
35
|
-
isIE: false,
|
36
|
-
isOpera: false,
|
37
|
-
isSafari: false,
|
38
|
-
isKonquerer: false,
|
39
|
-
isGecko: false,
|
40
|
-
isSupported: false,
|
41
|
-
|
42
|
-
/*Public: Create the DHTML history infrastructure*/
|
43
|
-
create: function(options) {
|
44
|
-
|
45
|
-
/*
|
46
|
-
options - object to store initialization parameters
|
47
|
-
options.blankURL - string to override the default location of blank.html. Must end in "?"
|
48
|
-
options.debugMode - boolean that causes hidden form fields to be shown for development purposes.
|
49
|
-
options.toJSON - function to override default JSON stringifier
|
50
|
-
options.fromJSON - function to override default JSON parser
|
51
|
-
options.baseTitle - pattern for title changes; example: "Armchair DJ [@@@]" - @@@ will be replaced
|
52
|
-
*/
|
53
|
-
|
54
|
-
var that = this;
|
55
|
-
|
56
|
-
/*Set up the historyStorage object; pass in options bundle*/
|
57
|
-
window.historyStorage.setup(options);
|
58
|
-
|
59
|
-
/*Set up our base title if one is passed in*/
|
60
|
-
if (options && options.baseTitle) {
|
61
|
-
if (options.baseTitle.indexOf("@@@") < 0 && historyStorage.debugMode) {
|
62
|
-
throw new Error("Programmer error: options.baseTitle must contain the replacement parameter"
|
63
|
-
+ " '@@@' to be useful.");
|
64
|
-
}
|
65
|
-
this.baseTitle = options.baseTitle;
|
66
|
-
}
|
67
|
-
|
68
|
-
/*set user-agent flags*/
|
69
|
-
var UA = navigator.userAgent.toLowerCase();
|
70
|
-
var platform = navigator.platform.toLowerCase();
|
71
|
-
var vendor = navigator.vendor || "";
|
72
|
-
if (vendor === "KDE") {
|
73
|
-
this.isKonqueror = true;
|
74
|
-
this.isSupported = false;
|
75
|
-
} else if (typeof window.opera !== "undefined") {
|
76
|
-
this.isOpera = true;
|
77
|
-
this.isSupported = true;
|
78
|
-
} else if (typeof document.all !== "undefined") {
|
79
|
-
this.isIE = true;
|
80
|
-
this.isSupported = true;
|
81
|
-
} else if (vendor.indexOf("Apple Computer, Inc.") > -1) {
|
82
|
-
this.isSafari = true;
|
83
|
-
this.isSupported = (platform.indexOf("mac") > -1);
|
84
|
-
} else if (UA.indexOf("gecko") != -1) {
|
85
|
-
this.isGecko = true;
|
86
|
-
this.isSupported = true;
|
87
|
-
}
|
88
|
-
|
89
|
-
/*Create Safari/Opera-specific code*/
|
90
|
-
if (this.isSafari) {
|
91
|
-
this.createSafari();
|
92
|
-
} else if (this.isOpera) {
|
93
|
-
this.createOpera();
|
94
|
-
}
|
95
|
-
|
96
|
-
/*Get our initial location*/
|
97
|
-
var initialHash = this.getCurrentLocation();
|
98
|
-
|
99
|
-
/*Save it as our current location*/
|
100
|
-
this.currentLocation = initialHash;
|
101
|
-
|
102
|
-
/*Now that we have a hash, create IE-specific code*/
|
103
|
-
if (this.isIE) {
|
104
|
-
/*Optionally override the URL of IE's blank HTML file*/
|
105
|
-
if (options && options.blankURL) {
|
106
|
-
var u = options.blankURL;
|
107
|
-
/*assign the value, adding the trailing ? if it's not passed in*/
|
108
|
-
this.blankURL = (u.indexOf("?") != u.length - 1
|
109
|
-
? u + "?"
|
110
|
-
: u
|
111
|
-
);
|
112
|
-
}
|
113
|
-
this.createIE(initialHash);
|
114
|
-
}
|
115
|
-
|
116
|
-
/*Add an unload listener for the page; this is needed for FF 1.5+ because this browser caches all dynamic updates to the
|
117
|
-
page, which can break some of our logic related to testing whether this is the first instance a page has loaded or whether
|
118
|
-
it is being pulled from the cache*/
|
119
|
-
|
120
|
-
var unloadHandler = function() {
|
121
|
-
that.firstLoad = null;
|
122
|
-
};
|
123
|
-
|
124
|
-
this.addEventListener(window,'unload',unloadHandler);
|
125
|
-
|
126
|
-
/*Determine if this is our first page load; for IE, we do this in this.iframeLoaded(), which is fired on pageload. We do it
|
127
|
-
there because we have no historyStorage at this point, which only exists after the page is finished loading in IE*/
|
128
|
-
if (this.isIE) {
|
129
|
-
/*The iframe will get loaded on page load, and we want to ignore this fact*/
|
130
|
-
this.ignoreLocationChange = true;
|
131
|
-
} else {
|
132
|
-
if (!historyStorage.hasKey(this.PAGELOADEDSTRING)) {
|
133
|
-
/*This is our first page load, so ignore the location change and add our special history entry*/
|
134
|
-
this.ignoreLocationChange = true;
|
135
|
-
this.firstLoad = true;
|
136
|
-
historyStorage.put(this.PAGELOADEDSTRING, true);
|
137
|
-
} else {
|
138
|
-
/*This isn't our first page load, so indicate that we want to pay attention to this location change*/
|
139
|
-
this.ignoreLocationChange = false;
|
140
|
-
this.firstLoad = false;
|
141
|
-
/*For browsers other than IE, fire a history change event; on IE, the event will be thrown automatically when its
|
142
|
-
hidden iframe reloads on page load. Unfortunately, we don't have any listeners yet; indicate that we want to fire
|
143
|
-
an event when a listener is added.*/
|
144
|
-
this.fireOnNewListener = true;
|
145
|
-
}
|
146
|
-
}
|
147
|
-
|
148
|
-
/*Other browsers can use a location handler that checks at regular intervals as their primary mechanism; we use it for IE as
|
149
|
-
well to handle an important edge case; see checkLocation() for details*/
|
150
|
-
var locationHandler = function() {
|
151
|
-
that.checkLocation();
|
152
|
-
};
|
153
|
-
setInterval(locationHandler, 100);
|
154
|
-
},
|
155
|
-
|
156
|
-
/*Public: Initialize our DHTML history. You must call this after the page is finished loading. Optionally, you can pass your listener in
|
157
|
-
here so you don't need to make a separate call to addListener*/
|
158
|
-
initialize: function(listener) {
|
159
|
-
|
160
|
-
/*save original document title to plug in when we hit a null-key history point*/
|
161
|
-
this.originalTitle = document.title;
|
162
|
-
|
163
|
-
/*IE needs to be explicitly initialized. IE doesn't autofill form data until the page is finished loading, so we have to wait*/
|
164
|
-
if (this.isIE) {
|
165
|
-
/*If this is the first time this page has loaded*/
|
166
|
-
if (!historyStorage.hasKey(this.PAGELOADEDSTRING)) {
|
167
|
-
/*For IE, we do this in initialize(); for other browsers, we do it in create()*/
|
168
|
-
this.fireOnNewListener = false;
|
169
|
-
this.firstLoad = true;
|
170
|
-
historyStorage.put(this.PAGELOADEDSTRING, true);
|
171
|
-
}
|
172
|
-
/*Else if this is a fake onload event*/
|
173
|
-
else {
|
174
|
-
this.fireOnNewListener = true;
|
175
|
-
this.firstLoad = false;
|
176
|
-
}
|
177
|
-
}
|
178
|
-
/*optional convenience to save a separate call to addListener*/
|
179
|
-
if (listener) {
|
180
|
-
this.addListener(listener);
|
181
|
-
}
|
182
|
-
},
|
183
|
-
|
184
|
-
/*Public: Adds a history change listener. Only one listener is supported at this time.*/
|
185
|
-
addListener: function(listener) {
|
186
|
-
this.listener = listener;
|
187
|
-
/*If the page was just loaded and we should not ignore it, fire an event to our new listener now*/
|
188
|
-
if (this.fireOnNewListener) {
|
189
|
-
this.fireHistoryEvent(this.currentLocation);
|
190
|
-
this.fireOnNewListener = false;
|
191
|
-
}
|
192
|
-
},
|
193
|
-
|
194
|
-
/*Public: Change the current HTML title*/
|
195
|
-
changeTitle: function(historyData) {
|
196
|
-
var winTitle = (historyData && historyData.newTitle
|
197
|
-
/*Plug the new title into the pattern*/
|
198
|
-
? this.baseTitle.replace('@@@', historyData.newTitle)
|
199
|
-
/*Otherwise, if there is no new title, use the original document title. This is useful when some
|
200
|
-
history changes have title changes and some don't; we can automatically return to the original
|
201
|
-
title rather than leaving a misleading title in the title bar. The same goes for our "virgin"
|
202
|
-
(hashless) page state.*/
|
203
|
-
: this.originalTitle
|
204
|
-
);
|
205
|
-
/*No need to do anything if the title isn't changing*/
|
206
|
-
if (document.title == winTitle) {
|
207
|
-
return;
|
208
|
-
}
|
209
|
-
|
210
|
-
|
211
|
-
/*Now change the DOM*/
|
212
|
-
document.title = winTitle;
|
213
|
-
/*Change it in the iframe, too, for IE*/
|
214
|
-
if (this.isIE) {
|
215
|
-
this.iframe.contentWindow.document.title = winTitle;
|
216
|
-
}
|
217
|
-
|
218
|
-
/*If non-IE, reload the hash so the new title "sticks" in the browser history object*/
|
219
|
-
if (!this.isIE && !this.isOpera) {
|
220
|
-
var hash = decodeURI(document.location.hash);
|
221
|
-
if (hash != "") {
|
222
|
-
var encodedHash = encodeURI(this.removeHash(hash));
|
223
|
-
document.location.hash = encodedHash;
|
224
|
-
} else {
|
225
|
-
//document.location.hash = "#";
|
226
|
-
}
|
227
|
-
}
|
228
|
-
},
|
229
|
-
|
230
|
-
/*Public: Add a history point. Parameters available:
|
231
|
-
* newLocation (required):
|
232
|
-
This will be the #hash value in the URL. Users can bookmark it. It will persist across sessions, so
|
233
|
-
your application should be able to restore itself to a specific state based on just this value. It
|
234
|
-
should be either a simple keyword for a viewstate or else a pseudo-querystring.
|
235
|
-
* historyData (optional):
|
236
|
-
This is for complex data that is relevant only to the current browsing session. It will be available
|
237
|
-
to your application until the browser is closed. If the user comes back to a bookmarked history point
|
238
|
-
during a later session, this data will no longer be available. Don't rely on it for application
|
239
|
-
re-initialization from a bookmark.
|
240
|
-
* historyData.newTitle (optional):
|
241
|
-
This will swap out the html <title> attribute with a new value. If you have set a baseTitle using the
|
242
|
-
options bundle, the value will be plugged into the baseTitle by swapping out the @@@ replacement param.
|
243
|
-
*/
|
244
|
-
add: function(newLocation, historyData) {
|
245
|
-
|
246
|
-
var that = this;
|
247
|
-
|
248
|
-
/*Escape the location and remove any leading hash symbols*/
|
249
|
-
var encodedLocation = encodeURI(this.removeHash(newLocation));
|
250
|
-
|
251
|
-
if (this.isSafari) {
|
252
|
-
|
253
|
-
/*Store the history data into history storage - pass in unencoded newLocation since
|
254
|
-
historyStorage does its own encoding*/
|
255
|
-
historyStorage.put(newLocation, historyData);
|
256
|
-
|
257
|
-
/*Save this as our current location*/
|
258
|
-
this.currentLocation = encodedLocation;
|
259
|
-
|
260
|
-
/*Change the browser location*/
|
261
|
-
window.location.hash = encodedLocation;
|
262
|
-
|
263
|
-
/*Save this to the Safari form field*/
|
264
|
-
this.putSafariState(encodedLocation);
|
265
|
-
|
266
|
-
this.changeTitle(historyData);
|
267
|
-
|
268
|
-
} else {
|
269
|
-
|
270
|
-
/*Most browsers require that we wait a certain amount of time before changing the location, such
|
271
|
-
as 200 MS; rather than forcing external callers to use window.setTimeout to account for this,
|
272
|
-
we internally handle it by putting requests in a queue.*/
|
273
|
-
var addImpl = function() {
|
274
|
-
|
275
|
-
/*Indicate that the current wait time is now less*/
|
276
|
-
if (that.currentWaitTime > 0) {
|
277
|
-
that.currentWaitTime = that.currentWaitTime - that.waitTime;
|
278
|
-
}
|
279
|
-
|
280
|
-
/*IE has a strange bug; if the encodedLocation is the same as _any_ preexisting id in the
|
281
|
-
document, then the history action gets recorded twice; throw a programmer exception if
|
282
|
-
there is an element with this ID*/
|
283
|
-
if (document.getElementById(encodedLocation) && that.debugMode) {
|
284
|
-
var e = "Exception: History locations can not have the same value as _any_ IDs that might be in the document,"
|
285
|
-
+ " due to a bug in IE; please ask the developer to choose a history location that does not match any HTML"
|
286
|
-
+ " IDs in this document. The following ID is already taken and cannot be a location: " + newLocation;
|
287
|
-
throw new Error(e);
|
288
|
-
}
|
289
|
-
|
290
|
-
/*Store the history data into history storage - pass in unencoded newLocation since
|
291
|
-
historyStorage does its own encoding*/
|
292
|
-
historyStorage.put(newLocation, historyData);
|
293
|
-
|
294
|
-
/*Indicate to the browser to ignore this upcomming location change since we're making it programmatically*/
|
295
|
-
that.ignoreLocationChange = true;
|
296
|
-
|
297
|
-
/*Indicate to IE that this is an atomic location change block*/
|
298
|
-
that.ieAtomicLocationChange = true;
|
299
|
-
|
300
|
-
/*Save this as our current location*/
|
301
|
-
that.currentLocation = encodedLocation;
|
302
|
-
|
303
|
-
/*Change the browser location*/
|
304
|
-
window.location.hash = encodedLocation;
|
305
|
-
|
306
|
-
/*Change the hidden iframe's location if on IE*/
|
307
|
-
if (that.isIE) {
|
308
|
-
that.iframe.src = that.blankURL + encodedLocation;
|
309
|
-
}
|
310
|
-
|
311
|
-
/*End of atomic location change block for IE*/
|
312
|
-
that.ieAtomicLocationChange = false;
|
313
|
-
|
314
|
-
that.changeTitle(historyData);
|
315
|
-
|
316
|
-
};
|
317
|
-
|
318
|
-
/*Now queue up this add request*/
|
319
|
-
window.setTimeout(addImpl, this.currentWaitTime);
|
320
|
-
|
321
|
-
/*Indicate that the next request will have to wait for awhile*/
|
322
|
-
this.currentWaitTime = this.currentWaitTime + this.waitTime;
|
323
|
-
}
|
324
|
-
},
|
325
|
-
|
326
|
-
/*Public*/
|
327
|
-
isFirstLoad: function() {
|
328
|
-
return this.firstLoad;
|
329
|
-
},
|
330
|
-
|
331
|
-
/*Public*/
|
332
|
-
getVersion: function() {
|
333
|
-
return this.VERSIONNUMBER;
|
334
|
-
},
|
335
|
-
|
336
|
-
/*- - - - - - - - - - - -*/
|
337
|
-
|
338
|
-
/*Private: Constant for our own internal history event called when the page is loaded*/
|
339
|
-
PAGELOADEDSTRING: "DhtmlHistory_pageLoaded",
|
340
|
-
|
341
|
-
VERSIONNUMBER: "0.8",
|
342
|
-
|
343
|
-
/*
|
344
|
-
Private: Pattern for title changes. Example: "Armchair DJ [@@@]" where @@@ will be relaced by values passed to add();
|
345
|
-
Default is just the title itself, hence "@@@"
|
346
|
-
*/
|
347
|
-
baseTitle: "@@@",
|
348
|
-
|
349
|
-
/*Private: Placeholder variable for the original document title; will be set in ititialize()*/
|
350
|
-
originalTitle: null,
|
351
|
-
|
352
|
-
/*Private: URL for the blank html file we use for IE; can be overridden via the options bundle. Otherwise it must be served
|
353
|
-
in same directory as this library*/
|
354
|
-
blankURL: "/blank.html?",
|
355
|
-
|
356
|
-
/*Private: Our history change listener.*/
|
357
|
-
listener: null,
|
358
|
-
|
359
|
-
/*Private: MS to wait between add requests - will be reset for certain browsers*/
|
360
|
-
waitTime: 200,
|
361
|
-
|
362
|
-
/*Private: MS before an add request can execute*/
|
363
|
-
currentWaitTime: 0,
|
364
|
-
|
365
|
-
/*Private: Our current hash location, without the "#" symbol.*/
|
366
|
-
currentLocation: null,
|
367
|
-
|
368
|
-
/*Private: Hidden iframe used to IE to detect history changes*/
|
369
|
-
iframe: null,
|
370
|
-
|
371
|
-
/*Private: Flags and DOM references used only by Safari*/
|
372
|
-
safariHistoryStartPoint: null,
|
373
|
-
safariStack: null,
|
374
|
-
safariLength: null,
|
375
|
-
|
376
|
-
/*Private: Flag used to keep checkLocation() from doing anything when it discovers location changes we've made ourselves
|
377
|
-
programmatically with the add() method. Basically, add() sets this to true. When checkLocation() discovers it's true,
|
378
|
-
it refrains from firing our listener, then resets the flag to false for next cycle. That way, our listener only gets fired on
|
379
|
-
history change events triggered by the user via back/forward buttons and manual hash changes. This flag also helps us set up
|
380
|
-
IE's special iframe-based method of handling history changes.*/
|
381
|
-
ignoreLocationChange: null,
|
382
|
-
|
383
|
-
/*Private: A flag that indicates that we should fire a history change event when we are ready, i.e. after we are initialized and
|
384
|
-
we have a history change listener. This is needed due to an edge case in browsers other than IE; if you leave a page entirely
|
385
|
-
then return, we must fire this as a history change event. Unfortunately, we have lost all references to listeners from earlier,
|
386
|
-
because JavaScript clears out.*/
|
387
|
-
fireOnNewListener: null,
|
388
|
-
|
389
|
-
/*Private: A variable that indicates whether this is the first time this page has been loaded. If you go to a web page, leave it
|
390
|
-
for another one, and then return, the page's onload listener fires again. We need a way to differentiate between the first page
|
391
|
-
load and subsequent ones. This variable works hand in hand with the pageLoaded variable we store into historyStorage.*/
|
392
|
-
firstLoad: null,
|
393
|
-
|
394
|
-
/*Private: A variable to handle an important edge case in IE. In IE, if a user manually types an address into their browser's
|
395
|
-
location bar, we must intercept this by calling checkLocation() at regular intervals. However, if we are programmatically
|
396
|
-
changing the location bar ourselves using the add() method, we need to ignore these changes in checkLocation(). Unfortunately,
|
397
|
-
these changes take several lines of code to complete, so for the duration of those lines of code, we set this variable to true.
|
398
|
-
That signals to checkLocation() to ignore the change-in-progress. Once we're done with our chunk of location-change code in
|
399
|
-
add(), we set this back to false. We'll do the same thing when capturing user-entered address changes in checkLocation itself.*/
|
400
|
-
ieAtomicLocationChange: null,
|
401
|
-
|
402
|
-
/*Private: Generic utility function for attaching events*/
|
403
|
-
addEventListener: function(o,e,l) {
|
404
|
-
if (o.addEventListener) {
|
405
|
-
o.addEventListener(e,l,false);
|
406
|
-
} else if (o.attachEvent) {
|
407
|
-
o.attachEvent('on'+e,function() {
|
408
|
-
l(window.event);
|
409
|
-
});
|
410
|
-
}
|
411
|
-
},
|
412
|
-
|
413
|
-
|
414
|
-
/*Private: Create IE-specific DOM nodes and overrides*/
|
415
|
-
createIE: function(initialHash) {
|
416
|
-
/*write out a hidden iframe for IE and set the amount of time to wait between add() requests*/
|
417
|
-
this.waitTime = 400;/*IE needs longer between history updates*/
|
418
|
-
var styles = (historyStorage.debugMode
|
419
|
-
? 'width: 800px;height:80px;border:1px solid black;'
|
420
|
-
: historyStorage.hideStyles
|
421
|
-
);
|
422
|
-
var iframeID = "rshHistoryFrame";
|
423
|
-
var iframeHTML = '<iframe frameborder="0" id="' + iframeID + '" style="' + styles + '" src="' + this.blankURL + initialHash + '"></iframe>';
|
424
|
-
document.write(iframeHTML);
|
425
|
-
this.iframe = document.getElementById(iframeID);
|
426
|
-
},
|
427
|
-
|
428
|
-
/*Private: Create Opera-specific DOM nodes and overrides*/
|
429
|
-
createOpera: function() {
|
430
|
-
this.waitTime = 400;/*Opera needs longer between history updates*/
|
431
|
-
var imgHTML = '<img src="javascript:location.href=\'javascript:dhtmlHistory.checkLocation();\';" style="' + historyStorage.hideStyles + '" />';
|
432
|
-
document.write(imgHTML);
|
433
|
-
},
|
434
|
-
|
435
|
-
/*Private: Create Safari-specific DOM nodes and overrides*/
|
436
|
-
createSafari: function() {
|
437
|
-
var formID = "rshSafariForm";
|
438
|
-
var stackID = "rshSafariStack";
|
439
|
-
var lengthID = "rshSafariLength";
|
440
|
-
var formStyles = historyStorage.debugMode ? historyStorage.showStyles : historyStorage.hideStyles;
|
441
|
-
var stackStyles = (historyStorage.debugMode
|
442
|
-
? 'width: 800px;height:80px;border:1px solid black;'
|
443
|
-
: historyStorage.hideStyles
|
444
|
-
);
|
445
|
-
var lengthStyles = (historyStorage.debugMode
|
446
|
-
? 'width:800px;height:20px;border:1px solid black;margin:0;padding:0;'
|
447
|
-
: historyStorage.hideStyles
|
448
|
-
);
|
449
|
-
var safariHTML = '<form id="' + formID + '" style="' + formStyles + '">'
|
450
|
-
+ '<textarea style="' + stackStyles + '" id="' + stackID + '">[]</textarea>'
|
451
|
-
+ '<input type="text" style="' + lengthStyles + '" id="' + lengthID + '" value=""/>'
|
452
|
-
+ '</form>';
|
453
|
-
document.write(safariHTML);
|
454
|
-
this.safariStack = document.getElementById(stackID);
|
455
|
-
this.safariLength = document.getElementById(lengthID);
|
456
|
-
if (!historyStorage.hasKey(this.PAGELOADEDSTRING)) {
|
457
|
-
this.safariHistoryStartPoint = history.length;
|
458
|
-
this.safariLength.value = this.safariHistoryStartPoint;
|
459
|
-
} else {
|
460
|
-
this.safariHistoryStartPoint = this.safariLength.value;
|
461
|
-
}
|
462
|
-
},
|
463
|
-
|
464
|
-
/*TODO: make this public again?*/
|
465
|
-
/*Private: Get browser's current hash location; for Safari, read value from a hidden form field*/
|
466
|
-
getCurrentLocation: function() {
|
467
|
-
var r = (this.isSafari
|
468
|
-
? this.getSafariState()
|
469
|
-
: this.getCurrentHash()
|
470
|
-
);
|
471
|
-
return r;
|
472
|
-
},
|
473
|
-
|
474
|
-
/*TODO: make this public again?*/
|
475
|
-
/*Private: Manually parse the current url for a hash; tip of the hat to YUI*/
|
476
|
-
getCurrentHash: function() {
|
477
|
-
var r = window.location.href;
|
478
|
-
var i = r.indexOf("#");
|
479
|
-
return (i >= 0
|
480
|
-
? r.substr(i+1)
|
481
|
-
: ""
|
482
|
-
);
|
483
|
-
},
|
484
|
-
|
485
|
-
/*Private: Safari method to read the history stack from a hidden form field*/
|
486
|
-
getSafariStack: function() {
|
487
|
-
var r = this.safariStack.value;
|
488
|
-
return historyStorage.fromJSON(r);
|
489
|
-
},
|
490
|
-
/*Private: Safari method to read from the history stack*/
|
491
|
-
getSafariState: function() {
|
492
|
-
var stack = this.getSafariStack();
|
493
|
-
var state = stack[history.length - this.safariHistoryStartPoint - 1];
|
494
|
-
return state;
|
495
|
-
},
|
496
|
-
/*Private: Safari method to write the history stack to a hidden form field*/
|
497
|
-
putSafariState: function(newLocation) {
|
498
|
-
var stack = this.getSafariStack();
|
499
|
-
stack[history.length - this.safariHistoryStartPoint] = newLocation;
|
500
|
-
this.safariStack.value = historyStorage.toJSON(stack);
|
501
|
-
},
|
502
|
-
|
503
|
-
/*Private: Notify the listener of new history changes.*/
|
504
|
-
fireHistoryEvent: function(newHash) {
|
505
|
-
var decodedHash = decodeURI(newHash)
|
506
|
-
/*extract the value from our history storage for this hash*/
|
507
|
-
var historyData = historyStorage.get(decodedHash);
|
508
|
-
this.changeTitle(historyData);
|
509
|
-
/*call our listener*/
|
510
|
-
this.listener.call(null, decodedHash, historyData);
|
511
|
-
},
|
512
|
-
|
513
|
-
/*Private: See if the browser has changed location. This is the primary history mechanism for Firefox. For IE, we use this to
|
514
|
-
handle an important edge case: if a user manually types in a new hash value into their IE location bar and press enter, we want to
|
515
|
-
to intercept this and notify any history listener.*/
|
516
|
-
checkLocation: function() {
|
517
|
-
|
518
|
-
/*Ignore any location changes that we made ourselves for browsers other than IE*/
|
519
|
-
if (!this.isIE && this.ignoreLocationChange) {
|
520
|
-
this.ignoreLocationChange = false;
|
521
|
-
return;
|
522
|
-
}
|
523
|
-
|
524
|
-
/*If we are dealing with IE and we are in the middle of making a location change from an iframe, ignore it*/
|
525
|
-
if (!this.isIE && this.ieAtomicLocationChange) {
|
526
|
-
return;
|
527
|
-
}
|
528
|
-
|
529
|
-
/*Get hash location*/
|
530
|
-
var hash = this.getCurrentLocation();
|
531
|
-
|
532
|
-
/*Do nothing if there's been no change*/
|
533
|
-
if (hash == this.currentLocation) {
|
534
|
-
return;
|
535
|
-
}
|
536
|
-
|
537
|
-
/*In IE, users manually entering locations into the browser; we do this by comparing the browser's location against the
|
538
|
-
iframe's location; if they differ, we are dealing with a manual event and need to place it inside our history, otherwise
|
539
|
-
we can return*/
|
540
|
-
this.ieAtomicLocationChange = true;
|
541
|
-
|
542
|
-
if (this.isIE && this.getIframeHash() != hash) {
|
543
|
-
this.iframe.src = this.blankURL + hash;
|
544
|
-
}
|
545
|
-
else if (this.isIE) {
|
546
|
-
/*the iframe is unchanged*/
|
547
|
-
return;
|
548
|
-
}
|
549
|
-
|
550
|
-
/*Save this new location*/
|
551
|
-
this.currentLocation = hash;
|
552
|
-
|
553
|
-
this.ieAtomicLocationChange = false;
|
554
|
-
|
555
|
-
/*Notify listeners of the change*/
|
556
|
-
this.fireHistoryEvent(hash);
|
557
|
-
},
|
558
|
-
|
559
|
-
/*Private: Get the current location of IE's hidden iframe.*/
|
560
|
-
getIframeHash: function() {
|
561
|
-
var doc = this.iframe.contentWindow.document;
|
562
|
-
var hash = String(doc.location.search);
|
563
|
-
if (hash.length == 1 && hash.charAt(0) == "?") {
|
564
|
-
hash = "";
|
565
|
-
}
|
566
|
-
else if (hash.length >= 2 && hash.charAt(0) == "?") {
|
567
|
-
hash = hash.substring(1);
|
568
|
-
}
|
569
|
-
return hash;
|
570
|
-
},
|
571
|
-
|
572
|
-
/*Private: Remove any leading hash that might be on a location.*/
|
573
|
-
removeHash: function(hashValue) {
|
574
|
-
var r;
|
575
|
-
if (hashValue === null || hashValue === undefined) {
|
576
|
-
r = null;
|
577
|
-
}
|
578
|
-
else if (hashValue === "") {
|
579
|
-
r = "";
|
580
|
-
}
|
581
|
-
else if (hashValue.length == 1 && hashValue.charAt(0) == "#") {
|
582
|
-
r = "";
|
583
|
-
}
|
584
|
-
else if (hashValue.length > 1 && hashValue.charAt(0) == "#") {
|
585
|
-
r = hashValue.substring(1);
|
586
|
-
}
|
587
|
-
else {
|
588
|
-
r = hashValue;
|
589
|
-
}
|
590
|
-
return r;
|
591
|
-
},
|
592
|
-
|
593
|
-
/*Private: For IE, tell when the hidden iframe has finished loading.*/
|
594
|
-
iframeLoaded: function(newLocation) {
|
595
|
-
/*ignore any location changes that we made ourselves*/
|
596
|
-
if (this.ignoreLocationChange) {
|
597
|
-
this.ignoreLocationChange = false;
|
598
|
-
return;
|
599
|
-
}
|
600
|
-
|
601
|
-
/*Get the new location*/
|
602
|
-
var hash = String(newLocation.search);
|
603
|
-
if (hash.length == 1 && hash.charAt(0) == "?") {
|
604
|
-
hash = "";
|
605
|
-
}
|
606
|
-
else if (hash.length >= 2 && hash.charAt(0) == "?") {
|
607
|
-
hash = hash.substring(1);
|
608
|
-
}
|
609
|
-
/*Keep the browser location bar in sync with the iframe hash*/
|
610
|
-
window.location.hash = hash;
|
611
|
-
|
612
|
-
/*Notify listeners of the change*/
|
613
|
-
this.fireHistoryEvent(hash);
|
614
|
-
}
|
615
|
-
|
616
|
-
|
617
|
-
};
|
618
|
-
|
619
|
-
/*
|
620
|
-
historyStorage: An object that uses a hidden form to store history state across page loads. The mechanism for doing so relies on
|
621
|
-
the fact that browsers save the text in form data for the life of the browser session, which means the text is still there when
|
622
|
-
the user navigates back to the page. This object can be used independently of the dhtmlHistory object for caching of Ajax
|
623
|
-
session information.
|
624
|
-
|
625
|
-
dependencies:
|
626
|
-
* json2007.js (included in a separate file) or alternate JSON methods passed in through an options bundle.
|
627
|
-
*/
|
628
|
-
window.historyStorage = {
|
629
|
-
|
630
|
-
/*Public: Set up our historyStorage object for use by dhtmlHistory or other objects*/
|
631
|
-
setup: function(options) {
|
632
|
-
|
633
|
-
/*
|
634
|
-
options - object to store initialization parameters - passed in from dhtmlHistory or directly into historyStorage
|
635
|
-
options.debugMode - boolean that causes hidden form fields to be shown for development purposes.
|
636
|
-
options.toJSON - function to override default JSON stringifier
|
637
|
-
options.fromJSON - function to override default JSON parser
|
638
|
-
*/
|
639
|
-
|
640
|
-
/*process init parameters*/
|
641
|
-
if (typeof options !== "undefined") {
|
642
|
-
if (options.debugMode) {
|
643
|
-
this.debugMode = options.debugMode;
|
644
|
-
}
|
645
|
-
if (options.toJSON) {
|
646
|
-
this.toJSON = options.toJSON;
|
647
|
-
}
|
648
|
-
if (options.fromJSON) {
|
649
|
-
this.fromJSON = options.fromJSON;
|
650
|
-
}
|
651
|
-
}
|
652
|
-
|
653
|
-
/*write a hidden form and textarea into the page; we'll stow our history stack here*/
|
654
|
-
var formID = "rshStorageForm";
|
655
|
-
var textareaID = "rshStorageField";
|
656
|
-
var formStyles = this.debugMode ? historyStorage.showStyles : historyStorage.hideStyles;
|
657
|
-
var textareaStyles = (historyStorage.debugMode
|
658
|
-
? 'width: 800px;height:80px;border:1px solid black;'
|
659
|
-
: historyStorage.hideStyles
|
660
|
-
);
|
661
|
-
var textareaHTML = '<form id="' + formID + '" style="' + formStyles + '">'
|
662
|
-
+ '<textarea id="' + textareaID + '" style="' + textareaStyles + '"></textarea>'
|
663
|
-
+ '</form>';
|
664
|
-
document.write(textareaHTML);
|
665
|
-
this.storageField = document.getElementById(textareaID);
|
666
|
-
if (typeof window.opera !== "undefined") {
|
667
|
-
this.storageField.focus();/*Opera needs to focus this element before persisting values in it*/
|
668
|
-
}
|
669
|
-
},
|
670
|
-
|
671
|
-
/*Public*/
|
672
|
-
put: function(key, value) {
|
673
|
-
|
674
|
-
var encodedKey = encodeURI(key);
|
675
|
-
|
676
|
-
this.assertValidKey(encodedKey);
|
677
|
-
/*if we already have a value for this, remove the value before adding the new one*/
|
678
|
-
if (this.hasKey(key)) {
|
679
|
-
this.remove(key);
|
680
|
-
}
|
681
|
-
/*store this new key*/
|
682
|
-
this.storageHash[encodedKey] = value;
|
683
|
-
/*save and serialize the hashtable into the form*/
|
684
|
-
this.saveHashTable();
|
685
|
-
},
|
686
|
-
|
687
|
-
/*Public*/
|
688
|
-
get: function(key) {
|
689
|
-
|
690
|
-
var encodedKey = encodeURI(key);
|
691
|
-
|
692
|
-
this.assertValidKey(encodedKey);
|
693
|
-
/*make sure the hash table has been loaded from the form*/
|
694
|
-
this.loadHashTable();
|
695
|
-
var value = this.storageHash[encodedKey];
|
696
|
-
if (value === undefined) {
|
697
|
-
value = null;
|
698
|
-
}
|
699
|
-
return value;
|
700
|
-
},
|
701
|
-
|
702
|
-
/*Public*/
|
703
|
-
remove: function(key) {
|
704
|
-
|
705
|
-
var encodedKey = encodeURI(key);
|
706
|
-
|
707
|
-
this.assertValidKey(encodedKey);
|
708
|
-
/*make sure the hash table has been loaded from the form*/
|
709
|
-
this.loadHashTable();
|
710
|
-
/*delete the value*/
|
711
|
-
delete this.storageHash[encodedKey];
|
712
|
-
/*serialize and save the hash table into the form*/
|
713
|
-
this.saveHashTable();
|
714
|
-
},
|
715
|
-
|
716
|
-
/*Public: Clears out all saved data.*/
|
717
|
-
reset: function() {
|
718
|
-
this.storageField.value = "";
|
719
|
-
this.storageHash = {};
|
720
|
-
},
|
721
|
-
|
722
|
-
/*Public*/
|
723
|
-
hasKey: function(key) {
|
724
|
-
|
725
|
-
var encodedKey = encodeURI(key);
|
726
|
-
|
727
|
-
this.assertValidKey(encodedKey);
|
728
|
-
/*make sure the hash table has been loaded from the form*/
|
729
|
-
this.loadHashTable();
|
730
|
-
return (typeof this.storageHash[encodedKey] !== "undefined");
|
731
|
-
},
|
732
|
-
|
733
|
-
/*Public*/
|
734
|
-
isValidKey: function(key) {
|
735
|
-
return (typeof key === "string");
|
736
|
-
//TODO - should we ban hash signs and other special characters?
|
737
|
-
},
|
738
|
-
|
739
|
-
/*- - - - - - - - - - - -*/
|
740
|
-
|
741
|
-
/*Private - CSS strings utilized by both objects to hide or show behind-the-scenes DOM elements*/
|
742
|
-
showStyles: 'border:0;margin:0;padding:0;',
|
743
|
-
hideStyles: 'left:-1000px;top:-1000px;width:1px;height:1px;border:0;position:absolute;',
|
744
|
-
|
745
|
-
/*Private - debug mode flag*/
|
746
|
-
debugMode: false,
|
747
|
-
|
748
|
-
/*Private: Our hash of key name/values.*/
|
749
|
-
storageHash: {},
|
750
|
-
|
751
|
-
/*Private: If true, we have loaded our hash table out of the storage form.*/
|
752
|
-
hashLoaded: false,
|
753
|
-
|
754
|
-
/*Private: DOM reference to our history field*/
|
755
|
-
storageField: null,
|
756
|
-
|
757
|
-
/*Private: Assert that a key is valid; throw an exception if it not.*/
|
758
|
-
assertValidKey: function(key) {
|
759
|
-
var isValid = this.isValidKey(key);
|
760
|
-
if (!isValid && this.debugMode) {
|
761
|
-
throw new Error("Please provide a valid key for window.historyStorage. Invalid key = " + key + ".");
|
762
|
-
}
|
763
|
-
},
|
764
|
-
|
765
|
-
/*Private: Load the hash table up from the form.*/
|
766
|
-
loadHashTable: function() {
|
767
|
-
if (!this.hashLoaded) {
|
768
|
-
var serializedHashTable = this.storageField.value;
|
769
|
-
if (serializedHashTable !== "" && serializedHashTable !== null) {
|
770
|
-
this.storageHash = this.fromJSON(serializedHashTable);
|
771
|
-
this.hashLoaded = true;
|
772
|
-
}
|
773
|
-
}
|
774
|
-
},
|
775
|
-
/*Private: Save the hash table into the form.*/
|
776
|
-
saveHashTable: function() {
|
777
|
-
this.loadHashTable();
|
778
|
-
var serializedHashTable = this.toJSON(this.storageHash);
|
779
|
-
this.storageField.value = serializedHashTable;
|
780
|
-
},
|
781
|
-
/*Private: Bridges for our JSON implementations - both rely on 2007 JSON.org library - can be overridden by options bundle*/
|
782
|
-
toJSON: function(o) {
|
783
|
-
return o.toJSONString();
|
784
|
-
},
|
785
|
-
fromJSON: function(s) {
|
786
|
-
return s.parseJSON();
|
787
|
-
}
|
788
|
-
};
|
789
|
-
|
790
|
-
|
791
|
-
/*******************************************************************/
|
792
|
-
/** QueryString Object from http://adamv.com/dev/javascript/querystring */
|
793
|
-
/* Client-side access to querystring name=value pairs
|
794
|
-
Version 1.3
|
795
|
-
28 May 2008
|
796
|
-
|
797
|
-
License (Simplified BSD):
|
798
|
-
http://adamv.com/dev/javascript/qslicense.txt
|
799
|
-
*/
|
800
|
-
function Querystring(qs) { // optionally pass a querystring to parse
|
801
|
-
this.params = {};
|
802
|
-
|
803
|
-
if (qs == null) qs = location.search.substring(1, location.search.length);
|
804
|
-
if (qs.length == 0) return;
|
805
|
-
|
806
|
-
// Turn <plus> back to <space>
|
807
|
-
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
|
808
|
-
qs = qs.replace(/\+/g, ' ');
|
809
|
-
var args = qs.split('&'); // parse out name/value pairs separated via &
|
810
|
-
|
811
|
-
// split out each name=value pair
|
812
|
-
for (var i = 0; i < args.length; i++) {
|
813
|
-
var pair = args[i].split('=');
|
814
|
-
var name = decodeURI(pair[0]);
|
815
|
-
|
816
|
-
var value = (pair.length==2)
|
817
|
-
? decodeURI(pair[1])
|
818
|
-
: name;
|
819
|
-
|
820
|
-
this.params[name] = value;
|
821
|
-
}
|
822
|
-
}
|
823
|
-
|
824
|
-
Querystring.prototype.get = function(key, default_) {
|
825
|
-
var value = this.params[key];
|
826
|
-
return (value != null) ? value : default_;
|
827
|
-
}
|
828
|
-
|
829
|
-
Querystring.prototype.contains = function(key) {
|
830
|
-
var value = this.params[key];
|
831
|
-
return (value != null);
|
832
|
-
}
|
833
|
-
|
834
|
-
/*******************************************************************/
|
835
|
-
/* Added by Ed Wildgoose - MailASail */
|
836
|
-
/* Initialise the library and add our history callback */
|
837
|
-
/*******************************************************************/
|
838
|
-
window.dhtmlHistory.create({
|
839
|
-
toJSON: function(o) {
|
840
|
-
return Object.toJSON(o);
|
841
|
-
}
|
842
|
-
, fromJSON: function(s) {
|
843
|
-
return s.evalJSON();
|
844
|
-
}
|
845
|
-
|
846
|
-
// Enable this to assist with debugging
|
847
|
-
// , debugMode: true
|
848
|
-
|
849
|
-
// dhtmlHistory has been modified not to need the next line
|
850
|
-
// But left in for robustness when updating dhtmlHistory
|
851
|
-
, blankURL: '/blank.html?'
|
852
|
-
});
|
853
|
-
|
854
|
-
/** Our callback to receive history
|
855
|
-
change events. */
|
856
|
-
var handleHistoryChange = function(pageId, pageData) {
|
857
|
-
if (!pageData) return;
|
858
|
-
var info = pageId.split(':');
|
859
|
-
var id = info[0];
|
860
|
-
pageData += '&_method=get';
|
861
|
-
new Ajax.Updater(id+'-content', pageData, {asynchronous:true, evalScripts:true, method: 'get', onLoading:function(request){Element.show(id+'-pagination-loading-indicator');}});
|
862
|
-
}
|
863
|
-
|
864
|
-
window.onload = function() {
|
865
|
-
dhtmlHistory.initialize(handleHistoryChange);
|
866
|
-
};
|
867
|
-
|