1 %# $Id: layout.mc,v 1.38 2007-07-17 13:07:57 mike Exp $
8 use URI::Escape qw(uri_escape uri_escape_utf8);
11 use ZOOM::IRSpy::Utils qw(utf8param isodate xml_encode cql_target cql_quote
12 irspy_xpath_context irspy_make_identifier
13 irspy_record2identifier
14 irspy_identifier2target modify_xml_document
17 % $r->content_type("text/html; charset=utf-8");
18 % my $text = $m->scomp($component, %ARGS);
19 <?xml version="1.0" encoding="UTF-8"?>
21 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
22 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
23 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
25 <title>IRSpy: <% xml_encode($title) %></title>
26 <link rel="stylesheet" type="text/css" href="/style.css"/>
29 <table border="0" cellpadding="0" cellspacing="0" width="100%">
36 <h1><a class="logo" href="/">IRSpy</a></h1>
40 <h1 class="title"><% xml_encode($title) %></h1>
47 <table border="0" cellpadding="0" cellspacing="0" width="100%">
50 <!-- Force display -->
62 <table border="0" cellpadding="0" cellspacing="0" width="100%">
64 <td valign="top" class="panel1">
66 <a href="/"><b>Home</b></a><br/>
67 <a href="/admin/all.html">Test all targets</a><br/>
68 <a href="/find.html">Find a target</a><br/>
69 <a href="/add.html">Add a target</a><br/>
70 <a href="/upload.html">Upload a target</a><br/>
71 <a href="/stats.html">Statistics</a><br/>
76 % foreach my $i ('a' .. 'z') {
77 <a href="/find.html?dc.title=^<% $i %>*&_sort=dc.title&_count=9999&_search=Search"><tt><% uc($i) %></tt></a>
79 <a href="/find.html?cql.allRecords=1+not+dc.title+=/regexp/firstInField+[a-z].*&_sort=dc.title&_count=9999&_search=Search">[Others]</a>
82 # Find the identifier to use in the record-specific menu, if any. If
83 # the identifier components are all present (e.g. because a record has
84 # just been edited or copied) we make an ID from those; otherwise we
85 # use the "id" parameter, if specified.
86 my $id = utf8param($r, "id");
88 # Make up ID for newly created records.
89 my $protocol = utf8param($r, "protocol");
90 my $host = utf8param($r, "host");
91 my $port = utf8param($r, "port");
92 my $dbname = utf8param($r, "dbname");
93 #warn "id='$id', protocol='$protocol' host='$host', port='$port', dbname='$dbname'";
94 #warn "%ARGS = {\n" . join("", map { "\t'$_' => '" . $ARGS{$_} . ",'\n" } sort keys %ARGS) . "}\n";
95 if (defined $protocol && defined $host &&
96 defined $port && defined $dbname) {
97 $id = irspy_make_identifier($protocol, $host, $port, $dbname);
98 #warn "id set to '$id'";
106 <a href="<% xml_encode("/full.html?id=" . uri_escape($id)) %>">Show details</a>
108 <a href="<% xml_encode("/admin/edit.html?op=edit&id=" . uri_escape($id)) %>">Edit details</a>
110 <a href="<% xml_encode("/admin/edit.html?op=copy&id=" . uri_escape($id)) %>">Copy target</a>
112 <a href="<% xml_encode("/admin/delete.html?id=" . uri_escape($id)) %>">Delete target</a>
114 <a href="<% xml_encode("/admin/check.html?id=" . uri_escape($id)) . "&test=Quick" %>">Quick Test</a>
116 <a href="<% xml_encode("/admin/check.html?id=" . uri_escape($id)) . "&test=Main" %>">Full Test</a>
119 <a href="<% xml_encode("/raw.html?id=" . uri_escape($id)) %>">XML</a>
121 <%doc><!-- Maybe this would be too heavyweight -->
123 % my $host = "bagel.indexdata.dk";
125 <a href="/find.html?net.host=<% $host %>&net.port=<% $port %>&_search=Search"
126 >All databases on this server</a>
133 <a href="/doc.html">Contents</a>
137 <a href="http://validator.w3.org/check?uri=referer"><img
138 src="/valid-xhtml10.png"
139 alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
141 <a href="http://jigsaw.w3.org/css-validator/"><img
143 alt="Valid CSS!" height="31" width="88" /></a>
146 <td class="spacer"> </td>
156 Powered by <a style="text-decoration: none"
157 href="http://indexdata.com/"
158 >Index Data</a>.
160 Report errors and omissions to <a style="text-decoration: none"
161 href="mailto:irspy@indexdata.com"
162 >irspy@indexdata.com</a>