logger.info("Executing AMF #{message}(#{args.join(',')}):#{index}")
case message
- when 'getpresets'; results[index]=AMF.putdata(index,getpresets(args[0]))
+ when 'getpresets'; results[index]=AMF.putdata(index,getpresets(*args))
when 'whichways'; results[index]=AMF.putdata(index,whichways(*args))
when 'whichways_deleted'; results[index]=AMF.putdata(index,whichways_deleted(*args))
when 'getway'; results[index]=AMF.putdata(index,getway(args[0].to_i))
# Return presets (default tags, localisation etc.):
# uses POTLATCH_PRESETS global, set up in OSM::Potlatch.
- def getpresets(lang) #:doc:
- lang.gsub!(/[^\w\-]/,'')
+ def getpresets(usertoken,lang) #:doc:
+ user = getuser(usertoken)
+
+ if user && !user.languages.empty?
+ request.user_preferred_languages = user.languages
+ end
+
+ lang = request.compatible_language_from(getlocales)
begin
+ # if not, try the browser language
localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised/#{lang}/localised.yaml"))
rescue
- localised = "" # guess we'll just have to use the hardcoded English text instead
+ # fall back to hardcoded English text
+ localised = ""
end
begin
}
end
+ def getlocales
+ Dir.glob("#{RAILS_ROOT}/config/potlatch/localised/*").collect { |f| File.basename(f) }
+ end
# ====================================================================
# Alternative SQL queries for getway/whichways