X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/cf9f5ba9333ac2dee444bdb5d4e20523061de184..961020a5dc3c9e0dd8d02b72132e25a22edb91bd:/app/views/site/edit.rhtml diff --git a/app/views/site/edit.rhtml b/app/views/site/edit.rhtml index afd33e4ae..d8f556d9f 100644 --- a/app/views/site/edit.rhtml +++ b/app/views/site/edit.rhtml @@ -1,15 +1,15 @@ -<% if API_STATUS == :offline %> +<% if OSM_STATUS == :database_offline or OSM_STATUS == :api_offline %>

The OpenStreetMap database is currently offline while essential database maintenance work is carried out.

-<% elsif API_STATUS == :readonly %> +<% elsif OSM_STATUS == :database_readonly or OSM_STATUS == :api_readonly %>

The OpenStreetMap database is currently in read-only mode while essential database maintenance work is carried out.

<% elsif !@user.data_public? %>

You haven't set your edits to be public.

-

You can't use the online editor unless you do so. You can set your edits as public from your -<%= link_to 'user page', {:controller => 'user', :action => 'account', :display_name => @user.display_name}%>.

+

You can no longer edit the map unless you do so. You can set your edits as public from your +<%= link_to 'user page', {:controller => 'user', :action => 'account', :display_name => @user.display_name, :anchor => 'public'}%>.

(Find out why this is the case.)

<% else %> <% content_for :greeting do %> @@ -21,21 +21,41 @@ <%= render :partial => 'sidebar', :locals => { :onopen => "resizeMap();", :onclose => "resizeMap();" } %> <%= render :partial => 'search' %> -<% session[:token] = @user.tokens.create.token unless session[:token] %> - -<% if params['mlon'] and params['mlat'] %> - <% lon = h(params['mlon']) %> - <% lat = h(params['mlat']) %> - <% zoom = h(params['zoom'] || '14') %> -<% elsif @user and params['lon'].nil? and params['lat'].nil? and params['gpx'].nil? %> - <% lon = @user.home_lon %> - <% lat = @user.home_lat %> - <% zoom = '14' %> -<% else %> - <% lon = h(params['lon'] || 'null') %> - <% lat = h(params['lat'] || 'null') %> - <% zoom = h(params['zoom'] || '14') %> -<% end %> +<% +session[:token] = @user.tokens.create.token unless session[:token] + +# Decide on a lat lon to initialise potlatch with. Various ways of doing this +if params['lon'] and params['lat'] + lon = h(params['lon']) + lat = h(params['lat']) + zoom = h(params['zoom']) + +elsif params['mlon'] and params['mlat'] + lon = h(params['mlon']) + lat = h(params['mlat']) + zoom = h(params['zoom']) + +elsif params['gpx'] + # The user may pass a gpx and zoom + if params['zoom'] + zoom = h(params['zoom']) + end + #use gpx id to locate (dealt with below) + +elsif cookies.key?("_osm_location") + lon,lat,zoom,layers = cookies["_osm_location"].split("|") + +elsif @user and !@user.home_lon.nil? and !@user.home_lat.nil? + lon = @user.home_lon + lat = @user.home_lat + +else + #catch all. Do nothing. lat=nil, lon=nil + #Currently this results in potlatch starting up at 0,0 (Atlantic ocean). +end + +zoom='14' if zoom.nil? +%>
You need a Flash player to use Potlatch, the @@ -59,15 +79,18 @@ } } + function markChanged(a) { changesaved=a; } + function doSWF(lat,lon,sc) { if (sc < 11) sc = 11; fo.addVariable('scale',sc); fo.addVariable('token','<%= session[:token] %>'); if (lat) { fo.addVariable('lat',lat); } if (lon) { fo.addVariable('long',lon); } - <% if params['gpx'] %> - fo.addVariable('gpx','<%= h(params['gpx']) %>'); - <% end %> + if (zoom) { fo.addVariable('zoom',zoom); } + <% if params['gpx'] %>fo.addVariable('gpx' ,'<%= h(params['gpx'] ) %>');<% end %> + <% if params['way'] %>fo.addVariable('way' ,'<%= h(params['way'] ) %>');<% end %> + <% if params['node'] %>fo.addVariable('node','<%= h(params['node']) %>');<% end %> fo.write("map"); }