diff --git a/data/msfweb/README b/data/msfweb/README new file mode 100644 index 0000000000..37ec8ea211 --- /dev/null +++ b/data/msfweb/README @@ -0,0 +1,243 @@ +== Welcome to Rails + +Rails is a web-application framework that includes everything needed to create +database-backed web applications according to the Model-View-Control pattern. + +This pattern splits the view (also called the presentation) into "dumb" templates +that are primarily responsible for inserting pre-built data in between HTML tags. +The model contains the "smart" domain objects (such as Account, Product, Person, +Post) that holds all the business logic and knows how to persist themselves to +a database. The controller handles the incoming requests (such as Save New Account, +Update Product, Show Post) by manipulating the model and directing data to the view. + +In Rails, the model is handled by what's called an object-relational mapping +layer entitled Active Record. This layer allows you to present the data from +database rows as objects and embellish these data objects with business logic +methods. You can read more about Active Record in +link:files/vendor/rails/activerecord/README.html. + +The controller and view are handled by the Action Pack, which handles both +layers by its two parts: Action View and Action Controller. These two layers +are bundled in a single package due to their heavy interdependence. This is +unlike the relationship between the Active Record and Action Pack that is much +more separate. Each of these packages can be used independently outside of +Rails. You can read more about Action Pack in +link:files/vendor/rails/actionpack/README.html. + + +== Getting Started + +1. At the command prompt, start a new Rails application using the rails command + and your application name. Ex: rails myapp +2. Change directory into myapp and start the web server: script/server (run with --help for options) +3. Go to http://localhost:3000/ and get "Welcome aboard: You're riding the Rails!" +4. Follow the guidelines to start developing your application + + +== Web Servers + +By default, Rails will try to use Mongrel if it's are installed when started with script/server, otherwise Rails will use WEBrick, the webserver that ships with Ruby. But you can also use Rails +with a variety of other web servers. + +Mongrel is a Ruby-based webserver with a C component (which requires compilation) that is +suitable for development and deployment of Rails applications. If you have Ruby Gems installed, +getting up and running with mongrel is as easy as: gem install mongrel. +More info at: http://mongrel.rubyforge.org + +Say other Ruby web servers like Thin and Ebb or regular web servers like Apache or LiteSpeed or +Lighttpd or IIS. The Ruby web servers are run through Rack and the latter can either be setup to use +FCGI or proxy to a pack of Mongrels/Thin/Ebb servers. + +== Apache .htaccess example for FCGI/CGI + +# General Apache options +AddHandler fastcgi-script .fcgi +AddHandler cgi-script .cgi +Options +FollowSymLinks +ExecCGI + +# If you don't want Rails to look in certain directories, +# use the following rewrite rules so that Apache won't rewrite certain requests +# +# Example: +# RewriteCond %{REQUEST_URI} ^/notrails.* +# RewriteRule .* - [L] + +# Redirect all requests not available on the filesystem to Rails +# By default the cgi dispatcher is used which is very slow +# +# For better performance replace the dispatcher with the fastcgi one +# +# Example: +# RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] +RewriteEngine On + +# If your Rails application is accessed via an Alias directive, +# then you MUST also set the RewriteBase in this htaccess file. +# +# Example: +# Alias /myrailsapp /path/to/myrailsapp/public +# RewriteBase /myrailsapp + +RewriteRule ^$ index.html [QSA] +RewriteRule ^([^.]+)$ $1.html [QSA] +RewriteCond %{REQUEST_FILENAME} !-f +RewriteRule ^(.*)$ dispatch.cgi [QSA,L] + +# In case Rails experiences terminal errors +# Instead of displaying this message you can supply a file here which will be rendered instead +# +# Example: +# ErrorDocument 500 /500.html + +ErrorDocument 500 "
|
+ <%= h(@tmod.name) %> + |
+ |
| + | +|
|
+ Validation Error: <%= h(@aux_error) %> + |
+ |
| + Auxiliary launched. If the auxiliary console window does not appear, please click + here. + | +|
| + CURRENT CONFIGURATION - + <%= link_to "change action", :action => "view", :refname => h(params[:refname]) %> + | +|
|---|---|
| AUXILIARY | +<%= @tmod.refname %> | +
| ACTION | +<%= h(@act ? @act.name : 'Default Action') %> | +
| STANDARD OPTIONS | +|
Find me in app/views/auxiliaries/run.rhtml
diff --git a/data/msfweb/app/views/auxiliaries/view.rhtml b/data/msfweb/app/views/auxiliaries/view.rhtml new file mode 100644 index 0000000000..4538feb7af --- /dev/null +++ b/data/msfweb/app/views/auxiliaries/view.rhtml @@ -0,0 +1,75 @@ +|
+ <%= h(@tmod.name) %> + |
+
| + | +
|
+ <%= @tmod.description.split("\n\n").map{ |t| h(t) }.join(" ") %> + |
+
| + | +
| + This module (v<%= h @tmod.version.gsub(/\$Revision:\s+|\s+\$/, '') %>) was + provided by <%= h @tmod.author.map{ |a| a.to_s.gsub(/\<.*/, '') }.join(' and ').strip %>, + under the <%= @tmod.license %>. + | +
| + | +
| + Select a target to continue: + | +
+
|
+
| + | +
| + External references: + | +
+
|
+
| + <%=h @console.prompt %> + | ++ + + + | +
Find me in app/views/encoders/encode.rhtml
diff --git a/data/msfweb/app/views/encoders/list.rhtml b/data/msfweb/app/views/encoders/list.rhtml new file mode 100644 index 0000000000..ed4c115bd9 --- /dev/null +++ b/data/msfweb/app/views/encoders/list.rhtml @@ -0,0 +1,12 @@ +|
+ <%= h(@tmod.name) %> + |
+ |
| + | +|
|
+ Select payload for target <%= h(@target.name) %>: + |
+ |
| + | +|
|
+ Validation Error: <%= h(@exploit_error) %> + |
+ |
| + Exploit launched. If the exploit console window does not appear, please click + here. + | +|
| + CURRENT CONFIGURATION - <%= link_to "change target", :action => "view", :refname => h(params[:refname]) %> + | +|
|---|---|
| EXPLOIT | +<%= @tmod.refname %> | +
| TARGET | +<%= @target.name %> | +
| Name | +Description | +
| <%= link_to h(p[0]), :refname => @tmod.refname.gsub('/', ':'), :step => "config", + :target => h(params[:target].to_i), :payload => idx %> | +<%= h(o.description) %> | +
| + CURRENT CONFIGURATION - + <%= link_to "change payload", :action => "config", :refname => h(params[:refname]) %> + | +|
| EXPLOIT | +<%= h @tmod.refname %> | +
| TARGET | +<%= h @target.name %> | +
| PAYLOAD | +<%= h @payload_name %> | +
| STANDARD OPTIONS | +|
|
+ <%= h(@tmod.name) %> + |
+
| + | +
|
+ <%= @tmod.description.split("\n\n").map{ |t| h(t) }.join(" ") %> + |
+
| + | +
| + This module (v<%= h @tmod.version.gsub(/\$Revision:\s+|\s+\$/, '') %>) was + provided by <%= h @tmod.author.map{ |a| a.to_s.gsub(/\<.*/, '') }.join(' and ').strip %>, + under the <%= @tmod.license %>. + | +
| + | +
| + Select a target to continue: + | +
+
|
+
| + | +
| + External references: + | +
+
|
+
Find bug. Click. Profit.
+ +
+
+ + edit existent |
+
+
+ + new exploit + + |
+
+ <%= flash[:error] %> +
+ <% end %> + +<% if @step == 1 %> ++
+| Name: | +<%= text_field "exploit", "name" %> | +
| Title: | +<%= text_field "exploit", "title" %> | +
| Description: | +<%= text_area "exploit", "description", :cols => 40, :rows => 5 %> | +
| Authors: | +<%= text_area "exploit", "authors", :cols => 40, :rows => 5 %> | +
| References: | +<%= text_area "exploit", "references", :cols => 40, :rows => 5 %> | +
| License: | +<%= select ("exploit", "license", return_selectable_licenses()) %> | +
| <%= submit_tag "Next" %> | +|
+
+| Space for payload: | +<%= text_field "exploit", "payload_space" %> | +
| Bad characters: | +<%= text_field "exploit", "payload_badchars" %> | +
| Prepend: | +<%= text_field "exploit", "payload_prepend" %> | +
| Append: | +<%= text_field "exploit", "payload_append" %> | +
| SaveRegisters: | +<%= text_field "exploit", "payload_saveregs" %> | +
| Previous | +<%= submit_tag "Next" %> | +
+
+| SaveRegisters: | +<%= text_field "exploit", "payload_saveregs" %> | +
| Previous | +<%= submit_tag "Next" %> | +
| ID | +Description | +
|---|---|
| <%= n %> | <%= m %> |
Find me in app/views/jobs/stop.rhtml
diff --git a/data/msfweb/app/views/layouts/_menu_bar.rhtml b/data/msfweb/app/views/layouts/_menu_bar.rhtml new file mode 100644 index 0000000000..232e2d9163 --- /dev/null +++ b/data/msfweb/app/views/layouts/_menu_bar.rhtml @@ -0,0 +1,23 @@ +
+ | + <% if (params[:terms].strip.length > 0) %> + <% if (@results.size > 0) %> + Matched <%= @results.size %> modules for term <%=h params[:terms] %> + <% else %> + No matching modules for term <%=h params[:terms] %> + <% end %> + <% else %> + Showing all <%= @results.size %> modules + <% end %> + | +|||
+<% else %>
+
+ ')"><%= h(m.name) %>
+
+ <% if m.platform and @module_type =~ /(payloads|exploits)/ %>
+ <%= module_platform_icons(m.platform) %>
+ <% else %>
+ <% if (m.arch.length > 0) %>
+ (<%= h m.arch.join(', ') %>)
+ <% end %>
+ <% end %>
+ |
+
+ <%= m.description %>
+ |
+ | |
+ No results for terms <%= h(params[:terms]) %>. +
+<% end %> + diff --git a/data/msfweb/app/views/nops/generate.rhtml b/data/msfweb/app/views/nops/generate.rhtml new file mode 100644 index 0000000000..4d1b50f049 --- /dev/null +++ b/data/msfweb/app/views/nops/generate.rhtml @@ -0,0 +1,2 @@ +Find me in app/views/nops/generate.rhtml
diff --git a/data/msfweb/app/views/nops/list.rhtml b/data/msfweb/app/views/nops/list.rhtml new file mode 100644 index 0000000000..ce634c0ae4 --- /dev/null +++ b/data/msfweb/app/views/nops/list.rhtml @@ -0,0 +1,12 @@ +Find me in app/views/payloads/generate.rhtml
diff --git a/data/msfweb/app/views/payloads/list.rhtml b/data/msfweb/app/views/payloads/list.rhtml new file mode 100644 index 0000000000..82a02de0e6 --- /dev/null +++ b/data/msfweb/app/views/payloads/list.rhtml @@ -0,0 +1,13 @@ +|
+ <%= h(@tmod.name) %> + |
+ |
| + | +|
|
+ <%= @tmod.description.split("\n\n").map{ |t| h(t) }.join(" ") %> + |
+ |
| + | +|
| + This module (v<%= h @tmod.version.gsub(/\$Revision:\s+|\s+\$/, '') %>) was + provided by <%= h @tmod.author.map{ |a| a.to_s.gsub(/\<.*/, '') }.join(' and ').strip %>, + under the <%= @tmod.license %>. + | +|
| + | +|
| + External references: + | +|
+
|
+ |
| Size: | +<%= @tmod.generate.length %> | +
| Architecture: | +<%= @tmod.arch_to_s %> | +
| Operating system: | +<%= @tmod.platform_to_s %> | +
| + | |
|---|---|
| OPTIONS | +|
| + Payload code + (<%= link_to "back", :action => "view", :refname => h(params[:refname]) %>) + | +|
| + + | +|
| ID | +Target | +Payload | +Exploit | +
|---|---|---|---|
| <%= n %> | +<%= m.tunnel_peer %> | +<%= m.via_payload %> | +<%= m.via_exploit %> | + <% end %> +
You may have mistyped the address or the page may have moved.
+Maybe you tried to change something you didn't have access to.
+We've been notified about this issue and we'll take a look at it shortly.
+
'
+
+ ...to avoid frequent stats (not a problem for most people), you can set RAILS_ASSET_ID in the ENV to avoid stats:
+
+ ENV["RAILS_ASSET_ID"] = "2345"
+ image_tag("rails.png") # => '
'
+
+ This can be used by deployment managers to set the asset id by application revision
+
+
+*1.12.0* (March 27th, 2006)
+
+* Add documentation for respond_to. [Jamis Buck]
+
+* Fixed require of bluecloth and redcloth when gems haven't been loaded #4446 [murphy@cYcnus.de]
+
+* Update to Prototype 1.5.0_pre1 [Sam Stephenson]
+
+* Change #form_for and #fields_for so that the second argument is not required [Dave Thomas]
+
+ <% form_for :post, @post, :url => { :action => 'create' } do |f| -%>
+
+ becomes...
+
+ <% form_for :post, :url => { :action => 'create' } do |f| -%>
+
+* Update to script.aculo.us 1.6 [Thomas Fuchs]
+
+* Enable application/x-yaml processing by default [Jamis Buck]
+
+* Fix double url escaping of remote_function. Add :escape => false option to ActionView's url_for. [Nicholas Seckar]
+
+* Add :script option to in_place_editor to support evalScripts (closes #4194) [Cody Fauser]
+
+* Fix mixed case enumerable methods in the JavaScript Collection Proxy (closes #4314) [Cody Fauser]
+
+* Undo accidental escaping for mail_to; add regression test. [Nicholas Seckar]
+
+* Added nicer message for assert_redirected_to (closes #4294) [court3nay]
+
+ assert_redirected_to :action => 'other_host', :only_path => false
+
+ when it was expecting...
+
+ redirected_to :action => 'other_host', :only_path => true, :host => 'other.test.host'
+
+ gives the error message...
+
+ response is not a redirection to all of the options supplied (redirection is <{:only_path=>false, :host=>"other.test.host", :action=>"other_host"}>), difference: <{:only_path=>"true", :host=>"other.test.host"}>
+
+* Change url_for to escape the resulting URLs when called from a view. [Nicholas Seckar, coffee2code]
+
+* Added easy support for testing file uploads with fixture_file_upload #4105 [turnip@turnipspatch.com]. Example:
+
+ # Looks in Test::Unit::TestCase.fixture_path + '/files/spongebob.png'
+ post :change_avatar, :avatar => fixture_file_upload('/files/spongebob.png', 'image/png')
+
+* Fixed UrlHelper#current_page? to behave even when url-escaped entities are present #3929 [jeremy@planetargon.com]
+
+* Add ability for relative_url_root to be specified via an environment variable RAILS_RELATIVE_URL_ROOT. [isaac@reuben.com, Nicholas Seckar]
+
+* Fixed link_to "somewhere", :post => true to produce valid XHTML by using the parentnode instead of document.body for the instant form #3007 [Bob Silva]
+
+* Added :function option to PrototypeHelper#observe_field/observe_form that allows you to call a function instead of submitting an ajax call as the trigger #4268 [jonathan@daikini.com]
+
+* Make Mime::Type.parse consider q values (if any) [Jamis Buck]
+
+* XML-formatted requests are typecast according to "type" attributes for :xml_simple [Jamis Buck]
+
+* Added protection against proxy setups treating requests as local even when they're not #3898 [Steve Purcell]
+
+* Added TestRequest#raw_post that simulate raw_post from CgiRequest #3042 [François Beausoleil]
+
+* Underscore dasherized keys in formatted requests [Jamis Buck]
+
+* Add MimeResponds::Responder#any for managing multiple types with identical responses [Jamis Buck]
+
+* Make the xml_http_request testing method set the HTTP_ACCEPT header [Jamis Buck]
+
+* Add Verification to scaffolds. Prevent destructive actions using GET [Michael Koziarski]
+
+* Avoid hitting the filesystem when using layouts by using a File.directory? cache. [Stefan Kaes, Nicholas Seckar]
+
+* Simplify ActionController::Base#controller_path [Nicholas Seckar]
+
+* Added simple alert() notifications for RJS exceptions when config.action_view.debug_rjs = true. [Sam Stephenson]
+
+* Added :content_type option to render, so you can change the content type on the fly [David Heinemeier Hansson]. Example: render :action => "atom.rxml", :content_type => "application/atom+xml"
+
+* CHANGED DEFAULT: The default content type for .rxml is now application/xml instead of type/xml, see http://www.xml.com/pub/a/2004/07/21/dive.html for reason [David Heinemeier Hansson]
+
+* Added option to render action/template/file of a specific extension (and here by template type). This means you can have multiple templates with the same name but a different extension [David Heinemeier Hansson]. Example:
+
+ class WeblogController < ActionController::Base
+ def index
+ @posts = Post.find :all
+
+ respond_to do |type|
+ type.html # using defaults, which will render weblog/index.rhtml
+ type.xml { render :action => "index.rxml" }
+ type.js { render :action => "index.rjs" }
+ end
+ end
+ end
+
+* Added better support for using the same actions to output for different sources depending on the Accept header [David Heinemeier Hansson]. Example:
+
+ class WeblogController < ActionController::Base
+ def create
+ @post = Post.create(params[:post])
+
+ respond_to do |type|
+ type.js { render } # renders create.rjs
+ type.html { redirect_to :action => "index" }
+ type.xml do
+ headers["Location"] = url_for(:action => "show", :id => @post)
+ render(:nothing, :status => "201 Created")
+ end
+ end
+ end
+ end
+
+* Added Base#render(:xml => xml) that works just like Base#render(:text => text), but sets the content-type to text/xml and the charset to UTF-8 [David Heinemeier Hansson]
+
+* Integration test's url_for now runs in the context of the last request (if any) so after post /products/show/1 url_for :action => 'new' will yield /product/new [Tobias Lütke]
+
+* Re-added mixed-in helper methods for the JavascriptGenerator. Moved JavascriptGenerators methods to a module that is mixed in after the helpers are added. Also fixed that variables set in the enumeration methods like #collect are set correctly. Documentation added for the enumeration methods [Rick Olson]. Examples:
+
+ page.select('#items li').collect('items') do |element|
+ element.hide
+ end
+ # => var items = $$('#items li').collect(function(value, index) { return value.hide(); });
+
+* Added plugin support for parameter parsers, which allows for better support for REST web services. By default, posts submitted with the application/xml content type is handled by creating a XmlSimple hash with the same name as the root element of the submitted xml. More handlers can easily be registered like this:
+
+ # Assign a new param parser to a new content type
+ ActionController::Base.param_parsers['application/atom+xml'] = Proc.new do |data|
+ node = REXML::Document.new(post)
+ { node.root.name => node.root }
+ end
+
+ # Assign the default XmlSimple to a new content type
+ ActionController::Base.param_parsers['application/backpack+xml'] = :xml_simple
+
+Default YAML web services were retired, ActionController::Base.param_parsers carries an example which shows how to get this functionality back. As part of this new plugin support, request.[formatted_post?, xml_post?, yaml_post? and post_format] were all deprecated in favor of request.content_type [Tobias Lütke]
+
+* Fixed Effect.Appear in effects.js to work with floats in Safari #3524, #3813, #3044 [Thomas Fuchs]
+
+* Fixed that default image extension was not appended when using a full URL with AssetTagHelper#image_tag #4032, #3728 [rubyonrails@beautifulpixel.com]
+
+* Added that page caching will only happen if the response code is less than 400 #4033 [g.bucher@teti.ch]
+
+* Add ActionController::IntegrationTest to allow high-level testing of the way the controllers and routes all work together [Jamis Buck]
+
+* Added support to AssetTagHelper#javascript_include_tag for having :defaults appear anywhere in the list, so you can now make one call ala javascript_include_tag(:defaults, "my_scripts") or javascript_include_tag("my_scripts", :defaults) depending on how you want the load order #3506 [Bob Silva]
+
+* Added support for visual effects scoped queues to the visual_effect helper #3530 [Abdur-Rahman Advany]
+
+* Added .rxml (and any non-rhtml template, really) supportfor CaptureHelper#content_for and CaptureHelper#capture #3287 [Brian Takita]
+
+* Added script.aculo.us drag and drop helpers to RJS [Thomas Fuchs]. Examples:
+
+ page.draggable 'product-1'
+ page.drop_receiving 'wastebasket', :url => { :action => 'delete' }
+ page.sortable 'todolist', :url => { action => 'change_order' }
+
+* Fixed that form elements would strip the trailing [] from the first parameter #3545 [ruby@bobsilva.com]
+
+* During controller resolution, update the NameError suppression to check for the expected constant. [Nicholas Seckar]
+
+* Update script.aculo.us to V1.5.3 [Thomas Fuchs]
+
+* Added various InPlaceEditor options, #3746, #3891, #3896, #3906 [Bill Burcham, ruairi, sl33p3r]
+
+* Added :count option to pagination that'll make it possible for the ActiveRecord::Base.count call to using something else than * for the count. Especially important for count queries using DISTINCT #3839 [Stefan Kaes]
+
+* Update script.aculo.us to V1.5.2 [Thomas Fuchs]
+
+* Added element and collection proxies to RJS [David Heinemeier Hansson]. Examples:
+
+ page['blank_slate'] # => $('blank_slate');
+ page['blank_slate'].show # => $('blank_slate').show();
+ page['blank_slate'].show('first').up # => $('blank_slate').show('first').up();
+
+ page.select('p') # => $$('p');
+ page.select('p.welcome b').first # => $$('p.welcome b').first();
+ page.select('p.welcome b').first.hide # => $$('p.welcome b').first().hide();
+
+* Add JavaScriptGenerator#replace for replacing an element's "outer HTML". #3246 [tom@craz8.com, Sam Stephenson]
+
+* Remove over-engineered form_for code for a leaner implementation. [Nicholas Seckar]
+
+* Document form_for's :html option. [Nicholas Seckar]
+
+* Major components cleanup and speedup. #3527 [Stefan Kaes]
+
+* Fix problems with pagination and :include. [Kevin Clark]
+
+* Add ActiveRecordTestCase for testing AR integration. [Kevin Clark]
+
+* Add Unit Tests for pagination [Kevin Clark]
+
+* Add :html option for specifying form tag options in form_for. [Sam Stephenson]
+
+* Replace dubious controller parent class in filter docs. #3655, #3722 [info@rhalff.com, eigentone@gmail.com]
+
+* Don't interpret the :value option on text_area as an html attribute. Set the text_area's value. #3752 [gabriel@gironda.org]
+
+* Fix remote_form_for creates a non-ajax form. [Rick Olson]
+
+* Don't let arbitrary classes match as controllers -- a potentially dangerous bug. [Nicholas Seckar]
+
+* Fix Routing tests. Fix routing where failing to match a controller would prevent the rest of routes from being attempted. [Nicholas Seckar]
+
+* Add :builder => option to form_for and friends. [Nicholas Seckar, Rick Olson]
+
+* Fix controller resolution to avoid accidentally inheriting a controller from a parent module. [Nicholas Seckar]
+
+* Set sweeper's @controller to nil after a request so that the controller may be collected between requests. [Nicholas Seckar]
+
+* Subclasses of ActionController::Caching::Sweeper should be Reloadable. [Rick Olson]
+
+* Document the :xhr option for verifications. #3666 [leeo]
+
+* Added :only and :except controls to skip_before/after_filter just like for when you add filters [David Heinemeier Hansson]
+
+* Ensure that the instance variables are copied to the template when performing render :update. [Nicholas Seckar]
+
+* Add the ability to call JavaScriptGenerator methods from helpers called in update blocks. [Sam Stephenson] Example:
+ module ApplicationHelper
+ def update_time
+ page.replace_html 'time', Time.now.to_s(:db)
+ page.visual_effect :highlight, 'time'
+ end
+ end
+
+ class UserController < ApplicationController
+ def poll
+ render :update { |page| page.update_time }
+ end
+ end
+
+* Add render(:update) to ActionView::Base. [Sam Stephenson]
+
+* Fix render(:update) to not render layouts. [Sam Stephenson]
+
+* Fixed that SSL would not correctly be detected when running lighttpd/fcgi behind lighttpd w/mod_proxy #3548 [Steve Purcell]
+
+* Added the possibility to specify atomatic expiration for the memcachd session container #3571 [Stefan Kaes]
+
+* Change layout discovery to take into account the change in semantics with File.join and nil arguments. [Marcel Molina Jr.]
+
+* Raise a RedirectBackError if redirect_to :back is called when there's no HTTP_REFERER defined #3049 [Kevin Clark]
+
+* Treat timestamps like datetimes for scaffolding purposes #3388 [Maik Schmidt]
+
+* Fix IE bug with link_to "something", :post => true #3443 [Justin Palmer]
+
+* Extract Test::Unit::TestCase test process behavior into an ActionController::TestProcess module. [Sam Stephenson]
+
+* Pass along blocks from render_to_string to render. [Sam Stephenson]
+
+* Add render :update for inline RJS. [Sam Stephenson] Example:
+ class UserController < ApplicationController
+ def refresh
+ render :update do |page|
+ page.replace_html 'user_list', :partial => 'user', :collection => @users
+ page.visual_effect :highlight, 'user_list'
+ end
+ end
+ end
+
+* allow nil objects for error_messages_for [Michael Koziarski]
+
+* Refactor human_size to exclude decimal place if it is zero. [Marcel Molina Jr.]
+
+* Update to Prototype 1.5.0_pre0 [Sam Stephenson]
+
+* Automatically discover layouts when a controller is namespaced. #2199, #3424 [me@jonnii.com rails@jeffcole.net Marcel Molina Jr.]
+
+* Add support for multiple proxy servers to CgiRequest#host [gaetanot@comcast.net]
+
+* Documentation typo fix. #2367 [Blair Zajac]
+
+* Remove Upload Progress. #2871 [Sean Treadway]
+
+* Fix typo in function name mapping in auto_complete_field. #2929 #3446 [doppler@gmail.com phil.ross@gmail.com]
+
+* Allow auto-discovery of third party template library layouts. [Marcel Molina Jr.]
+
+* Have the form builder output radio button, not check box, when calling the radio button helper. #3331 [LouisStAmour@gmail.com]
+
+* Added assignment of the Autocompleter object created by JavaScriptMacroHelper#auto_complete_field to a local javascript variables [David Heinemeier Hansson]
+
+* Added :on option for PrototypeHelper#observe_field that allows you to specify a different callback hook to have the observer trigger on [David Heinemeier Hansson]
+
+* Added JavaScriptHelper#button_to_function that works just like JavaScriptHelper#link_to_function but uses a button instead of a href [David Heinemeier Hansson]
+
+* Added that JavaScriptHelper#link_to_function will honor existing :onclick definitions when adding the function call [David Heinemeier Hansson]
+
+* Added :disable_with option to FormTagHelper#submit_tag to allow for easily disabled submit buttons with different text [David Heinemeier Hansson]
+
+* Make auto_link handle nil by returning quickly if blank? [Scott Barron]
+
+* Make auto_link match urls with a port number specified. [Marcel Molina Jr.]
+
+* Added support for toggling visual effects to ScriptaculousHelper::visual_effect, #3323. [Thomas Fuchs]
+
+* Update to script.aculo.us to 1.5.0 rev. 3343 [Thomas Fuchs]
+
+* Added :select option for JavaScriptMacroHelper#auto_complete_field that makes it easier to only use part of the auto-complete suggestion as the value for insertion [Thomas Fuchs]
+
+* Added delayed execution of Javascript from within RJS #3264 [devslashnull@gmail.com]. Example:
+
+ page.delay(20) do
+ page.visual_effect :fade, 'notice'
+ end
+
+* Add session ID to default logging, but remove the verbose description of every step [David Heinemeier Hansson]
+
+* Add the following RJS methods: [Sam Stephenson]
+
+ * alert - Displays an alert() dialog
+ * redirect_to - Changes window.location.href to simulate a browser redirect
+ * call - Calls a JavaScript function
+ * assign - Assigns to a JavaScript variable
+ * << - Inserts an arbitrary JavaScript string
+
+* Fix incorrect documentation for form_for [Nicholas Seckar]
+
+* Don't include a layout when rendering an rjs template using render's :template option. [Marcel Molina Jr.]
+
+*1.1.2* (December 13th, 2005)
+
+* Become part of Rails 1.0
+
+* Update to script.aculo.us 1.5.0 final (equals 1.5.0_rc6) [Thomas Fuchs]
+
+* Update to Prototype 1.4.0 final [Sam Stephenson]
+
+* Added form_remote_for (form_for meets form_remote_tag) [David Heinemeier Hansson]
+
+* Update to script.aculo.us 1.5.0_rc6
+
+* More robust relative url root discovery for SCGI compatibility. This solves the 'SCGI routes problem' -- you no longer need to prefix all your routes with the name of the SCGI mountpoint. #3070 [Dave Ringoen]
+
+* Fix docs for text_area_tag. #3083. [Christopher Cotton]
+
+* Change form_for and fields_for method signatures to take object name and object as separate arguments rather than as a Hash. [David Heinemeier Hansson]
+
+* Introduce :selected option to the select helper. Allows you to specify a selection other than the current value of object.method. Specify :selected => nil to leave all options unselected. #2991 [Jonathan Viney New product!
") %> + + <% update_element_function("products", :action => :replace, :binding => binding) do %> +Product 1
+Product 2
+ <% end %> + +* Added :field_name option to DateHelper#select_(year|month|day) to deviate from the year/month/day defaults #1266 [Marcel Molina Jr.] + +* Added JavascriptHelper#draggable_element and JavascriptHelper#drop_receiving_element to facilitate easy dragging and dropping through the script.aculo.us libraries #1578 [Thomas Fuchs] + +* Added that UrlHelper#mail_to will now also encode the default link title #749 [f.svehla@gmail.com] + +* Removed the default option of wrap=virtual on FormHelper#text_area to ensure XHTML compatibility #1300 [thomas@columbus.rr.com] + +* Adds the ability to include XML CDATA tags using Builder #1563 [Josh Knowles]. Example: + + xml.cdata! "some text" # => + +* Added evaluation of + + + +| Ruby | +<%=h frames.first.filename %>: in <%=h frames.first.function %>, line <%=h frames.first.lineno %> |
+
|---|---|
| Web | +<%=h req.request_method %> <%=h(req.host + path)%> |
+
<%=h frame.filename %>: in <%=h frame.function %>
+
+ <% if frame.context_line %>
+ | Variable | +Value | +
|---|---|
| <%=h key %> | +<%=h val.inspect %> |
+
No GET data.
+ <% end %> + +| Variable | +Value | +
|---|---|
| <%=h key %> | +<%=h val.inspect %> |
+
No POST data.
+ <% end %> + + +| Variable | +Value | +
|---|---|
| <%=h key %> | +<%=h val.inspect %> |
+
No cookie data.
+ <% end %> + +| Variable | +Value | +
|---|---|
| <%=h key %> | +<%=h val %> |
+
+ You're seeing this error because you use Rack::ShowExceptions.
+