예제 #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;
 }
예제 #2
0
 public function __construct()
 {
     $this->dao = DAOFactory::getDAO(DAOFactory::DEVICE_REPORT);
 }
예제 #3
0
 public function __construct()
 {
     $this->dao = DAOFactory::getDAO(DAOFactory::TASK);
 }
예제 #4
0
 public function __construct()
 {
     $this->dao = DAOFactory::getDAO(DAOFactory::SAFETY_PLACE);
 }
예제 #5
0
 public function __construct()
 {
     $this->dao = DAOFactory::getDAO(DAOFactory::ATTENDENCE);
 }
예제 #6
0
 public function __construct()
 {
     $this->dao = DAOFactory::getDAO(DAOFactory::NOTIFICATION);
 }
예제 #7
0
 public function __construct()
 {
     $this->dao = DAOFactory::getDAO(DAOFactory::STUDENT);
 }