Changeset 24949 for main/trunk
- Timestamp:
- 2012-01-16T15:12:39+13:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/cgiactions/metadataaction.pm
r24943 r24949 80 80 81 81 "remove-archives-metadata" => { 'compulsory-args' => [ "d", "metaname" ], #TODO: add f argument 82 'optional-args' => [ "metapos" ] },82 'optional-args' => [ "metapos", "metavalue" ] }, 83 83 84 84 "remove-live-metadata" => { 'compulsory-args' => [ "d", "metaname" ], … … 86 86 87 87 "remove-metadata" => { 'compulsory-args' => [ "d", "metaname" ], 88 'optional-args' => [ "metapos" ] },88 'optional-args' => [ "metapos", "metavalue" ] }, 89 89 90 90 "insert-metadata" => { 'compulsory-args' => [ "d", "metaname", "metavalue" ], … … 878 878 my $import_filename = $doc_rec->{'doc-file'}->[0]; 879 879 880 my $status = $self->remove_from_doc_xml($gsdl_cgi, &util::filename_cat($archive_dir, $import_filename), $metaname, $metapos, $docid_secnum);880 my $status = $self->remove_from_doc_xml($gsdl_cgi, &util::filename_cat($archive_dir, $import_filename), $metaname, $metapos, null, $docid_secnum); 881 881 882 882 # Release the lock once it is done … … 905 905 { 906 906 my $self = shift @_; 907 my ($gsdl_cgi, $doc_xml_filename, $metaname, $metapos, $ secid) = @_;907 my ($gsdl_cgi, $doc_xml_filename, $metaname, $metapos, $metavalue, $secid) = @_; 908 908 909 909 my @start_rules = ('Section' => \&dxml_start_section); … … 950 950 else { 951 951 binmode($MOUT,":utf8"); 952 $parser->filter($xml_in, $MOUT, {metaname => $metaname, metapos => $metapos, secid => $secid});952 $parser->filter($xml_in, $MOUT, {metaname => $metaname, metapos => $metapos, metavalue => $metavalue, secid => $secid}); 953 953 close($MOUT); 954 954 } … … 980 980 981 981 if ((defined $parser->{'parameters'}->{'metapos'}) && ($parser->{'parameters'}->{'metaname'} eq $attrHash->{'name'}) && ($parser->{'parameters'}->{'poscount'} == $parser->{'parameters'}->{'metapos'})) 982 { 983 return []; 984 } 985 986 if ((defined $parser->{'parameters'}->{'metavalue'}) && ($parser->{'parameters'}->{'metaname'} eq $attrHash->{'name'}) && ($parser->{'parameters'}->{'metavalue'} eq $attrHash->{'_content'})) 982 987 { 983 988 return []; … … 1519 1524 my $metaname = $self->{'metaname'}; 1520 1525 my $metapos = $self->{'metapos'}; 1526 my $metavalue = $self->{'metavalue'}; 1521 1527 1522 1528 # To people who know $collect_tail please add some comments … … 1561 1567 my $num_metadata_vals = scalar(@{$doc_rec->{$metaname}}); 1562 1568 for (my $i=0; $i<$num_metadata_vals; $i++) { 1563 my $metavalue = shift(@{$doc_rec->{$metaname}}); 1564 1565 if ($i != $metapos) { 1566 push(@$filtered_metadata,$metavalue) 1569 my $metaval = shift(@{$doc_rec->{$metaname}}); 1570 1571 if (!defined $metavalue && $i != $metapos) { 1572 push(@$filtered_metadata,$metaval) 1573 } 1574 1575 if(defined $metavalue && !($metavalue eq $metaval)) 1576 { 1577 push(@$filtered_metadata,$metavalue) 1567 1578 } 1568 1579 }
Note:
See TracChangeset
for help on using the changeset viewer.