X-Git-Url: http://git.indexdata.com/?p=irspy-moved-to-github.git;a=blobdiff_plain;f=web%2Fhtdocs%2Fchrome%2Flayout.mc;h=b99cb80e7ebf22f6cdced5772f179834c580481b;hp=db224299dfc5a3e7a39e1f36f6ab9982759bd8e0;hb=d4baae06246f4218bcd30b8b8c91a0b862408db7;hpb=1ea61ba35126286896fc158104e9bb0c8fa11e2c diff --git a/web/htdocs/chrome/layout.mc b/web/htdocs/chrome/layout.mc index db22429..b99cb80 100644 --- a/web/htdocs/chrome/layout.mc +++ b/web/htdocs/chrome/layout.mc @@ -1,53 +1,166 @@ -%# $Id: layout.mc,v 1.17 2006-11-16 11:49:30 mike Exp $ +%# $Id: layout.mc,v 1.38 2007-07-17 13:07:57 mike Exp $ <%args> $debug => undef $title $component -<%perl> -{ - # Make up ID for newly created records. It would be more - # rigorously correct, but insanely inefficient, to submit the - # record to Zebra and then search for it; but since we know the - # formula for IDs anyway, we just build one by hand. - my $id = $r->param("id"); - my $host = $r->param("host"); - my $port = $r->param("port"); - my $dbname = $r->param("dbname"); - #warn "id='$id', host='$host', port='$port', dbname='$dbname'"; - #warn "%ARGS = {\n" . join("", map { "\t'$_' => '" . $ARGS{$_} . ",'\n" } sort keys %ARGS) . "}\n"; - if ((!defined $id || $id eq "") && - defined $host && defined $port && defined $dbname) { - $id = "$host:$port/$dbname"; - $r->param(id => $id); - $ARGS{id} = $id; - #warn "id set to '$id'"; - } -} - <%once> -use URI::Escape; +use URI::Escape qw(uri_escape uri_escape_utf8); use ZOOM; use ZOOM::IRSpy::Web; -use ZOOM::IRSpy::Utils qw(irspy_xpath_context xml_encode modify_xml_document); +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); -<& /chrome/head.mc, title => $title &> +% $r->content_type("text/html; charset=utf-8"); +% my $text = $m->scomp($component, %ARGS); + + + + + IRSpy: <% xml_encode($title) %> + + + -<& /chrome/bannerrow.mc, title => $title &> + + +
-<& /chrome/lmenu.mc &> + + + + +
+   + + + + + +

-<& /chrome/menu.mc &> +

+ Home
+ Test all targets
+ Find a target
+ Add a target
+ Upload a target
+ Statistics
+

+

+ Show targets +
+% foreach my $i ('a' .. 'z') { + <% uc($i) %> +% } + [Others] +

+<%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'"; + } +} + +% if (defined $id) { +
+ This Target +
+ Show details +
+ ">Edit details +
+ ">Copy target +
+ Delete target +

+ ">Quick Test +
+ ">Full Test +

+

+ XML +

+<%doc> +
+% my $host = "bagel.indexdata.dk"; +% my $port = 210; + All databases on this server + +
+% } +

+ Documentation +
+ Contents +

+

 

+

+ Valid XHTML 1.0 Strict +
+ Valid CSS! +

  -<& $component, %ARGS &> +% print $text;
-<& /chrome/tail.mc &> +

+


+
+ + Powered by Index Data. +
+ Report errors and omissions to irspy@indexdata.com +
+
+ +