Example #1
0
 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;
 }
Example #2
0
 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());
     }
 }
Example #3
0
 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;
 }