forked from saurabh/orbit4-5
fix for upgrading 4.2 to 4.5
This commit is contained in:
parent
e27192295d
commit
b4533a1720
|
@ -21,6 +21,29 @@ class AssetUploader < CarrierWave::Uploader::Base
|
|||
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
||||
end
|
||||
|
||||
# override
|
||||
def filename
|
||||
@original_filename
|
||||
end
|
||||
|
||||
# override
|
||||
def original_filename=(filename)
|
||||
@original_filename = super(filename)
|
||||
|
||||
if(@original_filename.bytesize > 200)
|
||||
original_file_extension = File.extname(@original_filename)
|
||||
|
||||
@original_filename.force_encoding("ascii-8bit")
|
||||
@original_filename = @original_filename[0, (200 - original_file_extension.bytesize)]
|
||||
@original_filename.encode!("UTF-16BE", "UTF-8", :invalid => :replace, :undef => :replace, :replace => '')
|
||||
@original_filename.encode!("UTF-8")
|
||||
|
||||
@original_filename += original_file_extension
|
||||
end
|
||||
|
||||
@original_filename
|
||||
end
|
||||
|
||||
# Provide a default URL as a default if there hasn't been a file uploaded:
|
||||
# def default_url
|
||||
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
|
||||
|
|
|
@ -19,6 +19,28 @@ class ImageUploader < CarrierWave::Uploader::Base
|
|||
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
||||
end
|
||||
|
||||
# override
|
||||
def filename
|
||||
@original_filename
|
||||
end
|
||||
|
||||
# override
|
||||
def original_filename=(filename)
|
||||
@original_filename = super(filename)
|
||||
|
||||
if(@original_filename.bytesize > 200)
|
||||
original_file_extension = File.extname(@original_filename)
|
||||
|
||||
@original_filename.force_encoding("ascii-8bit")
|
||||
@original_filename = @original_filename[0, (200 - original_file_extension.bytesize)]
|
||||
@original_filename.encode!("UTF-16BE", "UTF-8", :invalid => :replace, :undef => :replace, :replace => '')
|
||||
@original_filename.encode!("UTF-8")
|
||||
|
||||
@original_filename += original_file_extension
|
||||
end
|
||||
|
||||
@original_filename
|
||||
end
|
||||
# Provide a default URL as a default if there hasn't been a file uploaded:
|
||||
# def default_url
|
||||
# # For Rails 3.1+ asset pipeline compatibility:
|
||||
|
|
|
@ -50,6 +50,8 @@ namespace :upgrade do
|
|||
bulletin.other_mailaddress = announcement["other_mailaddress"]
|
||||
bulletin.public = announcement["public"]
|
||||
bulletin.subtitle_translations = announcement["subtitle"]
|
||||
announcement["text"]["en"] = smart_downloader(announcement["text"]["en"], args.url.chomp("/"))
|
||||
announcement["text"]["zh_tw"] = smart_downloader(announcement["text"]["zh_tw"], args.url.chomp("/"))
|
||||
bulletin.text_translations = announcement["text"]
|
||||
bulletin.title_translations = announcement["title"]
|
||||
bulletin.remote_image_url = announcement["image"]
|
||||
|
@ -84,4 +86,33 @@ namespace :upgrade do
|
|||
puts "Import has some problem."
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def smart_downloader(data,url)
|
||||
@data = data
|
||||
@user = User.where(:user_name => "rulingcom").first
|
||||
excluded_extensions = ["php","/"]
|
||||
regex = /https?:\/\/[\S]+/
|
||||
# @links = URI.extract(@data) rescue []
|
||||
@links = @data.scan(regex) rescue []
|
||||
@links = @links.map{|link| link.chomp("\"") if (link.include?url rescue false)}.reject{|link| link.nil?}.uniq
|
||||
@links.each do |link|
|
||||
link = link.gsub("\&\;","&")
|
||||
temp = link.gsub(url,"")
|
||||
extension = temp.split(".").last rescue nil
|
||||
if (extension.nil? || excluded_extensions.include?(extension))
|
||||
@data = @data.sub(link,"#")
|
||||
else
|
||||
a = Asset.new
|
||||
a.remote_data_url = link
|
||||
a.title_translations = {"en" => a.data.filename, "zh_tw" => a.data.filename}
|
||||
if (a.save! rescue false)
|
||||
@user.assets << a
|
||||
@user.save
|
||||
link = link.gsub("&","\&\;")
|
||||
@data = @data.sub(link, a.data.url)
|
||||
end
|
||||
end
|
||||
end
|
||||
@data
|
||||
end
|
Loading…
Reference in New Issue