-%# $Id: layout.mc,v 1.3 2006-09-19 11:13:58 mike Exp $
+%# $Id: layout.mc,v 1.36 2007-07-13 16:07:52 mike Exp $
<%args>
$debug => undef
$title
$component
</%args>
<%once>
-use lib "/usr/local/src/cvs/irspy/lib";
-use ZOOM::IRSpy;
+use URI::Escape qw(uri_escape uri_escape_utf8);
+use ZOOM;
+use ZOOM::IRSpy::Web;
+use ZOOM::IRSpy::Utils qw(utf8param isodate xml_encode cql_target cql_quote
+ irspy_xpath_context irspy_make_identifier
+ irspy_record2identifier
+ irspy_identifier2target modify_xml_document
+ bib1_access_point);
</%once>
-<%perl>
-my $text = $m->scomp($component, %ARGS);
-</%perl>
-<& /chrome/head.mc, title => $title &>
+% $r->content_type("text/html; charset=utf-8");
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <title>IRSpy: <% xml_encode($title) %></title>
+ <link rel="stylesheet" type="text/css" href="/style.css"/>
+ </head>
+ <body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<& /chrome/bannerrow.mc, title => $title &>
+ <tr class="banner">
+ <td>
+ <table width="100%">
+ <tr>
+ <td align="left">
+ <br/>
+ <h1><a class="logo" href="/">IRSpy</a></h1>
+ </td>
+ <td align="right">
+ <br/>
+ <h1 class="title"><% xml_encode($title) %></h1>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<& /chrome/lmenu.mc &>
+ <tr class="panel3">
+ <td align="left">
+ <!-- Force display -->
+ <!-- Lmenu left -->
+ </td>
+ <td>
+ <!-- Lmenu middle -->
+ </td>
+ <td align="right">
+ <!-- Lmenu right -->
+ </td>
+ </tr>
</table>
<p></p>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" class="panel1">
-<& /chrome/menu.mc &>
+ <p>
+ <a href="/"><b>Home</b></a><br/>
+ <a href="/admin/all.html">Test all targets</a><br/>
+ <a href="/find.html">Find a target</a><br/>
+ <a href="/admin/edit.html?op=new">Add a target</a><br/>
+ <a href="/admin/upload.html">Upload a target</a><br/>
+ <a href="/stats.html">Statistics</a><br/>
+ </p>
+ <p>
+ <b>Show targets</b>
+ <br/>
+% foreach my $i ('a' .. 'z') {
+ <a href="/find.html?dc.title=^<% $i %>*&_sort=dc.title&_count=9999&_search=Search"><tt><% uc($i) %></tt></a>
+% }
+ <a href="/find.html?cql.allRecords=1+not+dc.title+=/regexp/firstInField+[a-z].*&_sort=dc.title&_count=9999&_search=Search">[Others]</a>
+ </p>
+<%perl>
+# Find the identifier to use in the record-specific menu, if any. If
+# the identifier components are all present (e.g. because a record has
+# just been edited or copied) we make an ID from those; otherwise we
+# use the "id" parameter, if specified.
+my $id = utf8param($r, "id");
+{
+ # Make up ID for newly created records.
+ my $protocol = utf8param($r, "protocol");
+ my $host = utf8param($r, "host");
+ my $port = utf8param($r, "port");
+ my $dbname = utf8param($r, "dbname");
+ #warn "id='$id', protocol='$protocol' host='$host', port='$port', dbname='$dbname'";
+ #warn "%ARGS = {\n" . join("", map { "\t'$_' => '" . $ARGS{$_} . ",'\n" } sort keys %ARGS) . "}\n";
+ if (defined $protocol && defined $host &&
+ defined $port && defined $dbname) {
+ $id = irspy_make_identifier($protocol, $host, $port, $dbname);
+ #warn "id set to '$id'";
+ }
+}
+</%perl>
+% if (defined $id) {
+ <div class="panel2">
+ <b>This Target</b>
+ <br/>
+ <a href="<% xml_encode("/full.html?id=" . uri_escape($id)) %>">Show details</a>
+ <br/>
+ <a href="<% xml_encode("/admin/edit.html?op=edit&id=" . uri_escape($id)) %>">Edit details</a>
+ <br/>
+ <a href="<% xml_encode("/admin/edit.html?op=copy&id=" . uri_escape($id)) %>">Copy target</a>
+ <br/>
+ <a href="<% xml_encode("/admin/delete.html?id=" . uri_escape($id)) %>">Delete target</a>
+ <p>
+ <a href="<% xml_encode("/admin/check.html?id=" . uri_escape($id)) . "&test=Quick" %>">Quick Test</a>
+ <br/>
+ <a href="<% xml_encode("/admin/check.html?id=" . uri_escape($id)) . "&test=Main" %>">Full Test</a>
+ </p>
+ <p>
+ <a href="<% xml_encode("/raw.html?id=" . uri_escape($id)) %>">XML</a>
+ </p>
+<%doc><!-- Maybe this would be too heavyweight -->
+ <br/>
+% my $host = "bagel.indexdata.dk";
+% my $port = 210;
+ <a href="/find.html?net.host=<% $host %>&net.port=<% $port %>&_search=Search"
+ >All databases on this server</a>
+</%doc>
+ </div>
+% }
+ <p>
+ <b>Documentation</b>
+ <br/>
+ <a href="/doc.html">Contents</a>
+ </p>
+ <p> </p>
+ <p>
+ <a href="http://validator.w3.org/check?uri=referer"><img
+ src="/valid-xhtml10.png"
+ alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
+ <br/>
+ <a href="http://jigsaw.w3.org/css-validator/"><img
+ src="/vcss.png"
+ alt="Valid CSS!" height="31" width="88" /></a>
+ </p>
</td>
- <td class="spacer"></td>
+ <td class="spacer"> </td>
<td valign="top">
- <% $text %>
+<& $component, %ARGS &>
+ </td>
</tr>
</table>
-<& /chrome/tail.mc &>
+ <p/>
+ <hr/>
+ <div class="right">
+ <small>
+ Powered by <a style="text-decoration: none"
+ href="http://indexdata.com/"
+ >Index Data</a>.
+ <br/>
+ Report errors and omissions to <a style="text-decoration: none"
+ href="mailto:irspy@indexdata.com"
+ >irspy@indexdata.com</a>
+ </small>
+ </div>
+ </body>
+</html>