]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/amf_controller.rb
Began code for feature lookup: implemented code to respond to mouse click and latlon...
[rails.git] / app / controllers / amf_controller.rb
index e39a4ceb2f8ab05c56402ffd94e1a32bdef44975..c0b642edaeb4faf313b473c53ea8b30230d50f2a 100644 (file)
@@ -98,7 +98,6 @@ class AmfController < ApplicationController
     presetnames={}; presetnames['point']={}; presetnames['way']={}; presetnames['POI']={}
     presettype=''
     presetcategory=''
-
 #      StringIO.open(txt) do |file|
        File.open("#{RAILS_ROOT}/config/potlatch/presets.txt") do |file|
       file.each_line {|line|
@@ -124,7 +123,7 @@ class AmfController < ApplicationController
        File.open("#{RAILS_ROOT}/config/potlatch/colours.txt") do |file|
          file.each_line {|line|
                t=line.chomp
-               if (t=~/(\w+)\t+([^\t]+)\t+([^\t]+)\t+([^\t]+)/) then
+               if (t=~/(\w+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)/) then
                  tag=$1
                  if ($2!='-') then colours[tag]=$2.hex end
                  if ($3!='-') then casing[tag]=$3.hex end
@@ -132,7 +131,21 @@ class AmfController < ApplicationController
                end
          }
        end
-    [presets,presetmenus,presetnames,colours,casing,areas]
+       
+       # 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
+                               tag=$1; type=$2; values=$3
+                               if values=='-' then autotags[type][tag]=[]
+                                                          else autotags[type][tag]=values.split(',').sort.reverse end
+                       end
+               }
+       end
+       
+    [presets,presetmenus,presetnames,colours,casing,areas,autotags]
   end
 
   # ----- whichways(left,bottom,right,top)
@@ -232,7 +245,7 @@ class AmfController < ApplicationController
 
   def getway_old(args)
     RAILS_DEFAULT_LOGGER.info("  Message: getway_old (server is #{SERVER_URL})")
-       if SERVER_URL=="www.openstreetmap.org" then return -1,"Revert is not currently enabled on the OpenStreetMap server." end
+#      if SERVER_URL=="www.openstreetmap.org" then return -1,"Revert is not currently enabled on the OpenStreetMap server." end
        
     objname,wayid,version,baselong,basey,masterscale=args
     wayid = wayid.to_i
@@ -279,7 +292,7 @@ class AmfController < ApplicationController
        EOF
        histlist=ActiveRecord::Base.connection.select_all(sql)
        histlist.each { |row|
-               if row['data_public'] then user=row['display_name'] else user='anonymous' end
+               if row['data_public'].to_i==1 then user=row['display_name'] else user='anonymous' end
                history<<[row['version'],row['timestamp'],row['visible'],user]
        }
        [history]
@@ -409,7 +422,7 @@ class AmfController < ApplicationController
     ActiveRecord::Base.connection.update(sql)
 
        deleteuniquenoderelations(db_uqn,uid,db_now)
-    ActiveRecord::Base.connection.execute("DROP TABLE #{db_uqn}")
+    ActiveRecord::Base.connection.execute("DROP TEMPORARY TABLE #{db_uqn}")
 
        #       6b. insert new version of route into way_nodes
 
@@ -541,7 +554,7 @@ class AmfController < ApplicationController
     ActiveRecord::Base.connection.update(sql)
 
        deleteuniquenoderelations(db_uqn,uid,db_now)
-    ActiveRecord::Base.connection.execute("DROP TABLE #{db_uqn}")
+    ActiveRecord::Base.connection.execute("DROP TEMPORARY TABLE #{db_uqn}")
 
     # - delete way