]> git.openstreetmap.org Git - rails.git/blobdiff - lib/potlatch.rb
Rework notes interface using OpenLayers and rails
[rails.git] / lib / potlatch.rb
index ebafbce0086c809e5668899378bf3f4bbb456b85..29ab4535a1f399b8c5fe7fa1325adf9c635b1b11 100644 (file)
@@ -147,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]={}
@@ -186,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
@@ -199,10 +210,7 @@ module Potlatch
         }
       end
 
-         # Read internationalisation
-         localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised.yaml"))
-
-      [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths,localised]
+      [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths,icon_list,{},icon_tags]
     end
   end