query( $sql );
if ($loc_db->num_rows() == 0)
die("that node doesnt exist, go here ");
// build SQL query to get basic node data
$sql = "SELECT *, (TO_DAYS(now()) - TO_DAYS(updated)) as age FROM nodes WHERE id='" . $node_id . "' ORDER BY id";
// run query
$loc_db->query($sql);
$loc_db->next_record();
$node_name = $loc_db->f("name");
$node_owner = $loc_db->f("owner");
$node_owner_email = "click to email ";
$node_lat = (double)$loc_db->f("latitude");
$node_long = (double)$loc_db->f("longitude");
$node_suburb = $loc_db->f("suburb");
$node_status = $loc_db->f("status");
$node_area_id = $loc_db->f("area");
$node_area = get_area_name($loc_db->f("area"));
$node_ip_block = get_ip_block($node_id);
$node_age = $loc_db->f("age");
$node_url = $loc_db->f("url");
$node_wiki_url = get_node_wiki($node_id);
$node_node_map = get_node_map($node_id, $zoom);
$node_link_map = get_node_link_map($node_id, $zoom);
if ((substr($node_url, 0, 4) != "http") && ($node_url != ""))
$node_url = "http://" . $node_url;
if (strlen($node_url) != 0) {
$node_url = "$node_url ";
} else {
$node_url = " none ";
}
?>
Node information
Node ID and Name
Node ID:
echo $node_id ?>
Short node name:
echo $node_name ?>
Contact Information and Location
Owner:
echo $node_owner ?>
email:
echo $node_owner_email ?>
Suburb:
echo $node_suburb ?>
Latitude:
echo $node_lat ?>
Longitude:
echo $node_long ?>
Node Status
Node status:
echo $node_status ?>
Area
Area:
echo $node_area ?>
if ($node_area != "none") { ?>
Allocated IP Addresses
IP Block:
echo $node_ip_block ?>
} ?>
Where to find more info
External URL:
echo $node_url ?>
if ($opt_wiki) {?>
Wiki:
echo $node_wiki_url ?>
} ?>
Days since last update
Days since last update:
echo $node_age ?>
if (($node_status == "operational") || ($node_status == "testing")) { ?>
// build SQL query to get basic node data
$sql = "SELECT * FROM interfaces WHERE node = '" . $node_id . "'";
// run query
$loc_db->query($sql);
echo " ";
echo "";
if ($loc_db->num_rows() == 0) {
?>
No Interfaces
} else {
$counter = 1;
// loop for each node in the db
while($loc_db->next_record()) {
$int_id = $loc_db->f("int_id");
$card_manufacturer = $loc_db->f("card_manufacturer");
$card_power = $loc_db->f("card_power");
$card_receive = $loc_db->f("card_receive");
$mac = $loc_db->f("mac");
$channel = $loc_db->f("channel");
$antenna_dbi = $loc_db->f("antenna_dbi");
$antenna_type = $loc_db->f("antenna_type");
$cable_loss = $loc_db->f("cable_loss");
$router_ip = get_ip_router($int_id);
$class = $loc_db->f("class");
$mode = $loc_db->f("mode");
if ($card_power == -1)
$card_power = "unknown";
if ($card_receive == -1)
$card_receive = "unknown";
if ($channel == -1)
$channel = "unknown";
if ($antenna_dbi == -1)
$antenna_dbi = "unknown";
if ($cable_loss == -1)
$cable_loss = "unknown";
?>
Interface echo $counter ?>
Card/AP Manufacturer: (? )
echo $card_manufacturer ?>
Card/AP Power: (? )
echo $card_power ?> dBm
Card/AP Receive Sensitivity: (? )
echo $card_receive ?> dBm
MAC: (? )
echo $mac ?>
Channel: (? )
echo $channel ?>
Mode: (? )
echo strtoupper($mode) ?>
Antenna Type: (? )
echo $antenna_type ?>
Antenna Gain: (? )
echo $antenna_dbi ?> dBi
Cable Loss: (? )
echo $cable_loss ?> dB
EIRP: (? )
echo $card_power + $antenna_dbi - $cable_loss ?> dBm (over 36dBm is _illegal_)
Class: (? )
echo $class ?>
if ($class == "p2p") {?>
IP Address: (? )
echo $router_ip ?>
} ?>
$sql = "SELECT * FROM links WHERE ((interface_1 = " . $loc_db->f("id") . ") OR (interface_2 = " . $loc_db->f("id") . "))";
$loc_db_2->query( $sql );
while($loc_db_2->next_record()) {
if ($loc_db->f("id") == $loc_db_2->f("interface_1")) {
$link_int = $loc_db_2->f("interface_2");
} else {
$link_int = $loc_db_2->f("interface_1");
}
$sql = "SELECT * FROM interfaces WHERE id = " . $link_int;
$loc_db_3->query( $sql );
$loc_db_3->next_record();
?>
Linked to "> echo $loc_db_3->f("node") ?> : ( echo $loc_db_3->f("antenna_dbi") ?>dBi echo $loc_db_3->f("antenna_type") ?>)
}
?>
$counter++ ?>
} ?>
} ?>
Services
Type
IP
Port
DESCRIPTION
// build SQL query to get basic node data
$sql = "SELECT * FROM services WHERE node = '" . $node_id . "'";
// run query
$loc_db->query($sql);
if ($loc_db->num_rows() == 0) {
?>
No Services Offered
} else {
// loop for each node in the db
while($loc_db->next_record()) {
?>
echo $loc_db->f("type") ?>
echo $loc_db->f("ip") ?>
echo $loc_db->f("port") ?>
echo $loc_db->f("description") ?>
} ?>
} ?>
} ?>
Maps
Zoom Level
if ($zoom != "-5") {
$zoom_links .= "-5x ";
} else {
$zoom_links .= " -5x ";
}
if ($zoom != "-4") {
$zoom_links .= "-4x ";
} else {
$zoom_links .= " -4x ";
}
if ($zoom != "-3") {
$zoom_links .= "-3x ";
} else {
$zoom_links .= " -3x ";
}
if ($zoom != "-2") {
$zoom_links .= "-2x ";
} else {
$zoom_links .= " -2x ";
}
if ($zoom != "1") {
$zoom_links .= "1x ";
} else {
$zoom_links .= " 1x ";
}
if ($zoom != "2") {
$zoom_links .= "2x ";
} else {
$zoom_links .= " 2x ";
}
if ($zoom != "3") {
$zoom_links .= "3x ";
} else {
$zoom_links .= " 3x ";
}
if ($zoom != "4") {
$zoom_links .= "4x ";
} else {
$zoom_links .= " 4x ";
}
echo $zoom_links;
?>
All Nodes
Links
if ($nodes != "all") {
$nodes = " LIMIT " . $nodes;
} else {
$nodes = "";
}
?>
View Closest
[
25 ,
50 ,
100 ,
250 ,
500 ,
all ]
nodes
ID (? )
Name (? )
Distance from you (? )
Coordinates (? )
Bearing (? )
Theoretical SOM (? )
Status of node (? )
$sql = "SELECT *,((sqrt(((($node_lat - latitude) * 364560)*(($node_lat - latitude) * 364560)) + ((cos(($node_lat + latitude) / 2) * (($node_long - longitude) * 364560))*(cos(($node_lat + latitude) / 2) * ($node_long - longitude) * 364560))) / 5280) * 1.609) as dist, ((ATAN((SIN($node_long - longitude)) / ((SIN($node_lat) * COS($node_long - longitude)) - (TAN(latitude) * COS($node_lat))))) / 0.017453292) as bearing FROM nodes WHERE id <> '$node_id' ORDER BY dist" . $nodes;
// OLD DIST CALC
// (1.852 * 60 * ACOS( SIN($node_lat) * SIN(latitude) + COS($node_lat) * COS(latitude) * COS(longitude - $node_long)))
$loc_db->query ( $sql );
while ($loc_db->next_record()) {
$close_id = $loc_db->f("id");
$close_name = $loc_db->f("name");
$close_suburb = $loc_db->f("suburb");
$close_dist = round($loc_db->f("dist"),2);
$close_lat = $loc_db->f("latitude");
$close_long = $loc_db->f("longitude");
$close_status = $loc_db->f("status");
$bearing = $loc_db->f("bearing");
if ($node_lat > $loc_db->f("latitude"))
$bearing = $loc_db->f("bearing") + 180;
if (($loc_db->f("latitude") > $node_lat) && ($node_long > $loc_db->f("longitude")))
$bearing = $loc_db->f("bearing") + 360;
$bearing = round($bearing, 2);
$sql = "SELECT count(id) as count FROM interfaces WHERE node='" . $id . "'";
$loc_db_2->query( $sql );
$loc_db_2->next_record();
$this_num_interface = $loc_db_2->f("count");
$sql = "SELECT count(id) as count FROM interfaces WHERE node='" . $close_id . "'";
$loc_db_2->query( $sql );
$loc_db_2->next_record();
$close_num_interface = $loc_db_2->f("count");
if (($this_num_interface == 0) || ($close_num_interface == 0)) {
$som = "---";
} else {
$som = "";
$sql = "SELECT * FROM interfaces WHERE node='" . $id . "'";
$loc_db_2->query( $sql );
while ($loc_db_2->next_record()) {
$sql = "SELECT * FROM interfaces WHERE node='" . $close_id . "'";
$loc_db_3->query( $sql );
while ($loc_db_3->next_record()) {
if (($loc_db_2->f("card_power") == -1) || ($loc_db_2->f("cable_loss") == -1) || ($loc_db_2->f("antenna_dbi") == -1) || ($loc_db_3->f("antenna_dbi") == -1) || ($loc_db_3->f("cable_loss") == -1) || ($loc_db_3->f("card_receive") == -1)) {
$som .= "" . $loc_db_2->f("antenna_dbi") . "dbi " . $loc_db_2->f("antenna_type") . " -> " . $loc_db_3->f("antenna_dbi") . "dbi " . $loc_db_3->f("antenna_type") . " - #Err ";
} else {
$free_space_loss = (20 * log10(2400)) + (20 * log10($close_dist / 1.6)) + 36.6;
$rx_signal_level = $loc_db_2->f("card_power") - $loc_db_2->f("cable_loss") + $loc_db_2->f("antenna_dbi") - $free_space_loss + $loc_db_3->f("antenna_dbi") - $loc_db_3->f("cable_loss");
$temp_som = round ($rx_signal_level - ($loc_db_3->f("card_receive")), 2);
$som .= "" . $loc_db_2->f("antenna_dbi") . "dbi " . $loc_db_2->f("antenna_type") . " -> " . $loc_db_3->f("antenna_dbi") . "dbi " . $loc_db_3->f("antenna_type") . " = " . $temp_som . "dB ";
}
}
}
$som .= " ";
}
?>
echo $close_id ?>
echo $close_name ?> ( echo $close_suburb ?>)
echo $close_dist ?>kms
echo $close_lat ?> echo $close_long ?>
echo $bearing ?>°
echo $som ?>
echo $close_status ?>
} ?>