Changed map output to DOM based output.
[philipp/winterrodeln/mediawiki_extensions/wrmap.git] / wrmap.body.php
index 36cba2d0366b617bdac4e37b180428adc12e78ef..ccb5b802d36a901f15b782792d4ab5d4cf83dc81 100644 (file)
@@ -218,7 +218,9 @@ class WrBaseMap {
                        // append all elements in the XML
                        $json_features = array_merge($json_features, xml_to_json_features('<wrmap>' . $content . '</wrmap>'));
                } catch (Exception $e) {
-                       return '<div class="error">' . htmlspecialchars("Fehler beim Parsen der Landkarte: " . $e->getMessage()) . '</div>';
+                       $doc = new WrMapDOMDocument();
+                       $doc->appendElement('div', array('class' => 'error'))->appendText('Fehler beim Parsen der Landkarte: ' . $e->getMessage());
+                       return array($doc->saveHTML($doc->firstChild), 'markerType' => 'nowiki');
                }
 
                // create final geojson
@@ -231,11 +233,9 @@ class WrBaseMap {
 
                // Create <div/> element where the map is placed in
                global $wgExtensionAssetsPath;
-               $output = "<div class=\"wrmap\" style=\"border-style:none;\" data-img-path=\"$wgExtensionAssetsPath/wrmap/openlayers/img/\">";
-               $output .= htmlspecialchars($json_string, ENT_NOQUOTES);
-               $output .= "</div>\n";
-               
-               return array($output, 'markerType' => 'nowiki');
+               $doc = new WrMapDOMDocument();
+               $doc->appendElement('div', array('class' => 'wrmap', 'style' => 'border-style:none;', 'data-img-path' => "$wgExtensionAssetsPath/wrmap/openlayers/img/"))->appendText($json_string);
+               return array($doc->saveHTML($doc->firstChild), 'markerType' => 'nowiki');
        }
 }