X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/50c0333ea6ae96ecbed574c2e2704e1005037d05..7d900f15dcedc682d042433673bf169aaec1bbae:/lib/potlatch.rb diff --git a/lib/potlatch.rb b/lib/potlatch.rb index 4dfba12ef..29ab4535a 100644 --- a/lib/potlatch.rb +++ b/lib/potlatch.rb @@ -83,7 +83,7 @@ module Potlatch when 'Hash' a=3.chr n.each do |k,v| - a+=encodestring(k)+encodevalue(v) + a+=encodestring(k.to_s)+encodevalue(v) end a+0.chr+0.chr+9.chr when 'String' @@ -92,6 +92,10 @@ module Potlatch 0.chr+encodedouble(n) when 'NilClass' 5.chr + when 'TrueClass' + 0.chr+encodedouble(1) + when 'FalseClass' + 0.chr+encodedouble(0) else RAILS_DEFAULT_LOGGER.error("Unexpected Ruby type for AMF conversion: "+n.class.to_s) end @@ -143,7 +147,7 @@ module Potlatch presetcategory=$2 presetmenus[presettype].push(presetcategory) presetnames[presettype][presetcategory]=["(no preset)"] - elsif (t=~/^(.+):\s?(.+)$/) then + elsif (t=~/^([\w\s]+):\s?(.+)$/) then pre=$1; kv=$2 presetnames[presettype][presetcategory].push(pre) presets[pre]={} @@ -182,12 +186,23 @@ module Potlatch } end + # Read POI presets + icon_list=[]; icon_tags={}; + File.open("#{RAILS_ROOT}/config/potlatch/icon_presets.txt") do |file| + file.each_line {|line| + (icon,tags)=line.chomp.split("\t") + icon_list.push(icon) + icon_tags[icon]=Hash[*tags.scan(/([^;=]+)=([^;=]+)/).flatten] + } + end + icon_list.reverse! + # Read auto-complete autotags={}; autotags['point']={}; autotags['way']={}; autotags['POI']={}; File.open("#{RAILS_ROOT}/config/potlatch/autocomplete.txt") do |file| file.each_line {|line| t=line.chomp - if (t=~/^(\w+)\/(\w+)\s+(.+)$/) then + if (t=~/^([\w:]+)\/(\w+)\s+(.+)$/) then tag=$1; type=$2; values=$3 if values=='-' then autotags[type][tag]=[] else autotags[type][tag]=values.split(',').sort.reverse end @@ -195,7 +210,7 @@ module Potlatch } end - [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths] + [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths,icon_list,{},icon_tags] end end