Browse Source

Fix errors when rendering RSS feeds (#18531)

Eugen Rochko 2 years ago
parent
commit
0a1992430d

+ 1 - 1
app/helpers/formatting_helper.rb

@@ -23,7 +23,7 @@ module FormattingHelper
 
     before_html = begin
       if status.spoiler_text?
-        "<p><strong>#{I18n.t('rss.content_warning', locale: valid_locale_or_nil(status.language))}</strong> #{h(status.spoiler_text)}</p><hr />"
+        "<p><strong>#{I18n.t('rss.content_warning', locale: available_locale_or_nil(status.language) || I18n.default_locale)}</strong> #{h(status.spoiler_text)}</p><hr />"
       else
         ''
       end

+ 4 - 0
app/helpers/languages_helper.rb

@@ -254,4 +254,8 @@ module LanguagesHelper
   def valid_locale?(locale)
     locale.present? && SUPPORTED_LOCALES.key?(locale.to_sym)
   end
+
+  def available_locale_or_nil(locale_name)
+    locale_name.to_sym if locale_name.present? && I18n.available_locales.include?(locale_name.to_sym)
+  end
 end

+ 6 - 0
app/lib/rss/media_content.rb

@@ -26,4 +26,10 @@ class RSS::MediaContent < RSS::Element
       description['type'] = 'plain'
     end
   end
+
+  def thumbnail(str)
+    append_element('media:thumbnail') do |thumbnail|
+      thumbnail['url'] = str
+    end
+  end
 end