Update of /cvsroot/meshdb/www/db2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11468 Modified Files: cookies.inc cookies.php index.php lookup.inc.php map2b.php map3b.php map4b.php search.php touchgraph.php view.php vrml3b.php Log Message: Added an option to omit nodes older than a given number of days (stored in the cookie and defaulting to 1000). Index: cookies.inc =================================================================== RCS file: /cvsroot/meshdb/www/db2/cookies.inc,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- cookies.inc 9 May 2004 01:52:05 -0000 1.4 +++ cookies.inc 9 May 2004 03:32:30 -0000 1.5 @@ -14,6 +14,7 @@ "viewpeermenulimit" => "200", "viewpeertablelimit" => "10", "viewlosonly" => "0", + "maxnodeage" => "1000", "_moddate" => "0", "viewmaplist" => "net loc ter elev", Index: cookies.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/cookies.php,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- cookies.php 9 May 2004 01:58:38 -0000 1.8 +++ cookies.php 9 May 2004 03:32:30 -0000 1.9 @@ -67,6 +67,8 @@ "viewlosonly" => array("List peers with LOS only", "select", "Omit nodes without line of sight from the list on the node page", $yesno), + "maxnodeage" => array("Maximum node age", + "text", "Ignore nodes that haven't been touched in this number of days (0 = show all)"), "viewmaplist" => array("Order of maps to show in index/view page", "text", "Whitespace-separated list of map types<br>" ."Default: <code>net loc ter elev</code>"), Index: index.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/index.php,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- index.php 2 Nov 2003 02:07:00 -0000 1.8 +++ index.php 9 May 2004 03:32:30 -0000 1.9 @@ -82,19 +82,36 @@ <map name="summarymap"> <? /* figure out the limits of the map */ -$result = mysql_query("SELECT min(e) as mine, min(n) as minn, max(e) as maxe, max(n) as maxn from physloc" - /* limit to a 600km radius about UQ */ - ." WHERE (e-501372)*(e-501372)+(n-6958178)*(n-6958178) < 600000*600000" - , $db) +$result = mysql_query("SELECT" + ." min(e) as mine," + ." min(n) as minn," + ." max(e) as maxe," + ." max(n) as maxn" + ." FROM physloc, admin" + /* limit to a 600km radius about UQ */ + ." WHERE (e-501372)*(e-501372)+(n-6958178)*(n-6958178) < 600000*600000" + ." AND admin.nodeid = physloc.nodeid" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"], + $db) or die(mysql_error($db)); $row = mysql_fetch_assoc($result); $mwid = max(max( $row["maxn"]-$row["minn"] , $row["maxe"]-$row["mine"] ), 1); $mapscale = $len/$mwid/1.1; $mapn = ($row["minn"]+$row["maxn"])/2; $mape = ($row["mine"]+$row["maxe"])/2; -$mapargb = "w=${len}&h=${len}&s=${mapscale}&n=${mapn}&e=${mape}&updated=${updated}"; +$mapargb = "w=${len}&h=${len}&s=${mapscale}&n=${mapn}&e=${mape}&updated=${updated}&maxage=".$PREF["maxnodeage"]; -$result = mysql_query("SELECT admin.nodeid,nodename,n,e from admin,physloc where admin.nodeid = physloc.nodeid and n is not null and e is not null", $db) +$result = mysql_query("SELECT" + ." admin.nodeid," + ." nodename," + ." n," + ." e" + ." FROM admin, physloc" + ." WHERE admin.nodeid = physloc.nodeid" + ." AND n is not null" + ." AND e is not null" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"], + $db) or die(mysql_error($db)); while ($row = mysql_fetch_assoc($result)) { if ($row["n"] && $row["e"]) { @@ -112,7 +129,18 @@ <map name="networkmap"> <? -$result = mysql_query("SELECT admin.nodeid AS nodeid, nodename, e, n FROM admin, netloc, physloc WHERE (netloc.nodeid = admin.nodeid OR netloc.peerid = admin.nodeid) AND physloc.nodeid = admin.nodeid GROUP BY nodeid", $db) +$result = mysql_query("SELECT" + ." admin.nodeid AS nodeid," + ." nodename," + ." e," + ." n" + ." FROM admin, netloc, physloc" + ." WHERE (netloc.nodeid = admin.nodeid" + ." OR netloc.peerid = admin.nodeid)" + ." AND physloc.nodeid = admin.nodeid" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"] + ." GROUP BY nodeid", + $db) or die(mysql_error($db)); while ($row = mysql_fetch_assoc($result)) { if ($row["n"] && $row["e"]) { @@ -186,6 +214,7 @@ } ?> </tr> +<!-- <?=print_r($PREF)?> <?=$PREF["maxnodeage"]?> --> <? $infinite = 100000000; $result = mysql_query("SELECT" @@ -203,6 +232,7 @@ ." LEFT JOIN netloc ON admin.nodeid=netloc.nodeid" ." WHERE physaddr.nodeid = admin.nodeid" ." AND physloc.nodeid = admin.nodeid" + ." AND to_days(now()) - to_days(admin.updated) <= " . $PREF["maxnodeage"] ." GROUP BY admin.nodeid" ." ORDER BY $orderkey $orderdir" .($PREF["indexlimit"] > 0 ? " LIMIT ".$PREF["indexlimit"] : "") @@ -334,5 +364,3 @@ </body> </html> - - Index: lookup.inc.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/lookup.inc.php,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- lookup.inc.php 12 Jan 2004 08:07:27 -0000 1.4 +++ lookup.inc.php 9 May 2004 03:32:30 -0000 1.5 @@ -59,7 +59,11 @@ $res = mysql_fetch_assoc($result); $GLOBALS["updated"] = intval($res["updated"]); - $result = mysql_query("SELECT max(unix_timestamp(updated)) AS maxupdated FROM admin", $db) + $result = mysql_query("SELECT" + ." max(unix_timestamp(updated)) AS maxupdated" + ." FROM admin" + ." WHERE to_days(now()) - to_days(updated) <= ".$PREF["maxnodeage"], + $db) or die(mysql_error($db)); $res = mysql_fetch_assoc($result); $GLOBALS["maxupdated"] = max(intval($res["maxupdated"]), Index: map2b.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/map2b.php,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- map2b.php 9 May 2004 02:45:42 -0000 1.5 +++ map2b.php 9 May 2004 03:32:30 -0000 1.6 @@ -13,6 +13,9 @@ $s = doubleval($_GET["s"]); $e = doubleval($_GET["e"]); $n = doubleval($_GET["n"]); +$maxage = intval($_GET["maxage"]); +if (!$maxage) + $maxage = $PREF["maxnodeage"]; /* convert an e/n to an x/y coord in the image */ function coord($ep, $np) { @@ -47,9 +50,18 @@ /* Find all the visible nodes */ $De = $w / $s / 2; $Dn = $h / $s / 2; -$q = "SELECT nodename, admin.nodeid AS nodeid, e, n FROM admin,physloc WHERE admin.nodeid -= physloc.nodeid AND n>".($n-$Dn)." AND n<".($n+$Dn)." AND e>".($e-$De)." AND e< -".($e+$De); +$q = "SELECT" + ." nodename," + ." admin.nodeid AS nodeid," + ." e," + ." n" + ." FROM admin,physloc" + ." WHERE admin.nodeid = physloc.nodeid" + ." AND n > ".($n-$Dn) + ." AND n < ".($n+$Dn) + ." AND e > ".($e-$De) + ." AND e < ".($e+$De) + ." AND to_days(now()) - to_days(admin.updated) <= $maxage"; $BLACK = imagecolorresolve($im, 0, 0, 0); $RED = imagecolorresolve($im, 255, 0, 0); Index: map3b.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/map3b.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- map3b.php 10 Aug 2002 11:42:39 -0000 1.3 +++ map3b.php 9 May 2004 03:32:30 -0000 1.4 @@ -18,6 +18,9 @@ $h = intval($h); $s = doubleval($s); $vrml = intval($vrml); +$maxage = intval($_GET["maxage"]); +if (!$maxage) + $maxage = $PREF["maxnodeage"]; $db = mysql_connect($MYSQLHOST, $MYSQLUSER, $MYSQLPASS); mysql_select_db($MYSQLDB, $db) @@ -40,7 +43,17 @@ $De = $w / $s / 2; $Dn = $h / $s / 2; -$q = "SELECT admin.nodeid AS nodeid, e, n FROM admin,physloc WHERE admin.nodeid = physloc.nodeid AND n>".($n-$Dn)." AND n<".($n+$Dn)." AND e>".($e-$De)." AND e<".($e+$De); +$q = "SELECT" + ." admin.nodeid AS nodeid," + ." e," + ." n" + ." FROM admin,physloc" + ." WHERE admin.nodeid = physloc.nodeid" + ." AND n>".($n-$Dn) + ." AND n<".($n+$Dn) + ." AND e>".($e-$De) + ." AND e<".($e+$De) + ." AND to_days(now()) - to_days(admin.updated) <= $maxage"; $c = ""; $result = mysql_query($q, $db); Index: map4b.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/map4b.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- map4b.php 10 Aug 2002 11:42:39 -0000 1.3 +++ map4b.php 9 May 2004 03:32:30 -0000 1.4 @@ -14,6 +14,9 @@ $w = intval($_GET["w"]); $h = intval($_GET["h"]); $s = doubleval($_GET["s"]); +$maxage = intval($_GET["maxage"]); +if (!$maxage) + $maxage = $PREF["maxnodeage"]; $db = mysql_connect($MYSQLHOST, $MYSQLUSER, $MYSQLPASS); mysql_select_db($MYSQLDB, $db) @@ -100,7 +103,8 @@ ." n>".($n-$Dn)." AND n<".($n+$Dn) ." AND" ." e>".($e-$De)." AND e<".($e+$De) -; + ." AND" + ." to_days(now()) - to_days(admin.updated) <= $maxage"; $result = mysql_query($q, $db) or die(mysql_error($db)); @@ -140,6 +144,10 @@ ."(p2.n>".($n-$Dn)." AND p2.n<".($n+$Dn) ." AND p2.e>".($e-$De)." AND p2.e<".($e+$De).")" .")" + ." AND" + ." to_days(now()) - to_days(a1.updated) <= ".$PREF["maxnodeage"] + ." AND" + ." to_days(now()) - to_days(a2.updated) <= ".$PREF["maxnodeage"] ; /* First, plot red crosses */ Index: search.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/search.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- search.php 2 Nov 2003 02:07:00 -0000 1.3 +++ search.php 9 May 2004 03:32:30 -0000 1.4 @@ -27,7 +27,8 @@ $result = mysql_query( "SELECT nodeid" ." FROM admin" - ." WHERE nodename LIKE $like", + ." WHERE nodename LIKE $like" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"], $db) or die(mysql_error($db)." (nodename like=$like)"); if (mysql_num_rows($result) > 0) { @@ -41,7 +42,8 @@ "SELECT admin.nodeid" ." FROM admin, contact" ." WHERE contactname LIKE $like" - ." AND admin.nodeid = contact.nodeid", + ." AND admin.nodeid = contact.nodeid" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"], $db) or die(mysql_error($db)." (contactname like=$like)"); if (mysql_num_rows($result) > 0) { @@ -54,7 +56,8 @@ $result = mysql_query( "SELECT nodeid" ." FROM admin" - ." WHERE comment LIKE $like", + ." WHERE comment LIKE $like" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"], $db) or die(mysql_error($db)." (comment like=$like)"); if (mysql_num_rows($result) > 0) { @@ -68,7 +71,8 @@ "SELECT admin.nodeid" ." FROM admin, physaddr" ." WHERE (streetno LIKE $like OR suburb LIKE $like)" - ." AND admin.nodeid = physaddr.nodeid", + ." AND admin.nodeid = physaddr.nodeid" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"], $db) or die(mysql_error($db)." (streetno like=$like)"); if (mysql_num_rows($result) > 0) { Index: touchgraph.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/touchgraph.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- touchgraph.php 2 Nov 2003 02:07:00 -0000 1.3 +++ touchgraph.php 9 May 2004 03:32:30 -0000 1.4 @@ -39,6 +39,7 @@ $q = "SELECT admin.nodeid AS nodeid, admin.nodename AS name" ." FROM admin, netloc" ." WHERE admin.nodeid = netloc.nodeid" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"] ." GROUP BY admin.nodeid"; $comma = ""; $result = mysql_query($q, $db) @@ -55,7 +56,8 @@ .", netloc.nodeid AS nn1" .", netloc.peerid AS nn2" ." FROM admin, netloc" - ." WHERE admin.nodeid = netloc.peerid"; + ." WHERE admin.nodeid = netloc.peerid" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"]; $comma = ""; $result = mysql_query($q, $db) Index: view.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/view.php,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- view.php 9 May 2004 01:47:27 -0000 1.13 +++ view.php 9 May 2004 03:32:30 -0000 1.14 @@ -70,11 +70,18 @@ if ($v == "") return "<i>none</i>"; $v = intval($v); - $result = mysql_query("SELECT nodename FROM admin WHERE nodeid=$v", $db) or die(mysql_error($db)); + $result = mysql_query("SELECT" + ." nodename," + ." to_days(now()) - to_days(admin.updated) AS age" + ." FROM admin" + ." WHERE nodeid=$v", + $db) or die(mysql_error($db)); $row = mysql_fetch_row($result); - if ($row) + if ($row) { $v .= " <i>(<a href=\"view.php?nodeid=$v\">".htmlspecialchars($row[0])."</a>)</i>"; - else + if ($row[1] > $PREF["maxnodeage"]) + $v .= " <strong>(old)</strong>"; + } else $v .= " <strong>(invalid)</strong>"; return $v; } @@ -298,7 +305,21 @@ $De = $w / $s / 2; $Dn = $h / $s / 2; - $q = "SELECT admin.nodeid AS nodeid, e, n, nodename, ((e-$e)*(e-$e)+(n-$n)*(n-$n)) AS distance FROM admin,physloc WHERE admin.nodeid = physloc.nodeid AND n>".($n-$Dn)." AND n<".($n+$Dn)." AND e>".($e-$De)." AND e<".($e+$De)." AND admin.nodeid != $nodeid ORDER BY distance DESC"; + $q = "SELECT" + ." admin.nodeid AS nodeid," + ." e," + ." n," + ." nodename," + ." ((e-$e)*(e-$e) + (n-$n)*(n-$n)) AS distance" + ." FROM admin, physloc" + ." WHERE admin.nodeid = physloc.nodeid" + ." AND n>".($n-$Dn) + ." AND n<".($n+$Dn) + ." AND e>".($e-$De) + ." AND e<".($e+$De) + ." AND admin.nodeid != $nodeid" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"] + ." ORDER BY distance DESC"; $result = mysql_query($q, $db); $i = 0; $mapdef = ""; @@ -326,6 +347,7 @@ $paramb .= "&t[$nodeid]=X"; if ($peerid) $paramb .= "&t[$peerid]=o"; + $paramb .= "&maxage=".$PREF["maxnodeage"]; $param = htmlspecialchars($param); $paramb = htmlspecialchars($paramb); @@ -418,7 +440,18 @@ $limit = "LIMIT ".intval($PREF["viewpeermenulimit"]); } else $sort = "admin.nodeid"; - $result = mysql_query("SELECT admin.nodeid, nodename, sqrt(pow($n - n, 2) + pow($e - e, 2)) AS dist FROM admin,physloc WHERE admin.nodeid = physloc.nodeid AND n IS NOT NULL AND e IS NOT NULL ORDER BY $sort $limit", $db) + $result = mysql_query("SELECT" + ." admin.nodeid," + ." nodename," + ." sqrt(pow($n - n, 2) + pow($e - e, 2)) AS dist" + ." FROM admin,physloc" + ." WHERE admin.nodeid = physloc.nodeid" + ." AND n IS NOT NULL" + ." AND e IS NOT NULL" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"] + ." ORDER BY $sort" + ." $limit", + $db) or die(mysql_error($db)); while ($row = mysql_fetch_assoc($result)) { if (intval($row["nodeid"]) == $nodeid) @@ -565,6 +598,7 @@ ." WHERE admin.nodeid = physloc.nodeid" ." AND admin.nodeid = physaddr.nodeid" ." AND admin.nodeid != $nodeid" + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"] ." ORDER BY distance" ." LIMIT $peerlimit") or die(mysql_error($db)); Index: vrml3b.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/vrml3b.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vrml3b.php 10 Aug 2002 11:42:39 -0000 1.3 +++ vrml3b.php 9 May 2004 03:32:30 -0000 1.4 @@ -39,7 +39,18 @@ $c = ""; /* -$q = "SELECT admin.nodeid AS nodeid, e, n FROM admin,physloc WHERE admin.nodeid = physloc.nodeid AND n>".($n-$Dn)." AND n<".($n+$Dn)." AND e>".($e-$De)." AND e<".($e+$De); +$q = "SELECT" + ." admin.nodeid AS nodeid," + ." e," + ." n" + ." FROM admin, physloc" + ." WHERE admin.nodeid = physloc.nodeid" + ." AND n>".($n-$Dn) + ." AND n<".($n+$Dn) + ." AND e>".($e-$De) + ." AND e<".($e+$De) + ." AND to_days(now()) - to_days(admin.updated) <= ".$PREF["maxnodeage"] +; $result = mysql_query($q, $db); while ($row = mysql_fetch_assoc($result)) { |