use C4::Auth;
use HTML::Template;
use C4::Context;
-use C4::Search;
+# use C4::Search;
use C4::Auth;
use C4::Output;
use C4::Interface::CGI::Output;
my $query=new CGI;
my $type=$query->param('type');
-my $op = $query->param('op');
+my $op = $query->param('op') || "";
my $dbh = C4::Context->dbh;
my $startfrom=$query->param('startfrom');
$startfrom=0 if(!defined $startfrom);
my ($template, $loggedinuser, $cookie);
+my $searchdesc;
my $resultsperpage;
if ($op eq "do_search") {
my @operator = $query->param('operator');
my @value = $query->param('value');
+ for (my $i=0;$i<=$#marclist;$i++) {
+ if ($searchdesc) { # don't put the and_or on the 1st search term
+ $searchdesc .= $and_or[$i]." ".$excluding[$i]." ".($marclist[$i]?$marclist[$i]:"*")." ".$operator[$i]." ".$value[$i]." " if ($value[$i]);
+ } else {
+ $searchdesc = $excluding[$i]." ".($marclist[$i]?$marclist[$i]:"*")." ".$operator[$i]." ".$value[$i]." " if ($value[$i]);
+ }
+ }
+
$resultsperpage= $query->param('resultsperpage');
$resultsperpage = 19 if(!defined $resultsperpage);
my $orderby = $query->param('orderby');
+ my $desc_or_asc = $query->param('desc_or_asc');
# builds tag and subfield arrays
my @tags;
if ($tag) {
push @tags,$dbh->quote("$tag$subfield");
} else {
- push @tags, $dbh->quote(substr($marc,0,4));
+ if ($marc =~ /^(\d){3}(. -)(.)*/)
+ {
+ # The user is using the search catalogue part, more fields
+ push @tags, $dbh->quote(substr($marc,0,4));
+ }
+ else
+ {
+ push @tags, $marc;
+ }
}
} else {
push @tags, "";
findseealso($dbh,\@tags);
my ($results,$total) = catalogsearch($dbh, \@tags,\@and_or,
\@excluding, \@operator, \@value,
- $startfrom*$resultsperpage, $resultsperpage,$orderby);
-
+ $startfrom*$resultsperpage, $resultsperpage,$orderby,$desc_or_asc);
+ if ($total == 1) {
+ # if only 1 answer, jump directly to the biblio
+ if (C4::Context->preference("IntranetBiblioDefaultView") eq "normal") {
+ print $query->redirect("/cgi-bin/koha/detail.pl?bib=".@$results[0]->{biblionumber});
+ } elsif (C4::Context->preference("IntranetBiblioDefaultView") eq "marc") {
+ print $query->redirect("/cgi-bin/koha/MARCdetail.pl?bib=".@$results[0]->{biblionumber});
+ } else {
+ print $query->redirect("/cgi-bin/koha/ISBDdetail.pl?bib=".@$results[0]->{biblionumber});
+ }
+ exit
+ }
($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "search.marc/result.tmpl",
query => $query,
} else {
$to = (($startfrom+1)*$resultsperpage);
}
+ my $defaultview = 'BiblioDefaultView'.C4::Context->preference('IntranetBiblioDefaultView');
$template->param(result => $results,
startfrom=> $startfrom,
displaynext=> $displaynext,
from=>$from,
to=>$to,
numbers=>\@numbers,
+ searchdesc=> $searchdesc,
+ desc_asc=>$desc_or_asc,
+ orderby=>$orderby,
MARC_ON => C4::Context->preference("marc"),
+ $defaultview => 1,
);
} elsif ($op eq "AddStatement") {
-
($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "search.marc/search.tmpl",
query => $query,
my $marclist = CGI::scrolling_list(-name=>"marclist",
-values=> $marcarray,
-size=>1,
+ -tabindex=>'',
-multiple=>0,
-onChange => "sql_update()",
);
}
my $CGIitemtype=CGI::scrolling_list( -name => 'value',
+ -id => 'itemtype',
-values => \@itemtype,
-labels => \%itemtypes,
-size => 1,
+ -tabindex=>'',
-multiple => 0 );
$sth->finish;
my @branches;
my @select_branch;
my %select_branches;
- my ($count2,@branches)=branches();
- push @select_branch, "";
- $select_branches{''} = "";
- for (my $i=0;$i<$count2;$i++){
- push @select_branch, $branches[$i]->{'branchcode'};#
- $select_branches{$branches[$i]->{'branchcode'}} = $branches[$i]->{'branchname'};
+ my $branches=getbranches();
+ my @branchloop;
+ foreach my $thisbranch (sort keys %$branches) {
+# my $selected = 1 if $thisbranch eq $branch;
+ my %row =(value => $thisbranch,
+# selected => $selected,
+ branchname => $branches->{$thisbranch}->{'branchname'},
+ );
+ push @branchloop, \%row;
}
- my $CGIbranch=CGI::scrolling_list( -name => 'value',
- -values => \@select_branch,
- -labels => \%select_branches,
- -size => 1,
- -multiple => 0 );
$sth->finish;
+ $template->param('Disable_Dictionary'=>C4::Context->preference("Disable_Dictionary")) if (C4::Context->preference("Disable_Dictionary"));
$template->param("statements" => \@statements,
"nbstatements" => 3,
CGIitemtype => $CGIitemtype,
- CGIbranch => $CGIbranch,
+ branchloop => \@branchloop,
);
}
# Print the page
+$template->param(intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
+ intranetstylesheet => C4::Context->preference("intranetstylesheet"),
+ IntranetNav => C4::Context->preference("IntranetNav"),
+ );
output_html_with_http_headers $query, $cookie, $template->output;
# Local Variables: