X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/220ad0a6b6a8154692a404c443402252dd361168..f01f820f6cd8f43f01eb40e8da55372ccb3dda57:/app/controllers/amf_controller.rb?ds=sidebyside diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index b55ead04e..921f213c5 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -1,12 +1,9 @@ class AmfController < ApplicationController +#=begin require 'stringio' -# to log: -# RAILS_DEFAULT_LOGGER.error("Args: #{args[0]}, #{args[1]}, #{args[2]}, #{args[3]}") - - # doesn't appear to set old versions of ways to invisible - # not sure about segments, either... - + # to log: + # RAILS_DEFAULT_LOGGER.error("Args: #{args[0]}, #{args[1]}, #{args[2]}, #{args[3]}") # ==================================================================== # Main AMF handler @@ -58,6 +55,7 @@ class AmfController < ApplicationController end + private # ==================================================================== # Remote calls @@ -72,7 +70,78 @@ class AmfController < ApplicationController presettype='' presetcategory='' - File.open("config/potlatch/presets.txt") do |file| +# File.open("config/potlatch/presets.txt") do |file| + + # Temporary patch to get around filepath problem + # To remove this patch and make the code nice again: + # 1. uncomment above line + # 2. fix the path in the above line + # 3. delete this here document, and the following line (StringIO....) + +txt=<<-EOF +way/road +motorway: highway=motorway,ref=(type road number) +trunk road: highway=trunk,ref=(type road number),name=(type road name) +primary road: highway=primary,ref=(type road number),name=(type road name) +secondary road: highway=secondary,ref=(type road number),name=(type road name) +residential road: highway=residential,name=(type road name) +unclassified road: highway=unclassified,name=(type road name) + +way/footway +footpath: highway=footway,foot=yes +bridleway: highway=bridleway,foot=yes,horse=yes,bicycle=yes +byway: highway=byway,foot=yes,horse=yes,bicycle=yes,motorcar=yes +permissive path: highway=footway,foot=permissive + +way/cycleway +cycle lane: highway=cycleway,cycleway=lane,ncn_ref= +cycle track: highway=cycleway,cycleway=track,ncn_ref= +cycle lane (NCN): highway=cycleway,cycleway=lane,name=(type name here),ncn_ref=(type route number) +cycle track (NCN): highway=cycleway,cycleway=track,name=(type name here),ncn_ref=(type route number) + +way/waterway +canal: waterway=canal,name=(type name here) +navigable river: waterway=river,boat=yes,name=(type name here) +navigable drain: waterway=drain,boat=yes,name=(type name here) +derelict canal: waterway=derelict_canal,name=(type name here) +unnavigable river: waterway=river,boat=no,name=(type name here) +unnavigable drain: waterway=drain,boat=no,name=(type name here) + +way/railway +railway: railway=rail +tramway: railway=tram +light railway: railway=light_rail +preserved railway: railway=preserved +disused railway tracks: railway=disused +course of old railway: railway=abandoned + +point/road +mini roundabout: highway=mini_roundabout +traffic lights: highway=traffic_signals + +point/footway +bridge: highway=bridge +gate: highway=gate +stile: highway=stile +cattle grid: highway=cattle_grid + +point/cycleway +gate: highway=gate + +point/waterway +lock gate: waterway=lock_gate +weir: waterway=weir +aqueduct: waterway=aqueduct +winding hole: waterway=turning_point +mooring: waterway=mooring + +point/railway +station: railway=station +viaduct: railway=viaduct +level crossing: railway=crossing +EOF + +StringIO.open(txt) do |file| file.each_line {|line| t=line.chomp if (t=~/(\w+)\/(\w+)/) then @@ -102,6 +171,7 @@ class AmfController < ApplicationController waylist=WaySegment.find_by_sql("SELECT DISTINCT current_way_segments.id AS wayid"+ " FROM current_way_segments,current_segments,current_nodes "+ " WHERE segment_id=current_segments.id "+ + " AND current_segments.visible=1 "+ " AND node_a=current_nodes.id "+ " AND (latitude BETWEEN "+(args[1].to_f-0.01).to_s+" AND "+(args[3].to_f+0.01).to_s+") "+ " AND (longitude BETWEEN "+(args[0].to_f-0.01).to_s+" AND "+(args[2].to_f+0.01).to_s+")") @@ -109,7 +179,20 @@ class AmfController < ApplicationController waylist.each {|a| ways<NOW()") + if (token=~/^(.+)\+(.+)$/) then + return ActiveRecord::Base.connection.select_value("SELECT id FROM users WHERE active=1 AND timeout>NOW() AND email='#{$1}' AND pass_crypt=MD5('#{$2}')") + else + return ActiveRecord::Base.connection.select_value("SELECT id FROM users WHERE active=1 AND timeout>NOW() AND token='#{token}'") + end end @@ -609,5 +699,5 @@ class AmfController < ApplicationController 180/Math::PI * (2*Math.atan(Math.exp(a*Math::PI/180))-Math::PI/2) end - +#=end end