Potlatch 0.10a

This commit is contained in:
Richard Fairhurst 2008-07-29 00:33:33 +00:00
parent f2a9386a3e
commit 35ace2607b
3 changed files with 585 additions and 144 deletions

View file

@ -80,6 +80,7 @@ class AmfController < ApplicationController
end
results[index]=AMF.putdata(index,r)
when 'putrelation'; results[index]=AMF.putdata(index,putrelation(renumberednodes, renumberedways, *args))
when 'findrelations'; results[index]=AMF.putdata(index,findrelations(*args))
when 'deleteway'; results[index]=AMF.putdata(index,deleteway(args[0],args[1].to_i))
when 'putpoi'; results[index]=AMF.putdata(index,putpoi(*args))
when 'getpoi'; results[index]=AMF.putdata(index,getpoi(args[0].to_i))
@ -214,6 +215,26 @@ class AmfController < ApplicationController
[relid, rel.tags, rel.members]
end
# Find relations with specified name/id.
# Returns array of relations, each in same form as getrelation.
def findrelations(searchterm)
rels = []
if searchterm.to_i>0 then
rel = Relation.find(searchterm.to_i)
if rel and rel.visible then
rels.push([rel.id, rel.tags, rel.members])
end
else
RelationTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", searchterm] ).each do |t|
if t.relation.visible then
rels.push([t.relation.id, t.relation.tags, t.relation.members])
end
end
end
rels
end
# Save a relation.
# Returns
# 0. 0 (success),