Changeset 28064 for main/trunk/greenstone2
- Timestamp:
- 2013-08-15T14:33:35+12:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/cgiactions/metadataaction.pm
r27366 r28064 1065 1065 { 1066 1066 my $self = shift @_; 1067 my ($collect_dir,$collect,$infodbtype,$docid,$metaname,$metapos,$metavalue,$metamode ) = @_;1067 my ($collect_dir,$collect,$infodbtype,$docid,$metaname,$metapos,$metavalue,$metamode,$prevmetavalue) = @_; 1068 1068 1069 1069 # To people who know $collect_tail please add some comments … … 1088 1088 } 1089 1089 $doc_rec->{$metaname}->[$metapos] = $metavalue; 1090 } 1091 elsif (defined $prevmetavalue) { 1092 my $array = $doc_rec->{$metaname}; 1093 my $length = @$array; 1094 1095 my $found = 0; 1096 for(my $i = 0; $i < $length; $i++){ 1097 if(defined $doc_rec->{$metaname}->[$i] && $doc_rec->{$metaname}->[$i] eq $prevmetavalue){ 1098 $doc_rec->{$metaname}->[$i] = $metavalue; 1099 $found = 1; 1100 last; 1101 } 1102 } 1103 1104 if($found == 0){ 1105 $doc_rec->{$metaname} = [ $metavalue ]; 1106 } 1090 1107 } 1091 1108 elsif (defined $metamode && $metamode eq "override") { … … 1246 1263 my $metavalue = $self->{'metavalue'}; 1247 1264 my $infodbtype = $self->{'infodbtype'}; 1248 my $metamode = $self->{'metamode'}; 1249 1250 my $status = $self->set_index_metadata_entry($collect_dir,$collect,$infodbtype,$docid,$metaname,$metapos,$metavalue,$metamode); 1265 my $metamode = $self->{'metamode'}; 1266 my $prevmetavalue = $self->{'prevmetavalue'}; 1267 1268 my $status = $self->set_index_metadata_entry($collect_dir,$collect,$infodbtype,$docid,$metaname,$metapos,$metavalue,$metamode,$prevmetavalue); 1251 1269 1252 1270 if ($status != 0) {
Note:
See TracChangeset
for help on using the changeset viewer.