- $my_tags = get_tag_rows({borrowernumber=>$loggedinuser});
- foreach (@$my_tags) {
- my $biblio = GetBiblioData($_->{biblionumber});
- $_->{bib_summary} = $biblio->{title};
- ($biblio->{author}) and $_->{bib_summary} .= " by " . $biblio->{author};
- my $date = $_->{date_created} || '';
- $date =~ /\s+(\d{2}\:\d{2}\:\d{2})/;
- $_->{time_created_display} = $1;
- }
+ $my_tags = get_tag_rows({borrowernumber=>$loggedinuser});
+ my $my_approved_tags = get_approval_rows({ approved => 1 });
+ foreach my $tag (@$my_tags) {
+ my $biblio = GetBiblioData($tag->{biblionumber});
+ my $record = &GetMarcBiblio( $tag->{biblionumber} );
+ $tag->{subtitle} = GetRecordValue( 'subtitle', $record, GetFrameworkCode( $tag->{biblionumber} ) );
+ $tag->{title} = $biblio->{title};
+ $tag->{author} = $biblio->{author};
+
+ my $xslfile = C4::Context->preference('OPACXSLTResultsDisplay');
+ my $lang = $xslfile ? C4::Languages::getlanguage() : undef;
+ my $sysxml = $xslfile ? C4::XSLT::get_xslt_sysprefs() : undef;
+
+ if ( $xslfile ) {
+ $tag->{XSLTBloc} = XSLTParse4Display(
+ $tag->{ biblionumber }, $record, "OPACXSLTResultsDisplay",
+ 1, undef, $sysxml, $xslfile, $lang
+ );
+ }
+
+ my $date = $tag->{date_created} || '';
+ $date =~ /\s+(\d{2}\:\d{2}\:\d{2})/;
+ $tag->{time_created_display} = $1;
+ $tag->{approved} = ( grep { $_->{term} eq $tag->{term} and $_->{approved} } @$my_approved_tags );
+ }