]> dev.renevier.net Git - syp.git/blobdiff - js/syp.js
fixes: permalink did not work
[syp.git] / js / syp.js
index afb53bc0db9d2116a14379a4d40d24f51991ca15..ddd47c9a084fda07ae6784d4662fdde0788736de 100644 (file)
--- a/js/syp.js
+++ b/js/syp.js
@@ -111,8 +111,8 @@ var SYP = {
         }
 
         var map = this.map;
-        if (map.getControlsByClass("OpenLayers.Control.ArgParser")[0].lat
-            == undefined) { // map center was not set in ArgParser control.
+        if (map.getControlsByClass("OpenLayers.Control.ArgParser")[0].center
+            == null) { // map center was not set in ArgParser control.
             var orig = this.Utils.mbr (this.dataLayer);
             var centerBounds = new OpenLayers.Bounds();
 
@@ -212,8 +212,9 @@ var SYP = {
         }
         var contentHTML;
         if (feature.cluster[0].attributes.name) {
+            // escaping name is necessary because it's not enclosed in another html tag.
             contentHTML = "<h2>" +
-                          feature.cluster[0].attributes.name + 
+                          SYP.Utils.escapeHTML(feature.cluster[0].attributes.name) +
                           "</h2>" + 
                           feature.cluster[0].attributes.description;
         } else {
@@ -241,11 +242,12 @@ var SYP = {
     },
 
     showBigImage: function (href) {
-        try {
-            document.getElementById('bigimg_container').style.display = "table";
-        } catch(e) {
+        if (OpenLayers.Util.getBrowserName() == "msie") {
             document.getElementById('bigimg_container').style.display = "block";
+        } else {
+            document.getElementById('bigimg_container').style.display = "table";
         }
+
         var maxHeight = document.body.clientHeight * 0.9;
         var maxWidth = document.body.clientWidth * 0.9;
         document.getElementById('bigimg').style.height = "";
@@ -383,6 +385,18 @@ var SYP = {
             }
             div.style.display = "block";
             div.appendChild(textNode);
+        },
+
+        escapeHTML: function (str) {
+            if (!str) {
+                return "";
+            }
+            return str.
+             replace(/&/gm, '&amp;').
+             replace(/'/gm, '&#39;').
+             replace(/"/gm, '&quot;').
+             replace(/>/gm, '&gt;').
+             replace(/</gm, '&lt;');
         }
     }
 };