## load Koha modules
use C4::Context;
use C4::Output;
-use C4::Auth;
+use C4::Auth qw(:DEFAULT get_session);
use C4::Search;
use C4::Biblio; # GetBiblioData
use C4::Koha;
authnotrequired => 1,
}
);
+
if ($cgi->param("format") eq 'rss2') {
$template->param("rss2" => 1);
}
$template->param(branchloop => \@branch_loop, searchdomainloop => $categories);
-# load the itemtypes
+# load the Type stuff
my $itemtypes = GetItemTypes;
+# the index parameter is different for item-level itemtypes
+my $itype_or_itemtype = (C4::Context->preference("item-level_itypes"))?'itype':'itemtype';
my @itemtypesloop;
my $selected=1;
my $cnt;
-my $imgdir = getitemtypeimagesrc('opac');
+my $advanced_search_types = C4::Context->preference("AdvancedSearchTypes");
-foreach my $thisitemtype ( sort {$itemtypes->{$a}->{'description'} cmp $itemtypes->{$b}->{'description'} } keys %$itemtypes ) {
+if (!$advanced_search_types or $advanced_search_types eq 'itemtypes') {
+ foreach my $thisitemtype ( sort {$itemtypes->{$a}->{'description'} cmp $itemtypes->{$b}->{'description'} } keys %$itemtypes ) {
my %row =( number=>$cnt++,
- imageurl=> $itemtypes->{$thisitemtype}->{'imageurl'}?($imgdir."/".$itemtypes->{$thisitemtype}->{'imageurl'}):"",
+ ccl => $itype_or_itemtype,
code => $thisitemtype,
selected => $selected,
description => $itemtypes->{$thisitemtype}->{'description'},
count5 => $cnt % 4,
+ imageurl=> getitemtypeimagelocation( 'opac', $itemtypes->{$thisitemtype}->{'imageurl'} ),
);
- $selected = 0 if ($selected) ;
- push @itemtypesloop, \%row;
+ $selected = 0 if ($selected) ;
+ push @itemtypesloop, \%row;
+ }
+ $template->param(itemtypeloop => \@itemtypesloop);
+} else {
+ my $advsearchtypes = GetAuthorisedValues($advanced_search_types);
+ for my $thisitemtype (@$advsearchtypes) {
+ my %row =(
+ number=>$cnt++,
+ ccl => $advanced_search_types,
+ code => $thisitemtype->{authorised_value},
+ selected => $selected,
+ description => $thisitemtype->{'lib'},
+ count5 => $cnt % 4,
+ imageurl=> getitemtypeimagelocation( 'opac', $thisitemtype->{'imageurl'} ),
+ );
+ push @itemtypesloop, \%row;
+ }
+ $template->param(itemtypeloop => \@itemtypesloop);
}
-$template->param(itemtypeloop => \@itemtypesloop);
# # load the itypes (Called item types in the template -- just authorized values for searching)
# my ($itypecount,@itype_loop) = GetCcodes();
my $results_hashref;
if ($tag) {
- my $taglist = get_tags({term=>$tag});
+ my $taglist = get_tags({term=>$tag, approved=>1});
$results_hashref->{biblioserver}->{hits} = scalar (@$taglist);
my @biblist = (map {GetBiblioData($_->{biblionumber})} @$taglist);
my @marclist = (map {$_->{marc}} @biblist );
# because pazGetRecords handles retieving only the records
# we want as specified by $offset and $results_per_page,
# we need to set the offset parameter of searchResults to 0
- my @group_results = searchResults( $query_desc, $group->{'group_count'},$results_per_page, 0,
+ my @group_results = searchResults( $query_desc, $group->{'group_count'},$results_per_page, 0, $scan,
@{ $group->{"RECORDS"} });
push @newresults, { group_label => $group->{'group_label'}, GROUP_RESULTS => \@group_results };
}
} else {
- @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,@{$results_hashref->{$server}->{"RECORDS"}});
+ @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,$scan,@{$results_hashref->{$server}->{"RECORDS"}});
}
my $tag_quantity;
if (C4::Context->preference('TagsEnabled') and
$tag_quantity = C4::Context->preference('TagsShowOnList')) {
foreach (@newresults) {
my $bibnum = $_->{biblionumber} or next;
- $_ ->{'TagLoop'} = get_tags({biblionumber=>$bibnum, 'sort'=>'-weight',
+ $_ ->{'TagLoop'} = get_tags({biblionumber=>$bibnum, approved=>1, 'sort'=>'-weight',
limit=>$tag_quantity });
}
}
}
# VI. BUILD THE TEMPLATE
-output_html_with_http_headers $cgi, $cookie, $template->output;
+# NOTE: not using application/atom+xml or application/rss+xml beccause of Internet Explorer 6;
+# see bug 2078.
+my $content_type = $cgi->param('format') =~ /rss|atom/ ? "application/xml" :
+ "text/html";
+
+# Build drop-down list for 'Add To:' menu...
+my $session = get_session($cgi->cookie("CGISESSID"));
+my @addpubshelves;
+my $pubshelves = $session->param('pubshelves');
+my $barshelves = $session->param('barshelves');
+foreach my $shelf (@$pubshelves) {
+ next if ( ($shelf->{'owner'} != ($borrowernumber ? $borrowernumber : -1)) && ($shelf->{'category'} < 3) );
+ push (@addpubshelves, $shelf);
+}
+
+if (defined @addpubshelves) {
+ $template->param( addpubshelves => scalar (@addpubshelves));
+ $template->param( addpubshelvesloop => \@addpubshelves);
+}
+
+if (defined $barshelves) {
+ $template->param( addbarshelves => scalar (@$barshelves));
+ $template->param( addbarshelvesloop => $barshelves);
+}
+
+output_html_with_http_headers $cgi, $cookie, $template->output, $content_type;