X-Git-Url: http://git.indexdata.com/?p=irspy-moved-to-github.git;a=blobdiff_plain;f=web%2Fhtdocs%2Fdetails%2Ffull.mc;h=abf5c01b3cb97c0ad17d750e4359a44b990b8457;hp=19f74a29c1abf855cd47554a97da6f03859ea836;hb=55c8768f5acb36722ff5bd46f88518d781df274d;hpb=5ffcdb88057319217d93ee6a3a5d8dfa4187c6f3 diff --git a/web/htdocs/details/full.mc b/web/htdocs/details/full.mc index 19f74a2..abf5c01 100644 --- a/web/htdocs/details/full.mc +++ b/web/htdocs/details/full.mc @@ -1,13 +1,11 @@ -%# $Id: full.mc,v 1.26 2007-04-26 14:00:33 mike Exp $ +%# $Id: full.mc,v 1.30 2007-07-03 13:10:50 mike Exp $ <%args> $id <%perl> my $conn = new ZOOM::Connection("localhost:8018/IR-Explain---1"); $conn->option(elementSetName => "zeerex"); -my $qid = $id; -$qid =~ s/"/\\"/g; -my $query = qq[rec.id="$qid"]; +my $query = cql_target($id); my $rs = $conn->search(new ZOOM::Query::CQL($query)); my $n = $rs->size(); if ($n == 0) { @@ -59,39 +57,46 @@ if ($n == 0) { <%perl> foreach my $ref (@fields) { my($caption, $xpath, @args) = @$ref; - my $data; + my($data, $linkURL); if (ref $xpath && ref($xpath) eq "CODE") { - $data = &$xpath(@args); + ($data, $linkURL) = &$xpath($id, @args); } else { $data = $xc->find($xpath); } if ($data) { + print " \n"; + $caption =~ s/\/(.*)//; + my $help = $1; + my($linkstart, $linkend) = ("", ""); + if (defined $linkURL) { + $linkstart = ''; + $linkend = ""; + } - -% $caption =~ s/\/(.*)//; -% my $help = $1; <% xml_encode($caption) %><% !defined $help ? "" : $m->comp("/help/link.mc", help =>"info/$help") %> - <% xml_encode($data) %> + <% $linkstart . xml_encode($data) . $linkend %> % } % }

+% my $target = irspy_identifier2target($id); +% $target =~ s/^tcp://; # Apparently ZAP can't handle the leading "tcp:" ">Search this target.

% } <%perl> sub calc_reliability { - my($xc) = @_; + my($id, $xc) = @_; my @allpings = $xc->findnodes("i:status/i:probe"); my $nall = @allpings; @@ -102,7 +107,7 @@ sub calc_reliability { } sub calc_init_options { - my($xc) = @_; + my($id, $xc) = @_; my @ops; my @nodes = $xc->findnodes('e:configInfo/e:supports/@type'); @@ -117,9 +122,9 @@ sub calc_init_options { } sub calc_ap { - my($xc, $set) = @_; + my($id, $xc, $set) = @_; - my @aps = list_ap($xc, $set); + my @aps = _list_ap($xc, $set); my $n = @aps; return "[none]" if $n == 0; @@ -146,10 +151,11 @@ sub calc_ap { $res .= "-$last" if $last > $first; } - return "$n access points: $res"; + return ("$n access points: $res", + "/ap.html?id=$id&set=$set"); } -sub list_ap { +sub _list_ap { my($xc, $set) = @_; my $expr = 'e:indexInfo/e:index[@search = "true"]/e:map/e:attr[ @@ -159,7 +165,7 @@ sub list_ap { } sub calc_boolean { - my($xc) = @_; + my($id, $xc) = @_; ### Note that we are currently interrogating an IRSpy extension. # The standard ZeeRex record should be extended with a @@ -171,14 +177,14 @@ sub calc_boolean { } sub calc_nrs { - my($xc) = @_; + my($id, $xc) = @_; my @nodes = $xc->findnodes('i:status/i:named_resultset[@ok = "1"]'); return @nodes ? "Yes" : "No"; } sub calc_recsyn { - my($xc, $sep) = @_; + my($id, $xc, $sep) = @_; $sep = ", " if !defined $sep; my @nodes = $xc->findnodes('e:recordInfo/e:recordSyntax'); @@ -188,7 +194,7 @@ sub calc_recsyn { } sub calc_explain { - my($xc) = @_; + my($id, $xc) = @_; my @nodes = $xc->findnodes('i:status/i:explain[@ok = "1"]'); my $res = join(", ", map { $_->findvalue('@category') } @nodes);