Wireless Leiden Interactive Nodemap 2.0 1 Wireless Leiden Interactive Nodemap 2.0 Nodes Nodes from the Wireless Leiden network 52.161087 4.490153 0 0 0 500 %CONTENT% '; static $fileFirst = 'type,host_name,has_been_checked,check_execution_time,current_state,last_hard_state,last_check,problem_has_been_acknowledged'; private $fileContent = array('string', 'string', 'integer', 'double', 'integer', 'integer', 'integer', 'integer'); private $KMLPlacemarks = array(); /* * Function: __construct (constructor) * Parameters: - * Function: Creating a new KMLFile */ public function __construct() { } public function addPlacemark(KMLPlacemark $placemark) { $this->KMLPlacemarks[] = $placemark; } public function toString() { $toString = $this->template; $placemarkString = ''; $placemarkCount = count($this->KMLPlacemarks); for ($i = 0; $i < $placemarkCount; $i++) { $placemarkString .= $this->KMLPlacemarks[$i]->toString(); } $toString = str_replace('%PLACEMARK_GREEN%', PLACEMARK_GREEN, $toString); $toString = str_replace('%PLACEMARK_ORANGE%', PLACEMARK_ORANGE, $toString); $toString = str_replace('%PLACEMARK_RED%', PLACEMARK_RED, $toString); $toString = str_replace('%CONTENT%', $placemarkString, $toString); return $toString; } public function write($filename) { // TODO: Write KMLFile to a KML file } public function parseFile($file) { $fileContents = explode("\r\n", $file); if ($fileContents[0] != KMLFile::$fileFirst) { trigger_log(LOG_WARNING, 'Contents of file do not match with template of first line', __FILE__, __LINE__); } $lines = count($fileContents); for ($i = 1; $i < count($lines); $i++) { $lineContent = explode(',', $fileContents[$i]); if (count($lineContent) != count($this->fileContent)) { trigger_log(LOG_WARNING, 'Contents of file do not match with template of lines', __FILE__, __LINE__); } // TODO: Process all lines and create KMLPlacemark objects we can add to a new KMLFile object } } } ?>