View | Details | Raw Unified | Return to bug 11213
Collapse All | Expand All

(-)a/C4/Items.pm (-69 / +19 lines)
Lines 65-71 BEGIN { Link Here
65
        GetItemInfosOf
65
        GetItemInfosOf
66
        GetItemsByBiblioitemnumber
66
        GetItemsByBiblioitemnumber
67
        GetItemsInfo
67
        GetItemsInfo
68
	GetItemsLocationInfo
69
	GetHostItemsInfo
68
	GetHostItemsInfo
70
        GetItemnumbersForBiblio
69
        GetItemnumbersForBiblio
71
        get_itemnumbers_of
70
        get_itemnumbers_of
Lines 1185-1194 sub GetItemsByBiblioitemnumber { Link Here
1185
1184
1186
=head2 GetItemsInfo
1185
=head2 GetItemsInfo
1187
1186
1188
  @results = GetItemsInfo($biblionumber);
1187
  @results = GetItemsInfo($biblionumber, $order_by);
1189
1188
1190
Returns information about items with the given biblionumber.
1189
Returns information about items with the given biblionumber.
1191
1190
1191
The list is ordered by home branch name and some complex criteria
1192
within it (see the code), unless $order_by is specified.
1193
Currently only "cn_sort" is supported.
1194
1192
C<GetItemsInfo> returns a list of references-to-hash. Each element
1195
C<GetItemsInfo> returns a list of references-to-hash. Each element
1193
contains a number of keys. Most of them are attributes from the
1196
contains a number of keys. Most of them are attributes from the
1194
C<biblio>, C<biblioitems>, C<items>, and C<itemtypes> tables in the
1197
C<biblio>, C<biblioitems>, C<items>, and C<itemtypes> tables in the
Lines 1226-1232 If this is set, it is set to C<One Order>. Link Here
1226
=cut
1229
=cut
1227
1230
1228
sub GetItemsInfo {
1231
sub GetItemsInfo {
1229
    my ( $biblionumber ) = @_;
1232
    my ( $biblionumber, $order_by ) = @_;
1233
1230
    my $dbh   = C4::Context->dbh;
1234
    my $dbh   = C4::Context->dbh;
1231
    # note biblioitems.* must be avoided to prevent large marc and marcxml fields from killing performance.
1235
    # note biblioitems.* must be avoided to prevent large marc and marcxml fields from killing performance.
1232
    my $query = "
1236
    my $query = "
Lines 1256-1262 sub GetItemsInfo { Link Here
1256
     LEFT JOIN biblioitems ON biblioitems.biblioitemnumber = items.biblioitemnumber
1260
     LEFT JOIN biblioitems ON biblioitems.biblioitemnumber = items.biblioitemnumber
1257
     LEFT JOIN itemtypes   ON   itemtypes.itemtype         = "
1261
     LEFT JOIN itemtypes   ON   itemtypes.itemtype         = "
1258
     . (C4::Context->preference('item-level_itypes') ? 'items.itype' : 'biblioitems.itemtype');
1262
     . (C4::Context->preference('item-level_itypes') ? 'items.itype' : 'biblioitems.itemtype');
1259
    $query .= " WHERE items.biblionumber = ? ORDER BY home.branchname, items.enumchron, LPAD( items.copynumber, 8, '0' ), items.dateaccessioned DESC" ;
1263
    $query .= " WHERE items.biblionumber = ? ORDER BY ";
1264
    my $order_by_cause = "home.branchname, items.enumchron, LPAD( items.copynumber, 8, '0' ), items.dateaccessioned DESC" ;
1265
    if ($order_by) {
1266
        if ($order_by eq 'cn_sort') {
1267
            $order_by_cause = "cn_sort ASC";
1268
        }
1269
        else {
1270
            warn qq{Unsupported order by "$order_by"};
1271
        }
1272
    }
1273
    $query .= $order_by_cause;
1274
1260
    my $sth = $dbh->prepare($query);
1275
    my $sth = $dbh->prepare($query);
1261
    $sth->execute($biblionumber);
1276
    $sth->execute($biblionumber);
1262
    my $i = 0;
1277
    my $i = 0;
Lines 1343-1413 sub GetItemsInfo { Link Here
1343
	}
1358
	}
1344
}
1359
}
1345
1360
1346
=head2 GetItemsLocationInfo
1347
1348
  my @itemlocinfo = GetItemsLocationInfo($biblionumber);
1349
1350
Returns the branch names, shelving location and itemcallnumber for each item attached to the biblio in question
1351
1352
C<GetItemsInfo> returns a list of references-to-hash. Data returned:
1353
1354
=over 2
1355
1356
=item C<$data-E<gt>{homebranch}>
1357
1358
Branch Name of the item's homebranch
1359
1360
=item C<$data-E<gt>{holdingbranch}>
1361
1362
Branch Name of the item's holdingbranch
1363
1364
=item C<$data-E<gt>{location}>
1365
1366
Item's shelving location code
1367
1368
=item C<$data-E<gt>{location_intranet}>
1369
1370
The intranet description for the Shelving Location as set in authorised_values 'LOC'
1371
1372
=item C<$data-E<gt>{location_opac}>
1373
1374
The OPAC description for the Shelving Location as set in authorised_values 'LOC'.  Falls back to intranet description if no OPAC 
1375
description is set.
1376
1377
=item C<$data-E<gt>{itemcallnumber}>
1378
1379
Item's itemcallnumber
1380
1381
=item C<$data-E<gt>{cn_sort}>
1382
1383
Item's call number normalized for sorting
1384
1385
=back
1386
  
1387
=cut
1388
1389
sub GetItemsLocationInfo {
1390
        my $biblionumber = shift;
1391
        my @results;
1392
1393
	my $dbh = C4::Context->dbh;
1394
	my $query = "SELECT a.branchname as homebranch, b.branchname as holdingbranch, 
1395
			    location, itemcallnumber, cn_sort
1396
		     FROM items, branches as a, branches as b
1397
		     WHERE homebranch = a.branchcode AND holdingbranch = b.branchcode 
1398
		     AND biblionumber = ?
1399
		     ORDER BY cn_sort ASC";
1400
	my $sth = $dbh->prepare($query);
1401
        $sth->execute($biblionumber);
1402
1403
        while ( my $data = $sth->fetchrow_hashref ) {
1404
             $data->{location_intranet} = GetKohaAuthorisedValueLib('LOC', $data->{location});
1405
             $data->{location_opac}= GetKohaAuthorisedValueLib('LOC', $data->{location}, 1);
1406
	     push @results, $data;
1407
	}
1408
	return @results;
1409
}
1410
1411
=head2 GetHostItemsInfo
1361
=head2 GetHostItemsInfo
1412
1362
1413
	$hostiteminfo = GetHostItemsInfo($hostfield);
1363
	$hostiteminfo = GetHostItemsInfo($hostfield);
(-)a/C4/Search.pm (-26 / +19 lines)
Lines 1827-1833 sub searchResults { Link Here
1827
        my $items_count           = scalar(@fields);
1827
        my $items_count           = scalar(@fields);
1828
        my $maxitems_pref = C4::Context->preference('maxItemsinSearchResults');
1828
        my $maxitems_pref = C4::Context->preference('maxItemsinSearchResults');
1829
        my $maxitems = $maxitems_pref ? $maxitems_pref - 1 : 1;
1829
        my $maxitems = $maxitems_pref ? $maxitems_pref - 1 : 1;
1830
        my @hiddenitems; # hidden itemnumbers based on OpacHiddenItems syspref
1831
1830
1832
        # loop through every item
1831
        # loop through every item
1833
        foreach my $field (@fields) {
1832
        foreach my $field (@fields) {
Lines 1849-1855 sub searchResults { Link Here
1849
                # hidden based on OpacHiddenItems syspref
1848
                # hidden based on OpacHiddenItems syspref
1850
                my @hi = C4::Items::GetHiddenItemnumbers($item);
1849
                my @hi = C4::Items::GetHiddenItemnumbers($item);
1851
                if (scalar @hi) {
1850
                if (scalar @hi) {
1852
                    push @hiddenitems, @hi;
1853
                    $hideatopac_count++;
1851
                    $hideatopac_count++;
1854
                    next;
1852
                    next;
1855
                }
1853
                }
Lines 1866-1884 sub searchResults { Link Here
1866
                $item->{'branchname'} = $branches{$item->{$otherbranch}};
1864
                $item->{'branchname'} = $branches{$item->{$otherbranch}};
1867
            }
1865
            }
1868
1866
1869
			my $prefix = $item->{$hbranch} . '--' . $item->{location} . $item->{itype} . $item->{itemcallnumber};
1867
            my $prefix = $item->{$hbranch} . '--' . $item->{location} . $item->{itype} . $item->{itemcallnumber};
1870
# For each grouping of items (onloan, available, unavailable), we build a key to store relevant info about that item
1868
# For each grouping of items (onloan, available, unavailable), we build a key to store relevant info about that item
1871
            my $userenv = C4::Context->userenv;
1869
            my $userenv = C4::Context->userenv;
1872
            if ( $item->{onloan} && !(C4::Members::GetHideLostItemsPreference($userenv->{'number'}) && $item->{itemlost}) ) {
1870
            if ( $item->{onloan} && !(C4::Members::GetHideLostItemsPreference($userenv->{'number'}) && $item->{itemlost}) ) {
1873
                $onloan_count++;
1871
                $onloan_count++;
1874
				my $key = $prefix . $item->{onloan} . $item->{barcode};
1872
                my $key = $prefix . $item->{onloan} . $item->{barcode};
1875
				$onloan_items->{$key}->{due_date} = format_date($item->{onloan});
1873
                $onloan_items->{$key} = { %$item };
1876
				$onloan_items->{$key}->{count}++ if $item->{$hbranch};
1874
                $onloan_items->{$key}->{due_date} = format_date($item->{onloan});
1877
				$onloan_items->{$key}->{branchname} = $item->{branchname};
1875
                $onloan_items->{$key}->{count}++ if $item->{$hbranch};
1878
				$onloan_items->{$key}->{location} = $shelflocations->{ $item->{location} };
1876
                $onloan_items->{$key}->{location} = $shelflocations->{ $item->{location} };
1879
				$onloan_items->{$key}->{itemcallnumber} = $item->{itemcallnumber};
1877
                $onloan_items->{$key}->{imageurl} = getitemtypeimagelocation( $search_context, $itemtypes{ $item->{itype} }->{imageurl} );
1880
				$onloan_items->{$key}->{description} = $item->{description};
1881
				$onloan_items->{$key}->{imageurl} = getitemtypeimagelocation( $search_context, $itemtypes{ $item->{itype} }->{imageurl} );
1882
                # if something's checked out and lost, mark it as 'long overdue'
1878
                # if something's checked out and lost, mark it as 'long overdue'
1883
                if ( $item->{itemlost} ) {
1879
                if ( $item->{itemlost} ) {
1884
                    $onloan_items->{$prefix}->{longoverdue}++;
1880
                    $onloan_items->{$prefix}->{longoverdue}++;
Lines 1955-1981 sub searchResults { Link Here
1955
                    $other_count++;
1951
                    $other_count++;
1956
1952
1957
                    my $key = $prefix . $item->{status};
1953
                    my $key = $prefix . $item->{status};
1958
                    foreach (qw(withdrawn itemlost damaged branchname itemcallnumber)) {
1954
                    $other_items->{$key} = { %$item };
1959
                        $other_items->{$key}->{$_} = $item->{$_};
1960
                    }
1961
                    $other_items->{$key}->{intransit} = ( $transfertwhen ne '' ) ? 1 : 0;
1955
                    $other_items->{$key}->{intransit} = ( $transfertwhen ne '' ) ? 1 : 0;
1962
                    $other_items->{$key}->{onhold} = ($reservestatus) ? 1 : 0;
1956
                    $other_items->{$key}->{onhold} = ($reservestatus) ? 1 : 0;
1963
                    $other_items->{$key}->{notforloan} = GetAuthorisedValueDesc('','',$item->{notforloan},'','',$notforloan_authorised_value) if $notforloan_authorised_value and $item->{notforloan};
1957
                    $other_items->{$key}->{notforloan} = GetAuthorisedValueDesc('','',$item->{notforloan},'','',$notforloan_authorised_value)
1964
					$other_items->{$key}->{count}++ if $item->{$hbranch};
1958
                      if $notforloan_authorised_value and $item->{notforloan};
1965
					$other_items->{$key}->{location} = $shelflocations->{ $item->{location} };
1959
                    $other_items->{$key}->{count}++
1966
					$other_items->{$key}->{description} = $item->{description};
1960
                      if $item->{$hbranch};
1967
					$other_items->{$key}->{imageurl} = getitemtypeimagelocation( $search_context, $itemtypes{ $item->{itype} }->{imageurl} );
1961
                    $other_items->{$key}->{location} = $shelflocations->{ $item->{location} };
1962
                    $other_items->{$key}->{imageurl} = getitemtypeimagelocation( $search_context, $itemtypes{ $item->{itype} }->{imageurl} );
1968
                }
1963
                }
1969
                # item is available
1964
                # item is available
1970
                else {
1965
                else {
1971
                    $can_place_holds = 1;
1966
                    $can_place_holds = 1;
1972
                    $available_count++;
1967
                    $available_count++;
1973
					$available_items->{$prefix}->{count}++ if $item->{$hbranch};
1968
                    $available_items->{$prefix} = { %$item };
1974
					foreach (qw(branchname itemcallnumber description)) {
1969
                    $available_items->{$prefix}->{count}++ if $item->{$hbranch};
1975
                    	$available_items->{$prefix}->{$_} = $item->{$_};
1970
                    $available_items->{$prefix}->{location} = $shelflocations->{ $item->{location} };
1976
					}
1971
                    $available_items->{$prefix}->{imageurl} = getitemtypeimagelocation( $search_context, $itemtypes{ $item->{itype} }->{imageurl} );
1977
					$available_items->{$prefix}->{location} = $shelflocations->{ $item->{location} };
1978
					$available_items->{$prefix}->{imageurl} = getitemtypeimagelocation( $search_context, $itemtypes{ $item->{itype} }->{imageurl} );
1979
                }
1972
                }
1980
            }
1973
            }
1981
        }    # notforloan, item level and biblioitem level
1974
        }    # notforloan, item level and biblioitem level
Lines 2005-2011 sub searchResults { Link Here
2005
        warn $marcrecord->as_formatted if $DEBUG;
1998
        warn $marcrecord->as_formatted if $DEBUG;
2006
	my $interface = $search_context eq 'opac' ? 'OPAC' : '';
1999
	my $interface = $search_context eq 'opac' ? 'OPAC' : '';
2007
	if (!$scan && C4::Context->preference($interface . "XSLTResultsDisplay")) {
2000
	if (!$scan && C4::Context->preference($interface . "XSLTResultsDisplay")) {
2008
            $oldbiblio->{XSLTResultsRecord} = XSLTParse4Display($oldbiblio->{biblionumber}, $marcrecord, $interface."XSLTResultsDisplay", 1, \@hiddenitems);
2001
            $oldbiblio->{XSLTResultsRecord} = XSLTParse4Display($oldbiblio->{biblionumber}, $marcrecord, $interface."XSLTResultsDisplay", [@available_items_loop, @onloan_items_loop, @other_items_loop], 1);
2009
	    # the last parameter tells Koha to clean up the problematic ampersand entities that Zebra outputs
2002
	    # the last parameter tells Koha to clean up the problematic ampersand entities that Zebra outputs
2010
        }
2003
        }
2011
2004
(-)a/C4/VirtualShelves/Page.pm (-4 / +4 lines)
Lines 261-271 sub shelfpage { Link Here
261
                ( $items, $totitems ) = GetShelfContents( $shelfnumber, $shelflimit, $shelfoffset, $sortfield, $direction );
261
                ( $items, $totitems ) = GetShelfContents( $shelfnumber, $shelflimit, $shelfoffset, $sortfield, $direction );
262
                for my $this_item (@$items) {
262
                for my $this_item (@$items) {
263
                    my $biblionumber = $this_item->{'biblionumber'};
263
                    my $biblionumber = $this_item->{'biblionumber'};
264
                    # Getting items infos for location display
265
                    my @items_infos = &GetItemsInfo( $this_item->{'biblionumber'}, "cn_sort" );
264
                    my $record = GetMarcBiblio($biblionumber);
266
                    my $record = GetMarcBiblio($biblionumber);
265
                    if (C4::Context->preference("OPACXSLTResultsDisplay") && $type eq 'opac') {
267
                    if (C4::Context->preference("OPACXSLTResultsDisplay") && $type eq 'opac') {
266
                        $this_item->{XSLTBloc} = XSLTParse4Display($biblionumber, $record, "OPACXSLTResultsDisplay");
268
                        $this_item->{XSLTBloc} = XSLTParse4Display($biblionumber, $record, "OPACXSLTResultsDisplay", \@items_infos);
267
                    } elsif (C4::Context->preference("XSLTResultsDisplay") && $type eq 'intranet') {
269
                    } elsif (C4::Context->preference("XSLTResultsDisplay") && $type eq 'intranet') {
268
                        $this_item->{XSLTBloc} = XSLTParse4Display($biblionumber, $record, "XSLTResultsDisplay");
270
                        $this_item->{XSLTBloc} = XSLTParse4Display($biblionumber, $record, "XSLTResultsDisplay", \@items_infos);
269
                    }
271
                    }
270
272
271
                    # the virtualshelfcontents table does not store these columns nor are they retrieved from the items
273
                    # the virtualshelfcontents table does not store these columns nor are they retrieved from the items
Lines 281-288 sub shelfpage { Link Here
281
                    $this_item->{'normalized_oclc'} = GetNormalizedOCLCNumber($record,$marcflavour);
283
                    $this_item->{'normalized_oclc'} = GetNormalizedOCLCNumber($record,$marcflavour);
282
                    $this_item->{'normalized_isbn'} = GetNormalizedISBN(undef,$record,$marcflavour);
284
                    $this_item->{'normalized_isbn'} = GetNormalizedISBN(undef,$record,$marcflavour);
283
                    if(!defined($this_item->{'size'})) { $this_item->{'size'} = "" }; #TT has problems with size
285
                    if(!defined($this_item->{'size'})) { $this_item->{'size'} = "" }; #TT has problems with size
284
                    # Getting items infos for location display
285
                    my @items_infos = &GetItemsLocationInfo( $this_item->{'biblionumber'});
286
                    $this_item->{'itemsissued'} = CountItemsIssued( $this_item->{'biblionumber'} );
286
                    $this_item->{'itemsissued'} = CountItemsIssued( $this_item->{'biblionumber'} );
287
                    $this_item->{'ITEM_RESULTS'} = \@items_infos;
287
                    $this_item->{'ITEM_RESULTS'} = \@items_infos;
288
                    if ( grep {$_ eq $biblionumber} @cart_list) {
288
                    if ( grep {$_ eq $biblionumber} @cart_list) {
(-)a/C4/XSLT.pm (-10 / +13 lines)
Lines 156-163 sub _get_best_default_xslt_filename { Link Here
156
    return $xslfilename;
156
    return $xslfilename;
157
}
157
}
158
158
159
=head2 XSLTParse4Display( $biblionumber, $orig_record, $xslsyspref, $items, $fixamps )
160
161
  $items => an array of items rerords, as returned from eg. GetItemsInfo
162
163
Returns XSLT block
164
165
=cut
166
159
sub XSLTParse4Display {
167
sub XSLTParse4Display {
160
    my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items ) = @_;
168
    my ( $biblionumber, $orig_record, $xslsyspref, $items, $fixamps ) = @_;
169
161
    my $xslfilename = C4::Context->preference($xslsyspref);
170
    my $xslfilename = C4::Context->preference($xslsyspref);
162
    if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
171
    if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
163
        my $htdocs;
172
        my $htdocs;
Lines 196-202 sub XSLTParse4Display { Link Here
196
    # grab the XML, run it through our stylesheet, push it out to the browser
205
    # grab the XML, run it through our stylesheet, push it out to the browser
197
    my $record = transformMARCXML4XSLT($biblionumber, $orig_record);
206
    my $record = transformMARCXML4XSLT($biblionumber, $orig_record);
198
    #return $record->as_formatted();
207
    #return $record->as_formatted();
199
    my $itemsxml  = buildKohaItemsNamespace($biblionumber, $hidden_items);
208
    my $itemsxml  = $items ? buildKohaItemsNamespace($biblionumber, $items) : "";
200
    my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
209
    my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
201
    my $sysxml = "<sysprefs>\n";
210
    my $sysxml = "<sysprefs>\n";
202
    foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
211
    foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
Lines 243-255 sub XSLTParse4Display { Link Here
243
}
252
}
244
253
245
sub buildKohaItemsNamespace {
254
sub buildKohaItemsNamespace {
246
    my ($biblionumber, $hidden_items) = @_;
255
    my ($biblionumber, $items) = @_;
247
248
    my @items = C4::Items::GetItemsInfo($biblionumber);
249
    if ($hidden_items && @$hidden_items) {
250
        my %hi = map {$_ => 1} @$hidden_items;
251
        @items = grep { !$hi{$_->{itemnumber}} } @items;
252
    }
253
256
254
    my $shelflocations = GetKohaAuthorisedValues('items.location',GetFrameworkCode($biblionumber), 'opac');
257
    my $shelflocations = GetKohaAuthorisedValues('items.location',GetFrameworkCode($biblionumber), 'opac');
255
    my $ccodes         = GetKohaAuthorisedValues('items.ccode',GetFrameworkCode($biblionumber), 'opac');
258
    my $ccodes         = GetKohaAuthorisedValues('items.ccode',GetFrameworkCode($biblionumber), 'opac');
Lines 259-265 sub buildKohaItemsNamespace { Link Here
259
    my $location = "";
262
    my $location = "";
260
    my $ccode = "";
263
    my $ccode = "";
261
    my $xml = '';
264
    my $xml = '';
262
    for my $item (@items) {
265
    for my $item (@$items) {
263
        my $status;
266
        my $status;
264
267
265
        my ( $transfertwhen, $transfertfrom, $transfertto ) = C4::Circulation::GetTransfers($item->{itemnumber});
268
        my ( $transfertwhen, $transfertfrom, $transfertto ) = C4::Circulation::GetTransfers($item->{itemnumber});
(-)a/catalogue/detail.pl (-6 / +6 lines)
Lines 85-96 my $fw = GetFrameworkCode($biblionumber); Link Here
85
my $showallitems = $query->param('showallitems');
85
my $showallitems = $query->param('showallitems');
86
my $marcflavour  = C4::Context->preference("marcflavour");
86
my $marcflavour  = C4::Context->preference("marcflavour");
87
87
88
# XSLT processing of some stuff
89
if (C4::Context->preference("XSLTDetailsDisplay") ) {
90
    $template->param('XSLTDetailsDisplay' =>'1',
91
        'XSLTBloc' => XSLTParse4Display($biblionumber, $record, "XSLTDetailsDisplay") );
92
}
93
94
$template->param( 'SpineLabelShowPrintOnBibDetails' => C4::Context->preference("SpineLabelShowPrintOnBibDetails") );
88
$template->param( 'SpineLabelShowPrintOnBibDetails' => C4::Context->preference("SpineLabelShowPrintOnBibDetails") );
95
$template->param( ocoins => GetCOinSBiblio($record) );
89
$template->param( ocoins => GetCOinSBiblio($record) );
96
90
Lines 138-143 if (@hostitems){ Link Here
138
	push (@items,@hostitems);
132
	push (@items,@hostitems);
139
}
133
}
140
134
135
# XSLT processing of some stuff
136
if (C4::Context->preference("XSLTDetailsDisplay") ) {
137
    $template->param('XSLTDetailsDisplay' =>'1',
138
        'XSLTBloc' => XSLTParse4Display($biblionumber, $record, "XSLTDetailsDisplay", \@all_items) );
139
}
140
141
my $dat = &GetBiblioData($biblionumber);
141
my $dat = &GetBiblioData($biblionumber);
142
142
143
#coping with subscriptions
143
#coping with subscriptions
(-)a/opac/opac-detail.pl (-6 / +5 lines)
Lines 107-117 SetUTF8Flag($record); Link Here
107
my $marcflavour      = C4::Context->preference("marcflavour");
107
my $marcflavour      = C4::Context->preference("marcflavour");
108
my $ean = GetNormalizedEAN( $record, $marcflavour );
108
my $ean = GetNormalizedEAN( $record, $marcflavour );
109
109
110
# XSLT processing of some stuff
111
if (C4::Context->preference("OPACXSLTDetailsDisplay") ) {
112
    $template->param( 'XSLTBloc' => XSLTParse4Display($biblionumber, $record, "OPACXSLTDetailsDisplay" ) );
113
}
114
115
my $OpacBrowseResults = C4::Context->preference("OpacBrowseResults");
110
my $OpacBrowseResults = C4::Context->preference("OpacBrowseResults");
116
$template->{VARS}->{'OpacBrowseResults'} = $OpacBrowseResults;
111
$template->{VARS}->{'OpacBrowseResults'} = $OpacBrowseResults;
117
112
Lines 449-454 if ($hideitems) { Link Here
449
    @items = @all_items;
444
    @items = @all_items;
450
}
445
}
451
446
447
# XSLT processing of some stuff
448
if (C4::Context->preference("OPACXSLTDetailsDisplay") ) {
449
    $template->param( 'XSLTBloc' => XSLTParse4Display($biblionumber, $record, "OPACXSLTDetailsDisplay", \@items) );
450
}
451
452
my $branches = GetBranches();
452
my $branches = GetBranches();
453
my $branch = '';
453
my $branch = '';
454
if (C4::Context->userenv){
454
if (C4::Context->userenv){
455
- 

Return to bug 11213