extend Redmine::Utils::Shell
CONVERT_BIN = (Redmine::Configuration['imagemagick_convert_command'] || 'convert').freeze
+ ALLOWED_TYPES = %w(image/bmp image/gif image/jpeg image/png)
# Generates a thumbnail for the source image to target
def self.generate(source, target, size)
return nil unless convert_available?
unless File.exists?(target)
- # Make sure we only invoke Imagemagick if this is actually an image
- unless File.open(source) {|f| MimeMagic.by_magic(f).try(:image?)}
+ # Make sure we only invoke Imagemagick if the file type is allowed
+ unless File.open(source) {|f| ALLOWED_TYPES.include? MimeMagic.by_magic(f).try(:type) }
return nil
end
directory = File.dirname(target)