[1/1] clean up unused geo related code in deprecated index.php

Submitted by Tobias Klaus on May 26, 2017, 10:25 a.m.

Details

Message ID 20170526102546.24611-2-tk+ff@meskal.net
State Accepted
Headers show

Commit Message

Tobias Klaus May 26, 2017, 10:25 a.m.
Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
---
 index.php | 130 ++------------------------------------------------------------
 1 file changed, 4 insertions(+), 126 deletions(-)

Patch hide | download patch | download mbox

diff --git a/index.php b/index.php
index 936e29b..514e1ae 100644
--- a/index.php
+++ b/index.php
@@ -53,112 +53,6 @@  function showError($code,$msg){
   print_r(json_encode($errorObject));
 }
 
-/**
- * Haversine distance function in km
- * https://en.wikipedia.org/wiki/Haversine_formula
- *
- * @param double $lat1
- *          latitude point 1
- * @param double $lon1
- *          longitude point 1
- * @param double $lat2
- *          latitude point 2
- * @param double $lon2
- *          longitude point 2
- * @return integer distance between the points in km
- */
-const EARTH_RADIUS = 6371;
-
-function distance_haversine($lat1,$lon1,$lat2,$lon2){
-  $delta_lat = $lat1-$lat2;
-  $delta_lon = $lon1-$lon2;
-  $alpha = $delta_lat/2;
-  $beta = $delta_lon/2;
-  $a = sin(deg2rad($alpha))*sin(deg2rad($alpha))+cos(deg2rad($lat1))*cos(deg2rad($lat2))*sin(deg2rad($beta))*sin(deg2rad($beta));
-  $c = asin(min(1,sqrt($a)));
-  $distance = 2*EARTH_RADIUS*$c;
-  $distance = round($distance,3);
-  return $distance;
-}
-
-/**
- * Try to read the geo coodinates from netmon and
- * return them as an array [lat, lon].
- * In case of error return empty array.
- *
- * @param $mac search for the router by the mac adress or by name
- * @return array[lat, lon] or []
- */
-function getLocationByMacOrName($mac){
-  require('config.inc.php');
-  $url = $netmon_server.'/api/rest/router/'.$mac;
-
-  if(!$netmon_response = simplexml_load_file($url)) {
-    debug('ERROR: Failed to open '.$url);
-    return [];
-  }
-
-  if($netmon_response->request->error_code > 0){
-    debug('WARN: '.$netmon_response->request->error_message);
-    return [];
-  }
-
-  // get geo-location
-  $nodeLat = floatval($netmon_response->router->latitude);
-  $nodeLon = floatval($netmon_response->router->longitude);
-  if ($nodeLat == 0 || $nodeLon == 0){
-    debug('WARN nodeLat: '.$nodeLat.', nodeLon: '.$nodeLon);
-    return [];
-  }
-
-  debug('nodeLat: '.$nodeLat.', nodeLon: '.$nodeLon);
-  return array($nodeLat,$nodeLon);
-}
-
-/**
- * Check is the given geo coordinates are within one of the hoods.
- *
- * @param double $lat
- *          latitude point 1
- * @param double $lon
- *          longitude point 1
- * @return integer hood-id
- */
-function getHoodByGeo($lat,$lon){
-  $current_hood_dist=99999999;
-  $current_hood=DEFAULT_HOOD_ID;
-
-  // load hoods from DB
-  try {
-    $rs = db::getInstance()->prepare('SELECT * FROM `hoods`');
-    $rs->execute();
-  }
-  catch(PDOException $e) {
-    exit(showError(500,$e));
-  }
-
-  // check for every hood if it's nearer than the hood before
-  while($result = $rs->fetch(PDO::FETCH_ASSOC)){
-    debug("\n\nhood: ".$result['name']);
-
-    if(is_null($result['lat']) || is_null($result['lon']))
-      continue;
-
-    debug('hoodCenterLat: '.$result['lat'].', hoodCenterLon: '.$result['lon'].', hoodID: '.$result['ID']);
-
-    $distance = distance_haversine($result['lat'],$result['lon'],$lat,$lon);
-    debug('distance: $distance');
-
-    if ($distance <= $current_hood_dist) {
-      debug('Node belongs to Hood '.$result['ID'].'('.$result['name'].')');
-      $current_hood_dist = $distance;
-      $current_hood = $result['ID'];
-    }
-  }
-
-  return $current_hood;
-}
-
 function debug($msg){
   if(DEBUG)
     print_r($msg."\n");
@@ -223,21 +117,10 @@  if(isset($ip) && $ip && isset($name) && $name && isset($key) && $key) {
     if (!$result['readonly'] && !$result['notrain']) {
       $updateHood=false;
       if (!$result['isgateway']) {
-        // discover the best hood-id from netmons geo-location
-        //$location = getLocationByMacOrName($mac == INVALID_MAC ? $name : $mac);
-
-        //if($location && $location[0] && $location[1]) {
-        //  $hood = getHoodByGeo($location[0],$location[1]);
-
-        //  if ($hood != $result['hood_ID']) {
-        //    $updateHood=true;
-        //  }
-        //}
-	if ($result['hood_ID'] != 0)
-	{
-		$updateHood=true;
-		$hood = 0;
-	}
+        if ($result['hood_ID'] != 0) {
+          $updateHood=true;
+          $hood = 0;
+        }
       }
 
       if ($updateHood)
@@ -262,11 +145,6 @@  if(isset($ip) && $ip && isset($name) && $name && isset($key) && $key) {
     }
   }
   else{
-    //$location = getLocationByMacOrName($mac == INVALID_MAC ? $name : $mac);
-
-    //if($location && $location[0] && $location[1])
-    //  $hood = getHoodByGeo($location[0],$location[1]);
-
     $sql = 'INSERT INTO nodes(ip,mac,name,`key`,port,readonly,isgateway,hood_ID) VALUES (:ip,:mac,:name,:key,:port,0,0,:hood);';
     try{
       $rs = db::getInstance()->prepare($sql);

Comments

Tim Niemeyer May 26, 2017, 11:29 a.m.
Hi Tobias

Gern kannst du das applien. Bitte stecke da aber nicht so viel Zeit
rein. Die index.php ist nur noch für die alten Knoten, die ihre
Koordinaten nicht mitschicken. Diese landen dann eh in der Trainstation.

Und danke fürs Aufräumen des Repos.

Tim

Am Freitag, den 26.05.2017, 12:25 +0200 schrieb Tobias Klaus:
> Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
> ---
>  index.php | 130 ++------------------------------------------------------------
>  1 file changed, 4 insertions(+), 126 deletions(-)
> 
> diff --git a/index.php b/index.php
> index 936e29b..514e1ae 100644
> --- a/index.php
> +++ b/index.php
> @@ -53,112 +53,6 @@ function showError($code,$msg){
>    print_r(json_encode($errorObject));
>  }
>  
> -/**
> - * Haversine distance function in km
> - * https://en.wikipedia.org/wiki/Haversine_formula
> - *
> - * @param double $lat1
> - *          latitude point 1
> - * @param double $lon1
> - *          longitude point 1
> - * @param double $lat2
> - *          latitude point 2
> - * @param double $lon2
> - *          longitude point 2
> - * @return integer distance between the points in km
> - */
> -const EARTH_RADIUS = 6371;
> -
> -function distance_haversine($lat1,$lon1,$lat2,$lon2){
> -  $delta_lat = $lat1-$lat2;
> -  $delta_lon = $lon1-$lon2;
> -  $alpha = $delta_lat/2;
> -  $beta = $delta_lon/2;
> -  $a = sin(deg2rad($alpha))*sin(deg2rad($alpha))+cos(deg2rad($lat1))*cos(deg2rad($lat2))*sin(deg2rad($beta))*sin(deg2rad($beta));
> -  $c = asin(min(1,sqrt($a)));
> -  $distance = 2*EARTH_RADIUS*$c;
> -  $distance = round($distance,3);
> -  return $distance;
> -}
> -
> -/**
> - * Try to read the geo coodinates from netmon and
> - * return them as an array [lat, lon].
> - * In case of error return empty array.
> - *
> - * @param $mac search for the router by the mac adress or by name
> - * @return array[lat, lon] or []
> - */
> -function getLocationByMacOrName($mac){
> -  require('config.inc.php');
> -  $url = $netmon_server.'/api/rest/router/'.$mac;
> -
> -  if(!$netmon_response = simplexml_load_file($url)) {
> -    debug('ERROR: Failed to open '.$url);
> -    return [];
> -  }
> -
> -  if($netmon_response->request->error_code > 0){
> -    debug('WARN: '.$netmon_response->request->error_message);
> -    return [];
> -  }
> -
> -  // get geo-location
> -  $nodeLat = floatval($netmon_response->router->latitude);
> -  $nodeLon = floatval($netmon_response->router->longitude);
> -  if ($nodeLat == 0 || $nodeLon == 0){
> -    debug('WARN nodeLat: '.$nodeLat.', nodeLon: '.$nodeLon);
> -    return [];
> -  }
> -
> -  debug('nodeLat: '.$nodeLat.', nodeLon: '.$nodeLon);
> -  return array($nodeLat,$nodeLon);
> -}
> -
> -/**
> - * Check is the given geo coordinates are within one of the hoods.
> - *
> - * @param double $lat
> - *          latitude point 1
> - * @param double $lon
> - *          longitude point 1
> - * @return integer hood-id
> - */
> -function getHoodByGeo($lat,$lon){
> -  $current_hood_dist=99999999;
> -  $current_hood=DEFAULT_HOOD_ID;
> -
> -  // load hoods from DB
> -  try {
> -    $rs = db::getInstance()->prepare('SELECT * FROM `hoods`');
> -    $rs->execute();
> -  }
> -  catch(PDOException $e) {
> -    exit(showError(500,$e));
> -  }
> -
> -  // check for every hood if it's nearer than the hood before
> -  while($result = $rs->fetch(PDO::FETCH_ASSOC)){
> -    debug("\n\nhood: ".$result['name']);
> -
> -    if(is_null($result['lat']) || is_null($result['lon']))
> -      continue;
> -
> -    debug('hoodCenterLat: '.$result['lat'].', hoodCenterLon: '.$result['lon'].', hoodID: '.$result['ID']);
> -
> -    $distance = distance_haversine($result['lat'],$result['lon'],$lat,$lon);
> -    debug('distance: $distance');
> -
> -    if ($distance <= $current_hood_dist) {
> -      debug('Node belongs to Hood '.$result['ID'].'('.$result['name'].')');
> -      $current_hood_dist = $distance;
> -      $current_hood = $result['ID'];
> -    }
> -  }
> -
> -  return $current_hood;
> -}
> -
>  function debug($msg){
>    if(DEBUG)
>      print_r($msg."\n");
> @@ -223,21 +117,10 @@ if(isset($ip) && $ip && isset($name) && $name && isset($key) && $key) {
>      if (!$result['readonly'] && !$result['notrain']) {
>        $updateHood=false;
>        if (!$result['isgateway']) {
> -        // discover the best hood-id from netmons geo-location
> -        //$location = getLocationByMacOrName($mac == INVALID_MAC ? $name : $mac);
> -
> -        //if($location && $location[0] && $location[1]) {
> -        //  $hood = getHoodByGeo($location[0],$location[1]);
> -
> -        //  if ($hood != $result['hood_ID']) {
> -        //    $updateHood=true;
> -        //  }
> -        //}
> -	if ($result['hood_ID'] != 0)
> -	{
> -		$updateHood=true;
> -		$hood = 0;
> -	}
> +        if ($result['hood_ID'] != 0) {
> +          $updateHood=true;
> +          $hood = 0;
> +        }
>        }
>  
>        if ($updateHood)
> @@ -262,11 +145,6 @@ if(isset($ip) && $ip && isset($name) && $name && isset($key) && $key) {
>      }
>    }
>    else{
> -    //$location = getLocationByMacOrName($mac == INVALID_MAC ? $name : $mac);
> -
> -    //if($location && $location[0] && $location[1])
> -    //  $hood = getHoodByGeo($location[0],$location[1]);
> -
>      $sql = 'INSERT INTO nodes(ip,mac,name,`key`,port,readonly,isgateway,hood_ID) VALUES (:ip,:mac,:name,:key,:port,0,0,:hood);';
>      try{
>        $rs = db::getInstance()->prepare($sql);
> -- 
> 2.13.0
>
Tobias Klaus May 26, 2017, 5:20 p.m.
Hey,

Am Freitag, 26. Mai 2017, 13:29:43 CEST schrieb Tim Niemeyer:
> Hi Tobias
> 
> Gern kannst du das applien. 
Ich hab das mal als Reviewed by aufgepasst und entsprechend gepusht. github 
und server sollten jetzt auch wieder synchron sein.

> Bitte stecke da aber nicht so viel Zeit
> rein. 
Sowieso nicht. War eher ein Versehen, dass ich mir die Datei zu lange an 
geschaut hab. Und da ich schonmal gemacht hab wollt ich nicht, dass das geo-
Zeug noch jemand verwirrt ;-)

Grüße
Tobias


> Die index.php ist nur noch für die alten Knoten, die ihre
> Koordinaten nicht mitschicken. Diese landen dann eh in der Trainstation.
> 
> Und danke fürs Aufräumen des Repos.
> 
> Tim
> 
> Am Freitag, den 26.05.2017, 12:25 +0200 schrieb Tobias Klaus:
> > Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
> > ---
> > 
> >  index.php | 130
> >  ++------------------------------------------------------------ 1 file
> >  changed, 4 insertions(+), 126 deletions(-)
> > 
> > diff --git a/index.php b/index.php
> > index 936e29b..514e1ae 100644
> > --- a/index.php
> > +++ b/index.php
> > @@ -53,112 +53,6 @@ function showError($code,$msg){
> > 
> >    print_r(json_encode($errorObject));
> >  
> >  }
> > 
> > -/**
> > - * Haversine distance function in km
> > - * https://en.wikipedia.org/wiki/Haversine_formula
> > - *
> > - * @param double $lat1
> > - *          latitude point 1
> > - * @param double $lon1
> > - *          longitude point 1
> > - * @param double $lat2
> > - *          latitude point 2
> > - * @param double $lon2
> > - *          longitude point 2
> > - * @return integer distance between the points in km
> > - */
> > -const EARTH_RADIUS = 6371;
> > -
> > -function distance_haversine($lat1,$lon1,$lat2,$lon2){
> > -  $delta_lat = $lat1-$lat2;
> > -  $delta_lon = $lon1-$lon2;
> > -  $alpha = $delta_lat/2;
> > -  $beta = $delta_lon/2;
> > -  $a =
> > sin(deg2rad($alpha))*sin(deg2rad($alpha))+cos(deg2rad($lat1))*cos(deg2rad
> > ($lat2))*sin(deg2rad($beta))*sin(deg2rad($beta)); -  $c =
> > asin(min(1,sqrt($a)));
> > -  $distance = 2*EARTH_RADIUS*$c;
> > -  $distance = round($distance,3);
> > -  return $distance;
> > -}
> > -
> > -/**
> > - * Try to read the geo coodinates from netmon and
> > - * return them as an array [lat, lon].
> > - * In case of error return empty array.
> > - *
> > - * @param $mac search for the router by the mac adress or by name
> > - * @return array[lat, lon] or []
> > - */
> > -function getLocationByMacOrName($mac){
> > -  require('config.inc.php');
> > -  $url = $netmon_server.'/api/rest/router/'.$mac;
> > -
> > -  if(!$netmon_response = simplexml_load_file($url)) {
> > -    debug('ERROR: Failed to open '.$url);
> > -    return [];
> > -  }
> > -
> > -  if($netmon_response->request->error_code > 0){
> > -    debug('WARN: '.$netmon_response->request->error_message);
> > -    return [];
> > -  }
> > -
> > -  // get geo-location
> > -  $nodeLat = floatval($netmon_response->router->latitude);
> > -  $nodeLon = floatval($netmon_response->router->longitude);
> > -  if ($nodeLat == 0 || $nodeLon == 0){
> > -    debug('WARN nodeLat: '.$nodeLat.', nodeLon: '.$nodeLon);
> > -    return [];
> > -  }
> > -
> > -  debug('nodeLat: '.$nodeLat.', nodeLon: '.$nodeLon);
> > -  return array($nodeLat,$nodeLon);
> > -}
> > -
> > -/**
> > - * Check is the given geo coordinates are within one of the hoods.
> > - *
> > - * @param double $lat
> > - *          latitude point 1
> > - * @param double $lon
> > - *          longitude point 1
> > - * @return integer hood-id
> > - */
> > -function getHoodByGeo($lat,$lon){
> > -  $current_hood_dist=99999999;
> > -  $current_hood=DEFAULT_HOOD_ID;
> > -
> > -  // load hoods from DB
> > -  try {
> > -    $rs = db::getInstance()->prepare('SELECT * FROM `hoods`');
> > -    $rs->execute();
> > -  }
> > -  catch(PDOException $e) {
> > -    exit(showError(500,$e));
> > -  }
> > -
> > -  // check for every hood if it's nearer than the hood before
> > -  while($result = $rs->fetch(PDO::FETCH_ASSOC)){
> > -    debug("\n\nhood: ".$result['name']);
> > -
> > -    if(is_null($result['lat']) || is_null($result['lon']))
> > -      continue;
> > -
> > -    debug('hoodCenterLat: '.$result['lat'].', hoodCenterLon:
> > '.$result['lon'].', hoodID: '.$result['ID']); -
> > -    $distance =
> > distance_haversine($result['lat'],$result['lon'],$lat,$lon); -   
> > debug('distance: $distance');
> > -
> > -    if ($distance <= $current_hood_dist) {
> > -      debug('Node belongs to Hood
> > '.$result['ID'].'('.$result['name'].')'); -      $current_hood_dist =
> > $distance;
> > -      $current_hood = $result['ID'];
> > -    }
> > -  }
> > -
> > -  return $current_hood;
> > -}
> > -
> > 
> >  function debug($msg){
> >  
> >    if(DEBUG)
> >    
> >      print_r($msg."\n");
> > 
> > @@ -223,21 +117,10 @@ if(isset($ip) && $ip && isset($name) && $name &&
> > isset($key) && $key) {> 
> >      if (!$result['readonly'] && !$result['notrain']) {
> >      
> >        $updateHood=false;
> >        if (!$result['isgateway']) {
> > 
> > -        // discover the best hood-id from netmons geo-location
> > -        //$location = getLocationByMacOrName($mac == INVALID_MAC ? $name
> > : $mac); -
> > -        //if($location && $location[0] && $location[1]) {
> > -        //  $hood = getHoodByGeo($location[0],$location[1]);
> > -
> > -        //  if ($hood != $result['hood_ID']) {
> > -        //    $updateHood=true;
> > -        //  }
> > -        //}
> > -	if ($result['hood_ID'] != 0)
> > -	{
> > -		$updateHood=true;
> > -		$hood = 0;
> > -	}
> > +        if ($result['hood_ID'] != 0) {
> > +          $updateHood=true;
> > +          $hood = 0;
> > +        }
> > 
> >        }
> >        
> >        if ($updateHood)
> > 
> > @@ -262,11 +145,6 @@ if(isset($ip) && $ip && isset($name) && $name &&
> > isset($key) && $key) {> 
> >      }
> >    
> >    }
> >    else{
> > 
> > -    //$location = getLocationByMacOrName($mac == INVALID_MAC ? $name :
> > $mac); -
> > -    //if($location && $location[0] && $location[1])
> > -    //  $hood = getHoodByGeo($location[0],$location[1]);
> > -
> > 
> >      $sql = 'INSERT INTO
> >      nodes(ip,mac,name,`key`,port,readonly,isgateway,hood_ID) VALUES
> >      (:ip,:mac,:name,:key,:port,0,0,:hood);'; try{
> >      
> >        $rs = db::getInstance()->prepare($sql);