public function getZoneByLatLong($lat, $long) { $mysqlDAOFactory = DAOFactory::getDAO(DAOFactory::MYSQL); $model = $mysqlDAOFactory->getZoneDAO(); $zoneScopeResult = $model->getZoneScopeData(); $minZoneName = "Out of area"; if ($zoneScopeResult == null) { $logManager = LogManager::getInstance(); $logManager->log(new \DateTime(), "Zone Manager", "No Zone Scope Defined"); } else { if ($zoneScopeResult->checkInsideScope($lat, $long)) { $zoneResult = $model->getZoneData(); $minDistance = -1; $distance = 0; foreach ($zoneResult as $zone) { if ($zone == "Data Not Found") { $logManager = LogManager::getInstance(); $logManager->log(new \DateTime(), "Zone Manager", "No Zone Defined"); } else { $distance = DistanceUtils::getDistance($lat, $long, $zone->getZoneLat(), $zone->getZoneLong(), "K"); if ($minDistance == -1 || $distance < $minDistance) { $minDistance = $distance; $minZoneName = $zone->getZoneName(); } } } } } return $minZoneName; }
public function sendEmail(Email $email) { // echo $email->getHeaders(); // echo "<BR>"; // echo $email->getMessage(); // echo "<BR>"; // echo $email->getReceivers(); // echo "<BR>"; // echo $email->getSubject(); $logManager = LogManager::getInstance(); if (mail($email->getReceivers(), $email->getSubject(), $email->getMessage(), $email->getHeaders())) { $logManager->log(new \DateTime(), "email", "send Success"); } else { $logManager->log(new \DateTime(), "email", "send fail" . $email->getMessage()); } }
public function parse(\SimpleXMLElement $xmlDoc) { $result = $xmlDoc->xpath('/AWSData/Station'); $logManager = LogManager::getInstance(); $logManager->log(new \DateTime(), "AWS Cntr", "XML can be parser"); $logManager->log(new \DateTime(), "AWS Cntr", "data"); $data = new AWSData(); foreach ($result[0]->attributes() as $attr => $value) { // echo $attr . "<BR>"; // echo $value . "<BR>"; if ($value == "" || strpos($value, '----') || strpos($value, '---') !== false) { $value = null; } //echo $value . "<BR>"; switch ($attr) { case "id": $logManager->log(new \DateTime(), "AWS Cntr", "ID" . $value); $data->setStationId($value); break; case "date": // echo $value; $logManager->log(new \DateTime(), "AWS Cntr", "Date Start" . $value); $data->setRecordDt(new \DateTime($value)); $logManager->log(new \DateTime(), "AWS Cntr", "Date End" . $value); // var_dump($data); // echo $data->getRecordDt()->format(DATE_FORMAT); break; case "pc-date": $logManager->log(new \DateTime(), "AWS Cntr", "PC Date Start" . $value); $data->setPcDt(new \DateTime($value)); $logManager->log(new \DateTime(), "AWS Cntr", "PC Date End" . $value); break; default: break; } } foreach ($result[0]->children() as $child) { // var_dump($child); // echo($child->getName()); // echo "<BR>"; switch ($child->getName()) { case "temperature": // var_dump($tempData); // echo "<BR>"; $logManager->log(new \DateTime(), "AWS Cntr", "parser tempature"); $data->setTemperatureData($this->parseTemperatureData($child)); $logManager->log(new \DateTime(), "AWS Cntr", "parser tempature end"); break; case "rain": // var_dump($tempData); // echo "<BR>"; //print_r($child); $logManager->log(new \DateTime(), "AWS Cntr", "parser rain"); $data->setRainData($this->parseRainData($child)); break; case "wind": $logManager->log(new \DateTime(), "AWS Cntr", "parser wind"); $data->setWindData($this->parseWindData($child)); break; case "uv": $logManager->log(new \DateTime(), "AWS Cntr", "parser uv"); $data->setUvData($this->parseUvData($child)); break; case "solar": $logManager->log(new \DateTime(), "AWS Cntr", "parser solar"); $data->setSolarData($this->parseSolarData($child)); break; case "humidity": $logManager->log(new \DateTime(), "AWS Cntr", "parser humidity"); $data->setHumidityData($this->parseHumidityData($child)); break; case "soil": $logManager->log(new \DateTime(), "AWS Cntr", "parser soil"); $data->setSoilData($this->parseSoilData($child)); break; case "barometer": $logManager->log(new \DateTime(), "AWS Cntr", "parser barometer"); $data->setBarometerData($this->parseBarometerData($child)); break; case "dew": $logManager->log(new \DateTime(), "AWS Cntr", "parser dew"); $data->setDewData($this->parseDewData($child)); break; case "heat": $logManager->log(new \DateTime(), "AWS Cntr", "parser heat"); $data->setHeatData($this->parseHeatData($child)); $logManager->log(new \DateTime(), "AWS Cntr", "parser heat -end"); break; default: break; } } // if($result[0]->hasChildren()) // { // while($result[0]->next()) // { // $child = $result[0]->getChildren(); // switch($child->getName) // { // case "temperature": // $data->setTemperatureData($this->parseTemperatureData($child)); // break; // default: // break; // } // } // } return $data; }