-%# $Id: found.mc,v 1.20 2006-11-16 17:10:30 mike Exp $
+%# $Id: found.mc,v 1.22 2006-12-05 17:18:30 mike Exp $
<%once>
sub print_navlink {
my($params, $cond, $caption, $skip) = @_;
return $url;
}
+# Identical to the same-named function in full.mc
+# So maybe this should go into IRSpy::Utils.pm?
+#
+sub calc_reliability {
+ my($xc) = @_;
+
+ my @allpings = $xc->findnodes("i:status/i:probe");
+ my $nall = @allpings;
+ return "[untested]" if $nall == 0;
+ my @okpings = $xc->findnodes('i:status/i:probe[@ok = "1"]');
+ my $nok = @okpings;
+ return "$nok/$nall = " . int(100*$nok/$nall) . "%";
+}
+
+
# Just make this once; forge the connection on first use
our $conn = undef;
</%once>
<tr class="thleft">
<th>#</th>
<th>Title</th>
- <th>Author</th>
+ <th>Reliability</th>
<th>Host</th>
<th>Port</th>
<th>DB</th>
<%perl>
my $xc = irspy_xpath_context($rs->record($i-1));
my $title = $xc->find("e:databaseInfo/e:title");
-my $author = $xc->find("e:databaseInfo/e:author");
+my $reliability = calc_reliability($xc);
my $host = $xc->find("e:serverInfo/e:host");
my $port = $xc->find("e:serverInfo/e:port");
my $db = $xc->find("e:serverInfo/e:database");
<td><% $i %></td>
<td><a href="<% xml_encode("/full.html?id=" . uri_escape($id))
%>"><% xml_encode($title, "[untitled]") %></a></td>
- <td><% xml_encode($author, "") %></td>
+ <td><% xml_encode($reliability, "", { nbsp => 1 }) %></td>
<td><% xml_encode($host, "") %></td>
<td><% xml_encode($port, "") %></td>
<td><% xml_encode($db, "") %></td>
<td>
<a href="<% xml_encode("/check.html?id=" . uri_escape($id))
%>" title="Test this target">Test</a
- > <a href="<% xml_encode("/edit.html?id=" . uri_escape($id))
+ > <a href="<% xml_encode("/edit.html?op=edit&id=" .
+ uri_escape($id))
%>" title="Edit this target's record">Edit</a
> <a href="<% xml_encode("/raw.html?id=" . uri_escape($id))
%>" title="Raw XML record">XML</a>