X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=web%2Fhtdocs%2Fchrome%2Flayout.mc;h=adaac28067059d5599117e8c9321af549385607f;hb=360a4608b23a3bf3edd6bb7a8f37f31068815575;hp=07690b34530362d762140ac3d0364c142b82789e;hpb=752b56dffc8f5bf11e06cc702c456d833ad3deab;p=irspy-moved-to-github.git diff --git a/web/htdocs/chrome/layout.mc b/web/htdocs/chrome/layout.mc index 07690b3..adaac28 100644 --- a/web/htdocs/chrome/layout.mc +++ b/web/htdocs/chrome/layout.mc @@ -1,13 +1,34 @@ -%# $Id: layout.mc,v 1.12 2006-10-30 14:58:15 mike Exp $ +%# $Id: layout.mc,v 1.16 2006-11-14 16:21:08 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 ZOOM::IRSpy::Web; -use ZOOM::IRSpy qw(irspy_xpath_context xml_encode); +use ZOOM::IRSpy::Utils qw(irspy_xpath_context xml_encode modify_xml_document); <& /chrome/head.mc, title => $title &>