Lines 473-479
sub getRecords {
Link Here
|
473 |
($facets->[$k]) or next; |
473 |
($facets->[$k]) or next; |
474 |
my @fcodes = @{$facets->[$k]->{'tags'}}; |
474 |
my @fcodes = @{$facets->[$k]->{'tags'}}; |
475 |
my $sfcode = $facets->[$k]->{'subfield'}; |
475 |
my $sfcode = $facets->[$k]->{'subfield'}; |
476 |
|
476 |
my @sfcodes = split('', $sfcode); |
477 |
for ( my $j = 0 ; $j < $jmax ; $j++ ) { |
477 |
for ( my $j = 0 ; $j < $jmax ; $j++ ) { |
478 |
my $render_record = $results[ $i - 1 ]->record($j)->render(); |
478 |
my $render_record = $results[ $i - 1 ]->record($j)->render(); |
479 |
my @used_datas = (); |
479 |
my @used_datas = (); |
Lines 483-504
sub getRecords {
Link Here
|
483 |
# avoid first line |
483 |
# avoid first line |
484 |
my $field_pattern = '\n'.$fcode.' ([^\n]+)'; |
484 |
my $field_pattern = '\n'.$fcode.' ([^\n]+)'; |
485 |
my @field_tokens = ( $render_record =~ /$field_pattern/g ) ; |
485 |
my @field_tokens = ( $render_record =~ /$field_pattern/g ) ; |
486 |
|
|
|
487 |
foreach my $field_token (@field_tokens) { |
486 |
foreach my $field_token (@field_tokens) { |
488 |
my $subfield_pattern = '\$'.$sfcode.' ([^\$]+)'; |
487 |
my @subf = ( $field_token =~ /\$([a-zA-Z0-9]) ([^\$]+)/g ); |
489 |
my @subfield_values = ( $field_token =~ /$subfield_pattern/g ); |
488 |
my @values; |
490 |
|
489 |
for (my $i = 0; $i < @subf; $i += 2) { |
491 |
foreach my $subfield_value (@subfield_values) { |
490 |
if ( $sfcode =~ $subf[$i] ) { |
492 |
|
491 |
my $value = $subf[$i+1]; |
493 |
my $data = $subfield_value; |
492 |
$value =~ s/^ *//; |
494 |
$data =~ s/^\s+//; # trim left |
493 |
$value =~ s/ *$//; |
495 |
$data =~ s/\s+$//; # trim right |
494 |
push @values, $value; |
496 |
|
|
|
497 |
unless ( $data ~~ @used_datas ) { |
498 |
$facets_counter->{ $facets->[$k]->{'link_value'} }->{$data}++; |
499 |
push @used_datas, $data; |
500 |
} |
495 |
} |
501 |
} # subfields |
496 |
} |
|
|
497 |
my $data = join(', ', @values); |
498 |
unless ( $data ~~ @used_datas ) { |
499 |
$facets_counter->{ $facets->[$k]->{'link_value'} }->{$data}++; |
500 |
push @used_datas, $data; |
501 |
} |
502 |
} # fields |
502 |
} # fields |
503 |
} # field codes |
503 |
} # field codes |
504 |
} # records |
504 |
} # records |
505 |
- |
|
|