mirror of
https://github.com/discourse/discourse.git
synced 2025-05-31 04:38:47 +08:00
FIX: Properly support defaults for upload site settings.
This commit is contained in:
@ -175,69 +175,26 @@ class SiteSetting < ActiveRecord::Base
|
||||
site_logo_small_url
|
||||
site_mobile_logo_url
|
||||
site_favicon_url
|
||||
site_home_logo_url
|
||||
}.each { |client_setting| client_settings << client_setting }
|
||||
|
||||
def self.site_home_logo_url
|
||||
upload = SiteSetting.logo
|
||||
|
||||
if SiteSetting.defaults.get(:title) != SiteSetting.title && !upload
|
||||
''
|
||||
else
|
||||
full_cdn_url(upload ? upload.url : '/images/d-logo-sketch.png')
|
||||
%i{
|
||||
logo
|
||||
logo_small
|
||||
digest_logo
|
||||
mobile_logo
|
||||
large_icon
|
||||
favicon
|
||||
apple_touch_icon
|
||||
twitter_summary_large_image
|
||||
opengraph_image
|
||||
push_notifications_icon
|
||||
}.each do |setting_name|
|
||||
define_singleton_method("site_#{setting_name}_url") do
|
||||
upload = self.public_send(setting_name)
|
||||
upload ? full_cdn_url(upload.url) : ''
|
||||
end
|
||||
end
|
||||
|
||||
def self.site_logo_url
|
||||
upload = self.logo
|
||||
upload ? full_cdn_url(upload.url) : self.logo_url(warn: false)
|
||||
end
|
||||
|
||||
def self.site_logo_small_url
|
||||
upload = self.logo_small
|
||||
upload ? full_cdn_url(upload.url) : self.logo_small_url(warn: false)
|
||||
end
|
||||
|
||||
def self.site_digest_logo_url
|
||||
upload = self.digest_logo
|
||||
upload ? full_cdn_url(upload.url) : self.digest_logo_url(warn: false)
|
||||
end
|
||||
|
||||
def self.site_mobile_logo_url
|
||||
upload = self.mobile_logo
|
||||
upload ? full_cdn_url(upload.url) : self.mobile_logo_url(warn: false)
|
||||
end
|
||||
|
||||
def self.site_large_icon_url
|
||||
upload = self.large_icon
|
||||
upload ? full_cdn_url(upload.url) : self.large_icon_url(warn: false)
|
||||
end
|
||||
|
||||
def self.site_favicon_url
|
||||
upload = self.favicon
|
||||
upload ? full_cdn_url(upload.url) : self.favicon_url(warn: false)
|
||||
end
|
||||
|
||||
def self.site_apple_touch_icon_url
|
||||
upload = self.apple_touch_icon
|
||||
upload ? full_cdn_url(upload.url) : self.apple_touch_icon_url(warn: false)
|
||||
end
|
||||
|
||||
def self.opengraph_image_url
|
||||
upload = self.opengraph_image
|
||||
upload ? full_cdn_url(upload.url) : self.default_opengraph_image_url(warn: false)
|
||||
end
|
||||
|
||||
def self.site_twitter_summary_large_image_url
|
||||
self.twitter_summary_large_image&.url ||
|
||||
self.twitter_summary_large_image_url(warn: false)
|
||||
end
|
||||
|
||||
def self.site_push_notifications_icon_url
|
||||
SiteSetting.push_notifications_icon&.url ||
|
||||
SiteSetting.push_notifications_icon_url(warn: false)
|
||||
end
|
||||
|
||||
def self.shared_drafts_enabled?
|
||||
c = SiteSetting.shared_drafts_category
|
||||
c.present? && c.to_i != SiteSetting.uncategorized_category_id.to_i
|
||||
|
Reference in New Issue
Block a user