示例#1
0
 /**
  * Update the location for this node
  *
  * @return Node object (this) (or Error object)
  */
 function updateLocation($location, $loccountry, $address1, $address2, $postcode)
 {
     global $DB, $CFG, $USER, $HUB_SQL;
     //check user owns the node
     try {
         $this->canedit();
     } catch (Exception $e) {
         return access_denied_error();
     }
     $dt = time();
     $params = array();
     $params[0] = $address1;
     $params[1] = $address2;
     $params[2] = $postcode;
     $params[3] = $location;
     $params[4] = $loccountry;
     $params[5] = $dt;
     $params[6] = $this->nodeid;
     $res = $DB->insert($HUB_SQL->DATAMODEL_NODE_LOCATION_UPDATE, $params);
     if ($res) {
         //try to geocode
         if ($location != "" && $loccountry != "" && ($location != $this->location || $loccountry != $this->countrycode || $address1 != $this->locationaddress1 || $address2 != $this->locationaddress2 || $postcode != $this->locationpostcode)) {
             $coords = geoCodeAddress($address1, $address2, $postcode, $location, $loccountry);
             if ($coords["lat"] != "" && $coords["lng"] != "") {
                 $params = array();
                 $params[0] = $coords["lat"];
                 $params[1] = $coords["lng"];
                 $params[2] = $this->nodeid;
                 $res = $DB->insert($HUB_SQL->DATAMODEL_NODE_LATLONG_UPDATE, $params);
             } else {
                 $params = array();
                 $params[0] = null;
                 $params[1] = null;
                 $params[2] = $this->nodeid;
                 $res = $DB->insert($HUB_SQL->DATAMODEL_NODE_LATLONG_UPDATE, $params);
             }
         }
     } else {
         return database_error();
     }
     return $this->load();
 }
示例#2
0
/**
 * Geocode a location
 *
 * @uses $CFG
 * @param string $loc
 * @param string $cc country code for location
 * @return array
 */
function geoCode($loc, $cc)
{
    return geoCodeAddress("", "", "", $loc, $cc);
}