forked from saurabh/orbit4-5
fix some issue in import_controller
This commit is contained in:
parent
3dafcf37bc
commit
84a11d6e67
|
@ -135,32 +135,13 @@ class Admin::ImportController < OrbitAdminController
|
|||
|
||||
@site_valid_locales.each do |locale|
|
||||
locale = locale.to_s
|
||||
if news['Content'][locale]=="" and news['Summary'][locale]!=""
|
||||
if (news['Content'][locale].blank? or (news['Content'][locale].gsub(" \;","").blank? rescue true)) and !news['Summary'][locale].blank?
|
||||
news['Content'][locale] = news['Summary'][locale]
|
||||
news['Summary'][locale] = " "
|
||||
end
|
||||
|
||||
temp = news['Content'][locale]
|
||||
|
||||
urls = Nokogiri::HTML(temp).css("img").map do |link|
|
||||
|
||||
if URI.parse(link.attr("src")).host == @host
|
||||
link.attr("src")
|
||||
end
|
||||
end
|
||||
urls.each do |url|
|
||||
next if url.nil?
|
||||
a = Asset.new
|
||||
a.remote_data_url = url
|
||||
a.title_translations = {"en" => a.data.filename, "zh_tw" => a.data.filename}
|
||||
if(a.save! rescue false)
|
||||
temp.gsub!(CGI::escapeHTML(url), "#")
|
||||
else
|
||||
@user.assets << a
|
||||
temp.gsub!(CGI::escapeHTML(url), a.data.to_s)
|
||||
end
|
||||
end
|
||||
news['Content'][locale] = temp
|
||||
temp = smart_downloader(news['Content'][locale], @host)
|
||||
news['Content'][locale] = temp
|
||||
end
|
||||
|
||||
bulletin.text_translations = news['Content']
|
||||
|
@ -568,7 +549,12 @@ class Admin::ImportController < OrbitAdminController
|
|||
@data_to_send = []
|
||||
albums.each do |album|
|
||||
if Album.where(:rss2_id => album["albumid"]).count == 0
|
||||
newalbum = Album.new(:name_translations => {"en" => album["name"]["en"], "zh_tw" => album["name"]["zh_tw"]}, :description_translations => {"en" => album["description"]["en"], "zh_tw" => album["description"]["zh_tw"]},"rss2_id" => album["albumid"])
|
||||
newalbum = Album.new(
|
||||
:name_translations => {"en" => album["name"]["en"], "zh_tw" => album["name"]["zh_tw"]},
|
||||
:description_translations => {
|
||||
"en" => (album["description"]["en"].nil? ? "" : album["description"]["en"]),
|
||||
"zh_tw" => (album["description"]["zh_tw"].nil? ? "" : album["description"]["zh_tw"])},
|
||||
:rss2_id => album["albumid"])
|
||||
newalbum.category_id = category.id
|
||||
newalbum.save
|
||||
else
|
||||
|
@ -576,7 +562,8 @@ class Admin::ImportController < OrbitAdminController
|
|||
end
|
||||
images = album["images"]
|
||||
images.each do |image|
|
||||
@data_to_send << {"album_id" => newalbum.id.to_s,"album_name" => newalbum.name_translations["zh_tw"], "url" => image["image"], "description" => {"en" => image["description"]["en"], "zh_tw" => image["description"]["zh_tw"]},"photoid" => image["photoid"]}
|
||||
next if image.blank?
|
||||
@data_to_send << {"album_id" => newalbum.id.to_s,"album_name" => newalbum.name_translations["zh_tw"], "url" => image["image"], "description" => {"en" => image["description"]["en"], "zh_tw" => image["description"]["zh_tw"]},"photoid" => image["photoid"]}
|
||||
end
|
||||
end
|
||||
render :json => {"images" => @data_to_send}.to_json
|
||||
|
@ -1179,28 +1166,29 @@ class Admin::ImportController < OrbitAdminController
|
|||
end
|
||||
|
||||
def smart_downloader(data,url)
|
||||
@data = data
|
||||
excluded_extensions = ["php","/"]
|
||||
@links = URI.extract(@data)
|
||||
@links.each do |link|
|
||||
if link.include?url
|
||||
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
|
||||
@data = @data.sub(link, a.data.url)
|
||||
end
|
||||
@data = data
|
||||
excluded_extensions = ["php","/"]
|
||||
@links = URI.extract(@data) rescue []
|
||||
@links = @links.map{|link| link 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)) and !link.include?("img.php") and !link.include?("download.php")
|
||||
@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
|
||||
@data
|
||||
end
|
||||
|
||||
def write_to_file
|
||||
|
|
Loading…
Reference in New Issue