]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/export_controller.rb
prevent update of any object without providing the correct/current
[rails.git] / app / controllers / export_controller.rb
index 9b8d878f2c999724bf0575c42bba052a6d0d1582..a773d4b72d2c177cadad071b0de2a77777f3f8f0 100644 (file)
@@ -1,9 +1,25 @@
 class ExportController < ApplicationController
   def start
-    render :update do |page|
-      page.replace_html :sidebar_title, 'Export'
-      page.replace_html :sidebar_content, :partial => 'start'
-      page.call "openSidebar"
+  end
+
+  def finish
+    bbox = BoundingBox.new(params[:minlon], params[:minlat], params[:maxlon], params[:maxlat])
+    format = params[:format]
+
+    if format == "osm"
+      redirect_to "http://api.openstreetmap.org/api/#{API_VERSION}/map?bbox=#{bbox}"
+    elsif format == "mapnik"
+      format = params[:mapnik_format]
+      scale = params[:mapnik_scale]
+
+      redirect_to "http://tile.openstreetmap.org/cgi-bin/export?bbox=#{bbox}&scale=#{scale}&format=#{format}"
+    elsif format == "osmarender"
+      format = params[:osmarender_format]
+      zoom = params[:osmarender_zoom].to_i
+      width = bbox.slippy_width(zoom).to_i
+      height = bbox.slippy_height(zoom).to_i
+
+      redirect_to "http://tah.openstreetmap.org/MapOf/index.php?long=#{bbox.centre_lon}&lat=#{bbox.centre_lat}&z=#{zoom}&w=#{width}&h=#{height}&format=#{format}"
     end
   end
 end