getElementsByTagName('map-source'); # Array to store the popups found. $content = ''; for($i = 0; $i < $msXML->length; $i++) { $node = $msXML->item($i); $layers = $node->getElementsByTagName('layer'); for($l = 0; $l < $layers->length; $l++) { $layer = $layers->item($l); $layerName = $layer->getAttribute('name'); $path = $node->getAttribute('name').'/'.$layerName; if($path == $layersToSearch) { $file = $node->getElementsByTagName('file')->item(0)->firstChild->nodeValue; # Okay, now it's time to cook if(substr($file,0,1) == '.') { $file = $CONFIGURATION['root'].$file; } $map = ms_newMapObj($file); # Create an array of query layers $queryLayers = array(); if($layerName == 'all') { for($ml = 0; $ml < $map->numlayers; $ml++) { array_push($queryLayers, $map->getLayer($ml)); } } else { # Turn on the specific layer array_push($queryLayers, $map->getLayerByName($layerName)); } # Iterate through the queryLayers... foreach($queryLayers as $queryLayer) { $queryLayer->set('template', $queryLayer->getMetaData('popups')); $queryLayer->set('status', MS_DEFAULT); if($queryShape->type == MS_SHAPE_POINT) { $point = $queryShape->line(0)->point(0); $queryLayer->queryByPoint($point, MS_MULTIPLE, -1); } else { $queryLayer->queryByShape($queryShape); } } $results = $map->processquerytemplate(array(), false); $content = $content . $results; } } } $select_point = false; if($queryShape->type == MS_SHAPE_POINT) { $select_point = $queryShape->line(0)->point(0); } else { $select_point = $shape->getCentroid(); } $content = str_replace('[mousex]', $select_point->x, $content); $content = str_replace('[mousey]', $select_point->y, $content); header('Content-type: text/xml'); print ""; print ""; print $content; print ""; ?>