Changeset 5892

Show
Ignore:
Timestamp:
07/31/08 18:06:36 (4 months ago)
Author:
uta
Message:

2008/07/31 sync

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • rubricks_core/trunk/Readme.en.txt

    r5859 r5892  
    6363    URL:        http://rubyforge.org/projects/rails/ 
    6464    License:    MIT 
    65   rails_protection 0.2.0 
     65  rails_protection 0.2.1 
    6666    URL:        http://rubyforge.org/projects/rubricks 
    6767                svn://dev.rubricks.org/var/svn/rubricks/plugins/rails_protection 
  • rubricks_core/trunk/Readme.ja.txt

    r5859 r5892  
    6363    URL:        http://rubyforge.org/projects/rails/ 
    6464    License:    MIT 
    65   rails_protection 0.2.0 
     65  rails_protection 0.2.1 
    6666    URL:        http://rubyforge.org/projects/rubricks 
    6767                svn://dev.rubricks.org/var/svn/rubricks/plugins/rails_protection 
  • rubricks_core/trunk/vendor/plugins/rails_protection/lib/rails_protection_for_csrf.rb

    r5857 r5892  
    8484      alias :start_form_tag :form_tag 
    8585 
    86       # Add session_id parameter to Ajax.Base options. 
    87       # 
    88       # Syntax: 
    89       #   override_ajax_base_options 
    90       # 
    91       # Examples: 
    92       #   <%= override_ajax_base_options %> 
    9386      def override_ajax_base_options 
    9487        html = <<-"EOS" 
    9588          <script type="text/javascript"> 
    96             (function(){ 
    97               var setOptionsForRailsProtection = function(options) { 
    98                 this.options = { 
    99                   method:       'post', 
    100                   asynchronous: true, 
    101                   contentType:  'application/x-www-form-urlencoded', 
    102                   encoding:     'UTF-8', 
    103                   parameters:   '' 
    104                 }; 
    105                 Object.extend(this.options, options || {}); 
    106                 this.options.method = this.options.method.toLowerCase(); 
    107                 if(typeof this.options.parameters == 'string') { 
    108                   this.options.parameters = this.options.parameters.toQueryParams(); 
    109                 } 
    110                 Object.extend(this.options.parameters, {rails_protection_session_id: '<%= RailsProtection::Csrf::Util.token(session) %>'}); 
    111               }; 
    112               Ajax.Request.prototype.setOptions = setOptionsForRailsProtection; 
    113               Ajax.Updater.prototype.setOptions = setOptionsForRailsProtection; 
    114               Ajax.Base.prototype.setOptions = setOptionsForRailsProtection; 
    115             })(); 
     89            switch(parseFloat(Prototype.Version, 10)) { 
     90              case 1.5: 
     91                (function(){ 
     92                  var setOptionsForRailsProtection = function(options) { 
     93                    this.options = { 
     94                      method:       'post', 
     95                      asynchronous: true, 
     96                      contentType:  'application/x-www-form-urlencoded', 
     97                      encoding:     'UTF-8', 
     98                      parameters:   '' 
     99                    }; 
     100                    Object.extend(this.options, options || {}); 
     101                    this.options.method = this.options.method.toLowerCase(); 
     102                    if(typeof this.options.parameters == 'string') { 
     103                      this.options.parameters = this.options.parameters.toQueryParams(); 
     104                    } 
     105                    Object.extend(this.options.parameters, {rails_protection_session_id: '#{RailsProtection::Csrf::Util.token(session)}'}); 
     106                  }; 
     107                  Ajax.Request.prototype.setOptions = setOptionsForRailsProtection; 
     108                  Ajax.Updater.prototype.setOptions = setOptionsForRailsProtection; 
     109                  Ajax.Base.prototype.setOptions = setOptionsForRailsProtection; 
     110                })(); 
     111                break; 
     112              case 1.6: 
     113                Object.extend(Ajax.Base.prototype, { 
     114                  initialize_original: Ajax.Base.prototype.initialize, 
     115                  initialize: function(options) { 
     116                    this.initialize_original(options); 
     117                    Object.extend(this.options.parameters, {rails_protection_session_id:'#{RailsProtection::Csrf::Util.token(session)}'}); 
     118                  } 
     119                }); 
     120                break; 
     121              default: 
     122                break; 
     123            } 
    116124          </script> 
    117125        EOS