caboose-cms 0.7.70 → 0.7.71
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ef12fa6392d39fa4faf8be10245f0e0532ce088
|
4
|
+
data.tar.gz: 49253e331627337f49c57c13cb38663876b2d89f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a7973212ed78b8282de7dceece1989b2e6efa373b2946657c4f16bfc0674fce4c3111e95b09c63ae53c41e32c0a4d8d3ad4f34b0b84e219affa6407d904ad4a
|
7
|
+
data.tar.gz: d6224a2867094144f871a41eaf098275777082fbf63b3fa39363456e9a81f1c650042fbb0aa98413503daae333ca15a31ad02fa427f6aa5e2f48ecc2d039cdd0
|
@@ -167,9 +167,15 @@ module Caboose
|
|
167
167
|
media_category_id = params[:media_category_id]
|
168
168
|
original_name = params[:name]
|
169
169
|
name = Caboose::Media.upload_name(original_name)
|
170
|
+
file_type = params[:file_type]
|
171
|
+
if ['image/gif', 'image/jpeg', 'image/png', 'image/tiff'].include? file_type
|
172
|
+
image_content_type = file_type
|
173
|
+
else
|
174
|
+
file_content_type = file_type
|
175
|
+
end
|
170
176
|
m = Media.where(:media_category_id => media_category_id, :original_name => original_name, :name => name).first
|
171
177
|
if m.nil?
|
172
|
-
m = Media.create(:media_category_id => media_category_id, :original_name => original_name, :name => name, :processed => false)
|
178
|
+
m = Media.create(:media_category_id => media_category_id, :original_name => original_name, :name => name, :image_content_type => image_content_type, :file_content_type => file_content_type, :processed => false)
|
173
179
|
end
|
174
180
|
p = Product.where(:media_category_id => media_category_id).last
|
175
181
|
if p
|
data/app/models/caboose/media.rb
CHANGED
@@ -24,7 +24,9 @@ class Caboose::Media < ActiveRecord::Base
|
|
24
24
|
:name,
|
25
25
|
:original_name,
|
26
26
|
:description,
|
27
|
-
:processed
|
27
|
+
:processed,
|
28
|
+
:image_content_type,
|
29
|
+
:file_content_type
|
28
30
|
|
29
31
|
has_attached_file :sample
|
30
32
|
|
@@ -47,20 +49,24 @@ class Caboose::Media < ActiveRecord::Base
|
|
47
49
|
key = "#{self.media_category_id}_#{self.original_name}"
|
48
50
|
key = URI.encode(key.gsub(' ', '+'))
|
49
51
|
uri = "http://#{bucket}.s3.amazonaws.com/#{key}"
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
if image_extensions.include?(ext)
|
52
|
+
|
53
|
+
content_type = self.image_content_type || self.file_content_type
|
54
|
+
|
55
|
+
if is_image?
|
55
56
|
self.image = URI.parse(uri)
|
56
|
-
self.image_content_type =
|
57
|
+
self.image_content_type = content_type
|
57
58
|
else
|
58
59
|
self.file = URI.parse(uri)
|
59
|
-
self.file_content_type =
|
60
|
-
end
|
60
|
+
self.file_content_type = content_type
|
61
|
+
end
|
61
62
|
self.processed = true
|
62
63
|
self.save
|
63
|
-
|
64
|
+
|
65
|
+
# Set the content-type metadata on S3
|
66
|
+
if !is_image?
|
67
|
+
self.set_file_content_type(content_type)
|
68
|
+
end
|
69
|
+
|
64
70
|
# Remember when the last upload processing happened
|
65
71
|
s = Caboose::Setting.where(:site_id => self.media_category.site_id, :name => 'last_upload_processed').first
|
66
72
|
s = Caboose::Setting.create(:site_id => self.media_category.site_id, :name => 'last_upload_processed') if s.nil?
|
@@ -80,7 +86,8 @@ class Caboose::Media < ActiveRecord::Base
|
|
80
86
|
:access_key_id => config['access_key_id'],
|
81
87
|
:secret_access_key => config['secret_access_key']
|
82
88
|
})
|
83
|
-
|
89
|
+
s3 = AWS::S3.new
|
90
|
+
bucket = s3.buckets[config['bucket']]
|
84
91
|
ext = File.extname(self.image_file_name)[1..-1]
|
85
92
|
self.image.styles.each do |style|
|
86
93
|
k = "media/#{self.id}_#{self.name}_#{style}.#{ext}"
|
@@ -94,9 +101,10 @@ class Caboose::Media < ActiveRecord::Base
|
|
94
101
|
:access_key_id => config['access_key_id'],
|
95
102
|
:secret_access_key => config['secret_access_key']
|
96
103
|
})
|
97
|
-
|
98
|
-
|
99
|
-
|
104
|
+
s3 = AWS::S3.new
|
105
|
+
bucket = s3.buckets[config['bucket']]
|
106
|
+
ext = File.extname(self.file_file_name)[1..-1]
|
107
|
+
# has_attached_file :file, :path => ':caboose_prefixmedia/:id_:media_name.:extension'
|
100
108
|
k = "media/#{self.id}_#{self.name}.#{ext}"
|
101
109
|
bucket.objects[k].copy_from(k, :content_type => content_type) # a copy needs to be done to change the content-type
|
102
110
|
end
|
data/lib/caboose/version.rb
CHANGED