2014-02-17 09:26:25 +08:00
|
|
|
require_dependency 'site_serializer'
|
|
|
|
|
|
|
|
class SiteController < ApplicationController
|
2016-02-14 02:29:53 +08:00
|
|
|
layout false
|
2017-08-31 12:06:56 +08:00
|
|
|
skip_before_action :preload_json, :check_xhr
|
|
|
|
skip_before_action :redirect_to_login_if_required, only: ['basic_info', 'statistics']
|
2015-05-20 15:12:16 +08:00
|
|
|
|
2015-03-05 12:49:03 +08:00
|
|
|
def site
|
|
|
|
render json: Site.json_for(guardian)
|
|
|
|
end
|
|
|
|
|
|
|
|
def settings
|
|
|
|
render json: SiteSetting.client_settings_json
|
|
|
|
end
|
|
|
|
|
|
|
|
def custom_html
|
|
|
|
render json: custom_html_json
|
|
|
|
end
|
|
|
|
|
|
|
|
def banner
|
|
|
|
render json: banner_json
|
|
|
|
end
|
|
|
|
|
|
|
|
def emoji
|
|
|
|
render json: custom_emoji
|
2014-02-17 09:26:25 +08:00
|
|
|
end
|
2016-08-12 15:10:08 +08:00
|
|
|
|
2018-07-18 18:57:43 +08:00
|
|
|
def selectable_avatars
|
|
|
|
avatars = if SiteSetting.selectable_avatars_enabled?
|
|
|
|
(SiteSetting.selectable_avatars.presence || "").split("\n")
|
|
|
|
else
|
|
|
|
[]
|
|
|
|
end
|
|
|
|
|
|
|
|
render json: avatars, root: false
|
|
|
|
end
|
|
|
|
|
2016-08-12 15:10:08 +08:00
|
|
|
def basic_info
|
|
|
|
results = {
|
|
|
|
logo_url: UrlHelper.absolute(SiteSetting.logo_url),
|
|
|
|
logo_small_url: UrlHelper.absolute(SiteSetting.logo_small_url),
|
|
|
|
apple_touch_icon_url: UrlHelper.absolute(SiteSetting.apple_touch_icon_url),
|
|
|
|
favicon_url: UrlHelper.absolute(SiteSetting.favicon_url),
|
|
|
|
title: SiteSetting.title,
|
2018-10-08 17:52:57 +08:00
|
|
|
description: SiteSetting.site_description,
|
|
|
|
header_primary_color: ColorScheme.hex_for_name('header_primary') || '333333',
|
|
|
|
header_background_color: ColorScheme.hex_for_name('header_background') || 'ffffff'
|
2016-08-12 15:10:08 +08:00
|
|
|
}
|
2017-11-03 13:19:31 +08:00
|
|
|
results[:mobile_logo_url] = SiteSetting.mobile_logo_url.presence
|
2016-08-12 15:10:08 +08:00
|
|
|
|
2017-03-27 20:47:07 +08:00
|
|
|
DiscourseHub.stats_fetched_at = Time.zone.now if request.user_agent == "Discourse Hub"
|
2016-08-12 15:10:08 +08:00
|
|
|
|
|
|
|
# this info is always available cause it can be scraped from a 404 page
|
|
|
|
render json: results
|
|
|
|
end
|
2017-03-10 21:16:00 +08:00
|
|
|
|
|
|
|
def statistics
|
|
|
|
return redirect_to path('/') unless SiteSetting.share_anonymized_statistics?
|
|
|
|
render json: About.fetch_cached_stats
|
|
|
|
end
|
2014-02-22 01:31:54 +08:00
|
|
|
end
|