Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java,v diff -u -r1.14 -r1.15 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java 16 Mar 2009 05:56:06 -0000 1.14 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java 15 Apr 2009 04:25:52 -0000 1.15 @@ -308,6 +308,7 @@ gmapMarker.setCreatedBy(null); gmapMarker.setGmap(null); gmapMarker.setUpdatedBy(null); + gmapMarker.setGmapSession(null); authorItems.add(gmapMarker); } } @@ -357,6 +358,15 @@ gmap.setCreateBy(gmapUser.getUid()); //gmap.setCreateBy(new Long(newUserUid.longValue())); + + // Fixing up any trailing spaces + if (gmap.getGmapMarkers() != null) { + for (GmapMarker marker : gmap.getGmapMarkers()){ + if (marker.getInfoWindowMessage() != null) { + marker.setInfoWindowMessage(marker.getInfoWindowMessage().trim()); + } + } + } gmapDAO.saveOrUpdate(gmap); } catch (ImportToolContentException e) { Index: lams_tool_gmap/web/common/learnerheader.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/common/learnerheader.jsp,v diff -u -r1.13 -r1.14 --- lams_tool_gmap/web/common/learnerheader.jsp 18 Sep 2008 01:43:10 -0000 1.13 +++ lams_tool_gmap/web/common/learnerheader.jsp 15 Apr 2009 04:25:52 -0000 1.14 @@ -96,16 +96,16 @@ - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, ${gmapDTO.allowEditMarkers}, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}'); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, ${gmapDTO.allowEditMarkers}, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}'); userMarkerCount ++; - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, false, '', '0' ); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, false, '', '0' ); - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}' ); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}' ); Index: lams_tool_gmap/web/includes/jsp/mapFunctions.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/includes/jsp/mapFunctions.jsp,v diff -u -r1.23 -r1.24 --- lams_tool_gmap/web/includes/jsp/mapFunctions.jsp 14 Nov 2008 06:49:05 -0000 1.23 +++ lams_tool_gmap/web/includes/jsp/mapFunctions.jsp 15 Apr 2009 04:25:52 -0000 1.24 @@ -7,8 +7,6 @@ --%> <%@ include file="/common/taglibs.jsp"%> -<%@ page import="org.lamsfoundation.lams.util.Configuration" %> -<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> @@ -80,7 +78,7 @@ // set the marker's info message if (infoMessage!=null) { - marker.infoMessage = unescape(infoMessage); + marker.infoMessage = decode_utf8(infoMessage); } else { @@ -384,7 +382,35 @@ } } +// hack to ensure that the saved strings are safe to send in xml +function encode_utf8( s ) +{ + // "'&<>\ + var re = new RegExp("[<>\\\\]", "g"); + var re1 = new RegExp('"', "g"); + var re2 = new RegExp("'", "g"); + var re3 = new RegExp("&", "g"); + s = s.replace(re, "_"); + s = s.replace(re1, """); + s = s.replace(re2, "'"); + s = s.replace(re3, "&"); + return s; +} +// hack to ensure that the saved strings are safe to send in xml +function decode_utf8( s ) +{ + var re1 = new RegExp(""", "g"); + var re2 = new RegExp("'", "g"); + var re3 = new RegExp("&", "g"); + s = s.replace(re1, '"'); + s = s.replace(re2, "'"); + s = s.replace(re3, "&"); + + return s; +} + + function confirmLeavePage() { var i =0; @@ -428,9 +454,9 @@ var markerString = ''; xmlString += markerString; Index: lams_tool_gmap/web/pages/authoring/basic.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/pages/authoring/basic.jsp,v diff -u -r1.19 -r1.20 --- lams_tool_gmap/web/pages/authoring/basic.jsp 31 Jul 2008 05:40:40 -0000 1.19 +++ lams_tool_gmap/web/pages/authoring/basic.jsp 15 Apr 2009 04:25:52 -0000 1.20 @@ -87,7 +87,15 @@ function addAuthorMarkers() { - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, true, currUser, currUserId); + addMarker(new GLatLng('${marker.latitude}', + '${marker.longitude}' ), + decode_utf8(''), + decode_utf8(''), + '${marker.uid}', + true, + true, + currUser, + currUserId); } Index: lams_tool_gmap/web/pages/export/exportPortfolio.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/pages/export/exportPortfolio.jsp,v diff -u -r1.13 -r1.14 --- lams_tool_gmap/web/pages/export/exportPortfolio.jsp 18 Sep 2008 01:43:10 -0000 1.13 +++ lams_tool_gmap/web/pages/export/exportPortfolio.jsp 15 Apr 2009 04:25:52 -0000 1.14 @@ -240,10 +240,10 @@ - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName} ()', '0'); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName} ()', '0'); - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}'); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}'); @@ -269,12 +269,12 @@ - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName} ()', '0'); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName} ()', '0'); - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}'); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, false, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}'); Index: lams_tool_gmap/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/pages/monitoring/summary.jsp,v diff -u -r1.19 -r1.20 --- lams_tool_gmap/web/pages/monitoring/summary.jsp 14 Nov 2008 06:49:04 -0000 1.19 +++ lams_tool_gmap/web/pages/monitoring/summary.jsp 15 Apr 2009 04:25:52 -0000 1.20 @@ -312,10 +312,10 @@ - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, true, '${marker.createdBy.firstName} ${marker.createdBy.lastName} ()', '0'); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, true, '${marker.createdBy.firstName} ${marker.createdBy.lastName} ()', '0'); - addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), unescape('${marker.infoWindowMessage}'), unescape('${marker.title}'), '${marker.uid}', true, true, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}'); + addMarker(new GLatLng('${marker.latitude}', '${marker.longitude}' ), decode_utf8(''), decode_utf8(''), '${marker.uid}', true, true, '${marker.createdBy.firstName} ${marker.createdBy.lastName}', '${marker.createdBy.uid}');