mirror of https://github.com/rails/rails
Stricter matching for implicitly multipart filenames excludes files ending in unsupported extensions (such as foo.rhtml.bak) and without a two-part content type (such as foo.text.rhtml or foo.text.really.plain.rhtml). Closes #2398.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3040 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
08fd13d17c
commit
f2ee215bec
|
@ -1,3 +1,8 @@
|
|||
*SVN*
|
||||
|
||||
* Stricter matching for implicitly multipart filenames excludes files ending in unsupported extensions (such as foo.rhtml.bak) and without a two-part content type (such as foo.text.rhtml or foo.text.really.plain.rhtml). #2398 [Dave Burt <dave@burt.id.au>, Jeremy Kemper]
|
||||
|
||||
|
||||
*1.1.3* (November 7th, 2005)
|
||||
|
||||
* Allow Mailers to have custom initialize methods that set default instance variables for all mail actions #2563 [mrj@bigpond.net.au]
|
||||
|
|
|
@ -278,11 +278,13 @@ module ActionMailer
|
|||
if @parts.empty?
|
||||
templates = Dir.glob("#{template_path}/#{@template}.*")
|
||||
templates.each do |path|
|
||||
type = (File.basename(path).split(".")[1..-2] || []).join("/")
|
||||
next if type.empty?
|
||||
@parts << Part.new(:content_type => type,
|
||||
# TODO: don't hardcode rhtml|rxml
|
||||
next unless md = /^([^\.]+)\.([^\.]+\.[^\+]+)\.(rhtml|rxml)$/.match(File.basename(path))
|
||||
template_name = "#{md.captures[0]}.#{md.captures[1]}"
|
||||
content_type = md.captures[1].gsub('.', '/')
|
||||
@parts << Part.new(:content_type => content_type,
|
||||
:disposition => "inline", :charset => charset,
|
||||
:body => render_message(File.basename(path).split(".")[0..-2].join('.'), @body))
|
||||
:body => render_message(template_name, @body))
|
||||
end
|
||||
unless @parts.empty?
|
||||
@content_type = "multipart/alternative"
|
||||
|
|
1
actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml
vendored
Normal file
1
actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
Ignored when searching for implicitly multipart parts.
|
1
actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak
vendored
Normal file
1
actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
Ignored when searching for implicitly multipart parts.
|
Loading…
Reference in New Issue