From: <ar...@us...> - 2013-06-19 19:33:47
|
Revision: 46420 http://sourceforge.net/p/tikiwiki/code/46420 Author: arildb Date: 2013-06-19 19:33:43 +0000 (Wed, 19 Jun 2013) Log Message: ----------- [FIX] Tracker maps fails when , (comma) is the server system's decimal point. Tracker now always store the location using a . (point) as a decimal point. (Problem since 9.x it seems) Modified Paths: -------------- branches/11.x/lib/core/Tracker/Field/Location.php branches/11.x/lib/jquery_tiki/tiki-maps.js Modified: branches/11.x/lib/core/Tracker/Field/Location.php =================================================================== --- branches/11.x/lib/core/Tracker/Field/Location.php 2013-06-19 18:43:21 UTC (rev 46419) +++ branches/11.x/lib/core/Tracker/Field/Location.php 2013-06-19 19:33:43 UTC (rev 46420) @@ -74,9 +74,15 @@ $parts = array_map('floatval', $parts); if (count($parts) >= 2) { + // Always use . as the decimal point in the value, and not comma as used some places + $value = ''; + $value .= str_replace(',', '.', $parts[0]).','; + $value .= str_replace(',', '.', $parts[1]).','; + $value .= str_replace(',', '.', $parts[2]); + return array( - 'value' => implode(',', $parts), - 'x' => $parts[0], + 'value' => $value, + 'x' => $parts[0], 'y' => $parts[1], 'z' => isset($parts[2]) ? $parts[2] : 0, ); Modified: branches/11.x/lib/jquery_tiki/tiki-maps.js =================================================================== --- branches/11.x/lib/jquery_tiki/tiki-maps.js 2013-06-19 18:43:21 UTC (rev 46419) +++ branches/11.x/lib/jquery_tiki/tiki-maps.js 2013-06-19 19:33:43 UTC (rev 46420) @@ -122,7 +122,7 @@ } } - return lonlat.lon + ',' + lonlat.lat + ',' + map.getZoom(); + return formatLocation(lonlat.lat, lonlat.lon, map.getZoom()); } $.fn.createMap = function () { @@ -718,7 +718,7 @@ canvas.getPosition = function () { var pos = canvas.panorama.getPosition(); - return pos.lng() + ',' + pos.lat() + ',12'; + return formatLocation(pos.lat(), pos.lng(), 12); }; canvas.panorama = new google.maps.StreetViewPanorama(canvas, { @@ -1138,7 +1138,7 @@ lon = coords[0]; lat = coords[1]; } - field.val(lon + ',' + lat + ',' + map.getZoom()).change(); + field.val(formatLocation(lat, lon, map.getZoom())).change(); }); var ClickHandler = OpenLayers.Class(OpenLayers.Control, { @@ -1388,5 +1388,16 @@ return this; }; + + $.fn.formatLocation = function (lat, lon, zoom) + { + // Convert , decimal points - where those are used + var strLon = '' + lon; + strLon.replace(',', '.'); + var strLat = '' + lat; + strLat.replace(',', '.'); + return strLon + ',' + strLat + ',' + zoom; + } + })(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |