X-Git-Url: http://git.indexdata.com/?p=irspy-moved-to-github.git;a=blobdiff_plain;f=web%2Fhtdocs%2Fdetails%2Fedit.mc;h=e0cb6e76f0d5323202f34ded959c306d347f8564;hp=be35470e1c289495969dabdd315b648ea84a5e3e;hb=570b57305c273a1d71e86fd44c50fb27d42aefbd;hpb=5be3dea6bacf251661cfa9b3317b3b62e01da295 diff --git a/web/htdocs/details/edit.mc b/web/htdocs/details/edit.mc index be35470..e0cb6e7 100644 --- a/web/htdocs/details/edit.mc +++ b/web/htdocs/details/edit.mc @@ -1,4 +1,3 @@ -%# $Id: edit.mc,v 1.40 2009-04-15 18:16:46 wosch Exp $ <%args> $op $id => undef ### should be extracted using utf8param() @@ -32,14 +31,16 @@ duplicate ID. die "op = new but id defined" if $op eq "new" && defined $id; die "op != new but id undefined" if $op ne "new" && !defined $id; -my $conn = new ZOOM::Connection("localhost:8018/IR-Explain---1", 0, +my $db = ZOOM::IRSpy::connect_to_registry(); +my $conn = new ZOOM::Connection($db, 0, user => "admin", password => "fruitbat", elementSetName => "zeerex"); -my $protocol = utf8param($r, "protocol"); -my $host = utf8param($r, "host"); -my $port = utf8param($r, "port"); -my $dbname = utf8param($r, "dbname"); +my $protocol = utf8paramTrim($r, "protocol"); +my $host = utf8paramTrim($r, "host"); +my $port = utf8paramTrim($r, "port"); +my $dbname = utf8paramTrim($r, "dbname"); +my $title = utf8paramTrim($r, "title"); if ((!defined $port || $port eq "") && (defined $protocol && $protocol ne "")) { @@ -53,6 +54,7 @@ my $newid; if (defined $protocol && $protocol ne "" && defined $host && $host ne "" && defined $port && $port ne "" && + defined $title && $title ne "" && defined $dbname && $dbname ne "") { $newid = irspy_make_identifier($protocol, $host, $port, $dbname); } @@ -66,9 +68,9 @@ if (!defined $id) { } elsif (!defined $newid) { # Tried to create new record but data is insufficient print qq[

- Please specify protocol, host, port and database name.

\n]; + Please specify name, protocol, host, port and database name.

\n]; undef $update; - } elsif ($host !~ /^\w+\.[\w.]*\w$/i) { + } elsif ($host !~ /^[\w-]+\.[\w.-]*\w$/i) { print qq[

This host name is not valid.

\n]; undef $update; @@ -83,7 +85,7 @@ if (!defined $id) { # that the new record is not a duplicate of an existing one. my $rs = $conn->search(new ZOOM::Query::CQL(cql_target($newid))); if ($rs->size() > 0) { - my $qnewid = xml_encode(uri_escape($newid)); + my $qnewid = xml_encode(uri_escape_utf8($newid)); print qq[

There is already a record @@ -335,6 +337,8 @@ my @fields = qw(e:title e:description) ], [ subjects => 2, "Subjects", "e:databaseInfo/e:subjects", qw(e:title e:description) ], + [ disabled => [ qw(0 1) ], + "Target Test Disabled", "i:status/i:disabled" ], ); # Update record with submitted data @@ -342,7 +346,7 @@ my %fieldsByKey = map { ( $_->[0], $_) } @fields; my %data; foreach my $key (&utf8param($r)) { next if grep { $key eq $_ } qw(op id update); - $data{$key} = utf8param($r, $key); + $data{$key} = trimField( utf8param($r, $key) ); } my @changedFields = modify_xml_document($xc, \%fieldsByKey, \%data); if ($update && @changedFields) { @@ -352,7 +356,7 @@ if ($update && @changedFields) { "e:metaInfo/e:dateModified" ] }, { dateModified => isodate(time()) }); die "Didn't set dateModified!" if !@x; - ZOOM::IRSpy::_really_rewrite_record($conn, $xc->getContextNode(), + ZOOM::IRSpy::_rewrite_zeerex_record($conn, $xc->getContextNode(), $op eq "edit" ? $id : undef); }