mirror of
https://github.com/discourse/discourse.git
synced 2025-06-04 03:44:47 +08:00
BUGFIX: mobile ui was being cached for anon views
This commit is contained in:
19
lib/mobile_detection.rb
Normal file
19
lib/mobile_detection.rb
Normal file
@ -0,0 +1,19 @@
|
||||
module MobileDetection
|
||||
def self.mobile_device?(user_agent)
|
||||
# TODO: this is dumb. user agent matching is a doomed approach. a better solution is coming.
|
||||
user_agent =~ /Mobile|webOS|Nexus 7/ && !(user_agent =~ /iPad/)
|
||||
end
|
||||
|
||||
# we need this as a reusable chunk that is called from the cache
|
||||
def self.resolve_mobile_view!(user_agent, params, session)
|
||||
return false unless SiteSetting.enable_mobile_theme
|
||||
|
||||
session[:mobile_view] = params[:mobile_view] if params.has_key?(:mobile_view)
|
||||
|
||||
if session[:mobile_view]
|
||||
session[:mobile_view] == '1'
|
||||
else
|
||||
mobile_device?(user_agent)
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user