Feature #32898 » pdf-thumbnail-win.patch
lib/redmine/platform.rb | ||
---|---|---|
20 | 20 |
module Redmine |
21 | 21 |
module Platform |
22 | 22 |
class << self |
23 |
def mswin64? |
|
24 |
mswin? && RUBY_PLATFORM.include?('x86_64') |
|
25 |
end |
|
26 | ||
23 | 27 |
def mswin? |
24 | 28 |
(/(:?mswin|mingw)/.match?(RUBY_PLATFORM)) || |
25 | 29 |
(RUBY_PLATFORM == 'java' && /windows/i.match?(ENV['OS'] || ENV['os'])) |
lib/redmine/thumbnail.rb | ||
---|---|---|
24 | 24 |
extend Redmine::Utils::Shell |
25 | 25 | |
26 | 26 |
CONVERT_BIN = (Redmine::Configuration['imagemagick_convert_command'] || 'convert').freeze |
27 |
GS_BIN = (Redmine::Configuration['gs_command'] || 'gs').freeze |
|
27 |
DEFAULT_GS_COMMAND = |
|
28 |
if Redmine::Platform.mswin? |
|
29 |
Redmine::Platform.mswin64? ? 'gswin64c' : 'gswin32c' |
|
30 |
else |
|
31 |
'gs' |
|
32 |
end |
|
33 |
GS_BIN = (Redmine::Configuration['gs_command'] || DEFAULT_GS_COMMAND).freeze |
|
28 | 34 |
ALLOWED_TYPES = %w(image/bmp image/gif image/jpeg image/png application/pdf) |
29 | 35 | |
30 | 36 |
# Generates a thumbnail for the source image to target |
... | ... | |
73 | 79 |
def self.gs_available? |
74 | 80 |
return @gs_available if defined?(@gs_available) |
75 | 81 | |
76 |
if Redmine::Platform.mswin? |
|
82 |
begin |
|
83 |
`#{shell_quote GS_BIN} -version` |
|
84 |
@gs_available = $?.success? |
|
85 |
rescue |
|
77 | 86 |
@gs_available = false |
78 |
else |
|
79 |
begin |
|
80 |
`#{shell_quote GS_BIN} -version` |
|
81 |
@gs_available = $?.success? |
|
82 |
rescue |
|
83 |
@gs_available = false |
|
84 |
end |
|
85 | 87 |
end |
86 | 88 |
logger.warn("gs binary (#{GS_BIN}) not available") unless @gs_available |
87 | 89 |
@gs_available |