Only hardcode http://osm.org/ in shortlinks when we're at

openstreetmap.org (according to window.location.hostname).

Solves ticket:1994 and my headaches when trying to hack railsport
locally.
This commit is contained in:
Ævar Arnfjörð Bjarmason 2009-06-27 16:07:53 +00:00
parent 34b147266c
commit 05bc2b70ed

View file

@ -92,17 +92,36 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat, obj_type,
if (node) { if (node) {
var args = getArgs(node.href); var args = getArgs(node.href);
var code = makeShortCode(lat, lon, zoom); var code = makeShortCode(lat, lon, zoom);
var prefix = shortlinkPrefix();
// little hack. may the gods of hardcoding please forgive me, or // little hack. may the gods of hardcoding please forgive me, or
// show me the Right way to do it. // show me the Right way to do it.
if (layers && (layers != "B000FTF")) { if (layers && (layers != "B000FTF")) {
args["layers"] = layers; args["layers"] = layers;
node.href = setArgs("http://osm.org/go/" + code, args); node.href = setArgs(prefix + "/go/" + code, args);
} else { } else {
node.href = "http://osm.org/go/" + code; node.href = prefix + "/go/" + code;
} }
} }
} }
/*
* This is a hack to hardcode opestreetmap.org -> osm.org in the
* shortlink
*/
function shortlinkPrefix() {
var hostname = window.location.hostname;
var normalized_hostname = hostname.replace(/^:www\./i,'');
var prefix = '';
if (normalized_hostname.match(/^openstreetmap\.org$/i)) {
prefix = "http://osm.org";
}
return prefix;
}
function getArgs(url) { function getArgs(url) {
var args = new Object(); var args = new Object();
var querystart = url.indexOf("?"); var querystart = url.indexOf("?");