X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Fopac-ISBDdetail.pl;h=81e122c86ec4eb6495881f9fdb05461f8e4eb693;hb=a2c4c5353b07bc61f31910b1e8a1dc9fb58bcd42;hp=df7f45d6b6fe95b6bf67ebda2ffc2d8a3d97cf65;hpb=a481fad4b7e84e1571fb2750ee99d1edf234b796;p=koha.git diff --git a/opac/opac-ISBDdetail.pl b/opac/opac-ISBDdetail.pl index df7f45d6b6..81e122c86e 100755 --- a/opac/opac-ISBDdetail.pl +++ b/opac/opac-ISBDdetail.pl @@ -17,7 +17,6 @@ # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA -# $Id$ =head1 NAME @@ -43,11 +42,9 @@ the items attached to the biblio =cut use strict; -require Exporter; use C4::Auth; use C4::Context; use C4::Output; -use C4::Interface::CGI::Output; use CGI; use MARC::Record; use C4::Biblio; @@ -57,18 +54,25 @@ use C4::Serials; # uses getsubscriptionfrom biblionumber use C4::Koha; # use getitemtypeinfo use C4::Members; # GetMember -my $query = new CGI; - -my $dbh = C4::Context->dbh; +my $query = CGI->new(); +my ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "opac-ISBDdetail.tmpl", + query => $query, + type => "opac", + authnotrequired => 1, + debug => 1, + } +); my $biblionumber = $query->param('biblionumber'); -my $itemtype = &GetFrameworkCode($biblionumber); -my $tagslib = &GetMarcStructure( $dbh, 1, $itemtype ); +my $marcflavour = C4::Context->preference("marcflavour"); my $record = GetMarcBiblio($biblionumber); #coping with subscriptions my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber); +my $dbh = C4::Context->dbh; my $dat = TransformMarcToKoha( $dbh, $record ); my @subscriptions = GetSubscriptions( $dat->{title}, $dat->{issn}, $biblionumber ); @@ -77,6 +81,7 @@ foreach my $subscription (@subscriptions) { my %cell; $cell{subscriptionid} = $subscription->{subscriptionid}; $cell{subscriptionnotes} = $subscription->{notes}; + $cell{branchcode} = $subscription->{branchcode}; #get the three latest serials. $cell{latestserials} = @@ -84,96 +89,19 @@ foreach my $subscription (@subscriptions) { push @subs, \%cell; } -# open template -my ( $template, $loggedinuser, $cookie ) = get_template_and_user( - { - template_name => "opac-ISBDdetail.tmpl", - query => $query, - type => "opac", - authnotrequired => 1, - debug => 1, - } -); $template->param( subscriptions => \@subs, subscriptionsnumber => $subscriptionsnumber, ); -my $ISBD = C4::Context->preference('ISBD'); - # my @blocs = split /\@/,$ISBD; # my @fields = $record->fields(); -my $res; - -# foreach my $bloc (@blocs) { -# $bloc =~ s/\n//g; -my $bloc = $ISBD; -my $blocres; -foreach my $isbdfield ( split /#/, $bloc ) { - - # $isbdfield= /(.?.?.?)/; - $isbdfield =~ /(\d\d\d)\|(.*)\|(.*)\|(.*)/; - my $fieldvalue = $1; - my $textbefore = $2; - my $analysestring = $3; - my $textafter = $4; - - # warn "==> $1 / $2 / $3 / $4"; - # my $fieldvalue=substr($isbdfield,0,3); - if ( $fieldvalue > 0 ) { - - # warn "ERROR IN ISBD DEFINITION at : $isbdfield" unless $fieldvalue; - # warn "FV : $fieldvalue"; - my $hasputtextbefore = 0; - foreach my $field ( $record->field($fieldvalue) ) { - my $calculated = $analysestring; - my $tag = $field->tag(); - if ( $tag < 10 ) { - } - else { - my @subf = $field->subfields; - for my $i ( 0 .. $#subf ) { - my $subfieldcode = $subf[$i][0]; - my $subfieldvalue = - GetAuthorisedValueDesc( $tag, $subf[$i][0], - $subf[$i][1], '', $tagslib ); - my $tagsubf = $tag . $subfieldcode; - $calculated =~ -s/\{(.?.?.?.?)$tagsubf(.*?)\}/$1$subfieldvalue$2\{$1$tagsubf$2\}/g; - } - - # field builded, store the result - if ( $calculated && !$hasputtextbefore ) - { # put textbefore if not done - $blocres .= $textbefore; - $hasputtextbefore = 1; - } - - # remove punctuation at start - $calculated =~ s/^( |;|:|\.|-)*//g; - $blocres .= $calculated; - } - } - $blocres .= $textafter if $hasputtextbefore; - } - else { - $blocres .= $isbdfield; - } -} -$res .= $blocres; - -# } -$res =~ s/\{(.*?)\}//g; -$res =~ s/\\n/\n/g; -$res =~ s/\n//g; - -# remove empty () -$res =~ s/\(\)//g; +my $res = GetISBDView($biblionumber); my $reviews = getreviews( $biblionumber, 1 ); foreach ( @$reviews ) { my $borrower_number_review = $_->{borrowernumber}; - my $borrowerData = GetMember('',$borrower_number_review); + my $borrowerData = GetMember($borrower_number_review,'borrowernumber'); # setting some borrower info into this hash $_->{title} = $borrowerData->{'title'}; $_->{surname} = $borrowerData->{'surname'}; @@ -196,7 +124,7 @@ if ( C4::Context->preference("AmazonContent") == 1 ) { $template->param( amazonisbn => $dat->{amazonisbn} ); - my $amazon_details = &get_amazon_details( $dat->{amazonisbn} ); + my $amazon_details = &get_amazon_details( $dat->{amazonisbn}, $record, $marcflavour ); foreach my $result ( @{ $amazon_details->{Details} } ) { $template->param( item_description => $result->{ProductDescription} );