mirror of
https://github.com/discourse/discourse.git
synced 2025-05-21 18:12:32 +08:00
FIX: quoting non-existing messages would break SMF2 importer
This commit is contained in:
@ -421,7 +421,7 @@ class ImportScripts::Smf2 < ImportScripts::Base
|
||||
quote = "[quote=\"#{params['author']}"
|
||||
if QuoteParamsPattern =~ params['link']
|
||||
tl = topic_lookup_from_imported_post_id($~[:msg].to_i)
|
||||
quote << ", post:#{tl[:post_number]}, topic:#{tl[:topic_id]}"
|
||||
quote << ", post:#{tl[:post_number]}, topic:#{tl[:topic_id]}" if tl
|
||||
end
|
||||
quote << "\"]#{inner}[/quote]"
|
||||
else
|
||||
@ -606,7 +606,7 @@ class ImportScripts::Smf2 < ImportScripts::Base
|
||||
end
|
||||
|
||||
def quoted
|
||||
@quoted.map {|id| @graph[id] }
|
||||
@quoted.map {|id| @graph[id] }.reject(&:nil?)
|
||||
end
|
||||
|
||||
def ignore_quotes?
|
||||
@ -634,7 +634,13 @@ class ImportScripts::Smf2 < ImportScripts::Base
|
||||
end
|
||||
|
||||
def inspect
|
||||
"#<#{self.class.name}: id=#{id.inspect}, prev=#{prev.try(:id).inspect}, quoted=#{quoted.map{|e|e.id}.inspect}>"
|
||||
"#<#{self.class.name}: id=#{id.inspect}, prev=#{safe_id(@prev)}, quoted=[#{@quoted.map(&method(:safe_id)).join(', ')}]>"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def safe_id(id)
|
||||
@graph[id].present? ? @graph[id].id.inspect : "(#{id})"
|
||||
end
|
||||
end #Node
|
||||
|
||||
|
Reference in New Issue
Block a user