X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c3453cf57df864b008dca6479f84504f81c0b131..adcf9edc54c636d0871566534db936688c468435:/app/controllers/site_controller.rb diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb index d08f34a0a..fa33deeee 100644 --- a/app/controllers/site_controller.rb +++ b/app/controllers/site_controller.rb @@ -1,5 +1,6 @@ class SiteController < ApplicationController layout 'site', :except => [:key, :permalink] + layout false, :only => [:key, :permalink] before_filter :authorize_web before_filter :set_locale @@ -32,13 +33,11 @@ class SiteController < ApplicationController end def edit - editor = @user.preferred_editor || DEFAULT_EDITOR + editor = params[:editor] || @user.preferred_editor || DEFAULT_EDITOR - if editor == "josm" + if editor == "remote" render :action => :index else - session[:token] = @user.tokens.create.token unless session[:token] and UserToken.find_by_token(session[:token]) - # Decide on a lat lon to initialise potlatch with. Various ways of doing this if params['lon'] and params['lat'] @lon = params['lon'].to_f @@ -50,8 +49,22 @@ class SiteController < ApplicationController @lat = params['mlat'].to_f @zoom = params['zoom'].to_i + elsif params['bbox'] + bbox = BoundingBox.from_bbox_params(params) + + @lon = bbox.centre_lon + @lat = bbox.centre_lat + @zoom = 16 + elsif params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat'] + bbox = BoundingBox.from_lon_lat_params(params) + + @lon = bbox.centre_lon + @lat = bbox.centre_lat + @zoom = 16 + elsif params['gpx'] - #use gpx id to locate (dealt with below) + @lon = Trace.find(params['gpx']).longitude + @lat = Trace.find(params['gpx']).latitude elsif cookies.key?("_osm_location") @lon, @lat, @zoom, layers = cookies["_osm_location"].split("|") @@ -65,7 +78,15 @@ class SiteController < ApplicationController #Currently this results in potlatch starting up at 0,0 (Atlantic ocean). end - @zoom = '14' if @zoom.nil? + @zoom = '17' if @zoom.nil? end end + + def copyright + @locale = params[:copyright_locale] || I18n.locale + end + + def preview + render :text => RichText.new(params[:format], params[:text]).to_html + end end