# Suite 330, Boston, MA 02111-1307 USA
use strict;
-
+require Exporter;
use CGI;
+use C4::Interface::CGI::Output;
use C4::Auth;
+
use C4::Context;
-use C4::Search;
-use C4::Interface::CGI::Output;
use C4::AuthoritiesMarc;
+use C4::Acquisition;
use C4::Koha; # XXX subfield_is_koha_internal_p
my $query=new CGI;
my $op = $query->param('op');
my $authtypecode = $query->param('authtypecode');
my $index = $query->param('index');
+my $tagid=$query->param('tagid');
my $resultstring = $query->param('result');
my $dbh = C4::Context->dbh;
my $authtypes = getauthtypes;
my @authtypesloop;
foreach my $thisauthtype (keys %$authtypes) {
- my $selected = 1 if $thisauthtype eq $authtypecode;
- my %row =(value => $thisauthtype,
- selected => $selected,
- authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
- index => $index,
- );
- push @authtypesloop, \%row;
+ my $selected = 1 if $thisauthtype eq $authtypecode;
+ my %row =(value => $thisauthtype,
+ selected => $selected,
+ authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
+ index => $index,
+ );
+ push @authtypesloop, \%row;
}
if ($op eq "do_search") {
- my @marclist = $query->param('marclist');
-
- my @operator = $query->param('operator');
- my @value = $query->param('value');
-
- $resultsperpage= $query->param('resultsperpage');
- $resultsperpage = 10 ;
-
- my ($results,$total) = authoritysearch($dbh, \@marclist, \@operator, \@value,$startfrom*$resultsperpage, $resultsperpage,$authtypecode);# $orderby);
-
- ($template, $loggedinuser, $cookie)
- = get_template_and_user({template_name => "authorities/searchresultlist-auth.tmpl",
- query => $query,
- type => 'intranet',
- authnotrequired => 0,
- flagsrequired => {borrowers => 1},
- flagsrequired => {catalogue => 1},
- debug => 1,
- });
+ my @marclist = $query->param('marclist');
+ my @and_or = $query->param('and_or');
+ my @excluding = $query->param('excluding');
+ my @operator = $query->param('operator');
+ my @value = $query->param('value');
+
+ $resultsperpage= $query->param('resultsperpage');
+ $resultsperpage = 19 if(!defined $resultsperpage);
+
+ my ($results,$total) = authoritysearch(\@marclist,\@and_or,
+ \@excluding, \@operator, \@value,
+ $startfrom*$resultsperpage, $resultsperpage,$authtypecode);# $orderby);
# multi page display gestion
my $displaynext=0;
my @marclist_ini = $query->param('marclist'); # get marclist again, as the previous one has been modified by catalogsearch (mainentry replaced by field name
for(my $i = 0 ; $i <= $#marclist ; $i++) {
push @field_data, { term => "marclist", val=>$marclist_ini[$i] };
+ push @field_data, { term => "and_or", val=>$and_or[$i] };
+ push @field_data, { term => "excluding", val=>$excluding[$i] };
push @field_data, { term => "operator", val=>$operator[$i] };
push @field_data, { term => "value", val=>$value[$i] };
}
} else {
$to = (($startfrom+1)*$resultsperpage);
}
- $template->param(result => $results) if $results;
- $template->param(index => $query->param('index')."");
- $template->param(startfrom=> $startfrom,
- displaynext=> $displaynext,
- displayprev=> $displayprev,
- resultsperpage => $resultsperpage,
- startfromnext => $startfrom+1,
- startfromprev => $startfrom-1,
- index => $index,
- searchdata=>\@field_data,
- total=>$total,
- from=>$from,
- to=>$to,
- numbers=>\@numbers,
- authtypecode =>$authtypecode,
- resultstring =>$value[0],
- );
+ ($template, $loggedinuser, $cookie)
+ = get_template_and_user({template_name => "authorities/searchresultlist-auth.tmpl",
+ query => $query,
+ type => 'intranet',
+ authnotrequired => 0,
+ flagsrequired => {catalogue => 1},
+ debug => 1,
+ });
+
+ $template->param(result => $results) if $results;
+ $template->param(index => $query->param('index')."");
+ $template->param(startfrom=> $startfrom,
+ displaynext=> $displaynext,
+ displayprev=> $displayprev,
+ resultsperpage => $resultsperpage,
+ startfromnext => $startfrom+1,
+ startfromprev => $startfrom-1,
+ index => $index,
+ tagid => $tagid,
+ searchdata=>\@field_data,
+ total=>$total,
+ from=>$from,
+ to=>$to,
+ numbers=>\@numbers,
+ authtypecode =>$authtypecode,
+ mainmainstring =>$value[0],
+ mainstring =>$value[1],
+ anystring =>$value[2],
+ );
} else {
- ($template, $loggedinuser, $cookie)
- = get_template_and_user({template_name => "authorities/auth_finder.tmpl",
- query => $query,
- type => 'intranet',
- authnotrequired => 0,
- flagsrequired => {catalogue => 1},
- debug => 1,
- });
-
- $template->param(index=>$query->param('index')."",
- resultstring => $resultstring,
- );
+ ($template, $loggedinuser, $cookie)
+ = get_template_and_user({template_name => "authorities/auth_finder.tmpl",
+ query => $query,
+ type => 'intranet',
+ authnotrequired => 0,
+ flagsrequired => {catalogue => 1},
+ debug => 1,
+ });
+
+ $template->param(index=>$query->param('index')."",
+ tagid => $tagid,
+ resultstring => $resultstring,
+ );
}
$template->param(authtypesloop => \@authtypesloop,
- authtypecode => $authtypecode,
- nonav=>"1",);
+ authtypecode => $authtypecode,
+ intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
+ intranetstylesheet => C4::Context->preference("intranetstylesheet"),
+ IntranetNav => C4::Context->preference("IntranetNav"),
+ );
# Print the page
output_html_with_http_headers $query, $cookie, $template->output;