From 537be80be26c38d5384d588873d2682fd908ee62 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Mon, 16 Jul 2012 17:15:40 +0000 Subject: Adds a macro for inserting thumbnails in formatted text (#3510). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10013 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/attachments_controller.rb | 2 +- app/models/attachment.rb | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index edae9b0cc..74a11a1c7 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -61,7 +61,7 @@ class AttachmentsController < ApplicationController end def thumbnail - if @attachment.thumbnailable? && Setting.thumbnails_enabled? && thumbnail = @attachment.thumbnail + if @attachment.thumbnailable? && thumbnail = @attachment.thumbnail(:size => params[:size]) if stale?(:etag => thumbnail) send_file thumbnail, :filename => filename_for_content_disposition(@attachment.filename), diff --git a/app/models/attachment.rb b/app/models/attachment.rb index 9aeee07d0..a1c232d16 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -171,9 +171,17 @@ class Attachment < ActiveRecord::Base # Returns the full path the attachment thumbnail, or nil # if the thumbnail cannot be generated. - def thumbnail + def thumbnail(options={}) if thumbnailable? && readable? - size = Setting.thumbnails_size.to_i + size = options[:size].to_i + if size > 0 + # Limit the number of thumbnails per image + size = (size / 50) * 50 + # Maximum thumbnail size + size = 800 if size > 800 + else + size = Setting.thumbnails_size.to_i + end size = 100 unless size > 0 target = File.join(self.class.thumbnails_storage_path, "#{id}_#{digest}_#{size}.thumb") -- cgit v1.2.3