Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java =================================================================== diff -u -r0f8935bc85059df40ad07b28c5b9b2ed844fc74d -rcf00c458d8f6d4cef59b8280c3ecfc45db474bee --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java (.../GmapService.java) (revision 0f8935bc85059df40ad07b28c5b9b2ed844fc74d) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java (.../GmapService.java) (revision cf00c458d8f6d4cef59b8280c3ecfc45db474bee) @@ -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 =================================================================== diff -u -rf2868221badcd51a57e5c5ef3d249b9072b35b74 -rcf00c458d8f6d4cef59b8280c3ecfc45db474bee --- lams_tool_gmap/web/common/learnerheader.jsp (.../learnerheader.jsp) (revision f2868221badcd51a57e5c5ef3d249b9072b35b74) +++ lams_tool_gmap/web/common/learnerheader.jsp (.../learnerheader.jsp) (revision cf00c458d8f6d4cef59b8280c3ecfc45db474bee) @@ -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 =================================================================== diff -u -r6a57078ba37aa7459ac8b400e717e33a350c9cfd -rcf00c458d8f6d4cef59b8280c3ecfc45db474bee --- lams_tool_gmap/web/includes/jsp/mapFunctions.jsp (.../mapFunctions.jsp) (revision 6a57078ba37aa7459ac8b400e717e33a350c9cfd) +++ lams_tool_gmap/web/includes/jsp/mapFunctions.jsp (.../mapFunctions.jsp) (revision cf00c458d8f6d4cef59b8280c3ecfc45db474bee) @@ -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 =================================================================== diff -u -r9bc128cc03b8d6ac830be8385b98902a4b4eb94b -rcf00c458d8f6d4cef59b8280c3ecfc45db474bee --- lams_tool_gmap/web/pages/authoring/basic.jsp (.../basic.jsp) (revision 9bc128cc03b8d6ac830be8385b98902a4b4eb94b) +++ lams_tool_gmap/web/pages/authoring/basic.jsp (.../basic.jsp) (revision cf00c458d8f6d4cef59b8280c3ecfc45db474bee) @@ -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 =================================================================== diff -u -rf2868221badcd51a57e5c5ef3d249b9072b35b74 -rcf00c458d8f6d4cef59b8280c3ecfc45db474bee --- lams_tool_gmap/web/pages/export/exportPortfolio.jsp (.../exportPortfolio.jsp) (revision f2868221badcd51a57e5c5ef3d249b9072b35b74) +++ lams_tool_gmap/web/pages/export/exportPortfolio.jsp (.../exportPortfolio.jsp) (revision cf00c458d8f6d4cef59b8280c3ecfc45db474bee) @@ -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 =================================================================== diff -u -r6a57078ba37aa7459ac8b400e717e33a350c9cfd -rcf00c458d8f6d4cef59b8280c3ecfc45db474bee --- lams_tool_gmap/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 6a57078ba37aa7459ac8b400e717e33a350c9cfd) +++ lams_tool_gmap/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision cf00c458d8f6d4cef59b8280c3ecfc45db474bee) @@ -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}');