/**
  * Returns layers in a customised viewable data object 
  * to render the layer control of the default map. 
  *
  * @return ViewableData
  */
 public function getLayerlistForTemplate()
 {
     $mapObject = $this->GetComponent('Map');
     $obj = new ViewableData();
     $result = array();
     if ($mapObject) {
         $overlayLayers = $mapObject->getComponents('Layers', "Enabled = 1 AND LayerType = 'overlay'", 'DisplayPriority DESC');
         $backgroundLayers = $mapObject->getComponents('Layers', "Enabled = 1 AND LayerType = 'background'", 'DisplayPriority DESC');
         $obj->setField("MapPage", $this);
         $obj->setField("overlayLayers", $overlayLayers);
         $obj->setField("backgroundLayers", $backgroundLayers);
     }
     return $obj;
 }
 /**
  * Allows the use of field values in email body.
  *
  * @param ArrayList fields
  * @return ViewableData
  */
 private function getMergeFieldsMap($fields = array())
 {
     $data = new ViewableData();
     foreach ($fields as $field) {
         $data->setField($field->Name, DBField::create_field('Text', $field->Value));
     }
     return $data;
 }