2013-02-05 14:16:51 -05:00
module Discourse
2013-02-25 19:42:20 +03:00
# When they try to do something they should be logged in for
2013-02-05 14:16:51 -05:00
class NotLoggedIn < Exception ; end
# When the input is somehow bad
class InvalidParameters < Exception ; end
# When they don't have permission to do something
class InvalidAccess < Exception ; end
# When something they want is not found
class NotFound < Exception ; end
# Get the current base URL for the current site
def self . current_hostname
RailsMultisite :: ConnectionManagement . current_hostname
end
2013-03-14 13:01:52 +01:00
def self . base_uri
if ! ActionController :: Base . config . relative_url_root . blank?
return ActionController :: Base . config . relative_url_root
else
return " "
end
end
2013-02-05 14:16:51 -05:00
def self . base_url
protocol = " http "
protocol = " https " if SiteSetting . use_ssl?
2013-02-06 16:22:11 +11:00
if SiteSetting . force_hostname . present?
2013-02-25 19:42:20 +03:00
result = " #{ protocol } :// #{ SiteSetting . force_hostname } "
2013-02-06 16:22:11 +11:00
else
2013-02-25 19:42:20 +03:00
result = " #{ protocol } :// #{ current_hostname } "
2013-02-06 16:22:11 +11:00
end
result << " : #{ SiteSetting . port } " if SiteSetting . port . present? && SiteSetting . port . to_i > 0
2013-03-14 13:01:52 +01:00
result << ActionController :: Base . config . relative_url_root if ! ActionController :: Base . config . relative_url_root . blank?
2013-02-05 14:16:51 -05:00
result
2013-02-25 19:42:20 +03:00
end
2013-02-05 14:16:51 -05:00
def self . enable_maintenance_mode
$redis . set maintenance_mode_key , 1
true
end
def self . disable_maintenance_mode
$redis . del maintenance_mode_key
true
end
def self . maintenance_mode?
! ! $redis . get ( maintenance_mode_key )
end
2013-02-18 17:39:54 +11:00
def self . git_version
2013-02-25 19:42:20 +03:00
return $git_version if $git_version
2013-02-18 18:00:49 +11:00
f = Rails . root . to_s + " /config/version "
require f if File . exists? ( " #{ f } .rb " )
2013-02-18 17:39:54 +11:00
begin
2013-02-18 18:00:49 +11:00
$git_version || = ` git rev-parse HEAD ` . strip
2013-02-18 17:39:54 +11:00
rescue
$git_version = " unknown "
end
end
2013-02-05 14:16:51 -05:00
private
def self . maintenance_mode_key
'maintenance_mode'
end
end