# Suite 330, Boston, MA 02111-1307 USA
use strict;
-require Exporter;
use CGI;
use C4::Auth;
-use HTML::Template;
use C4::Context;
-use C4::Search;
-use C4::Auth;
-use C4::Output;
use C4::Interface::CGI::Output;
use C4::AuthoritiesMarc;
-use C4::SearchMarc;
-use C4::Acquisition;
use C4::Koha; # XXX subfield_is_koha_internal_p
+use C4::Biblio;
+
my $query=new CGI;
my $op = $query->param('op');
my $authtypecode = $query->param('authtypecode');
my $dbh = C4::Context->dbh;
-
+my $mergefrom=$query->param('mergefrom');
+my $mergeto=$query->param('mergeto');
my $startfrom=$query->param('startfrom');
my $authid=$query->param('authid');
$startfrom=0 if(!defined $startfrom);
foreach my $thisauthtype (sort { $authtypes->{$a} <=> $authtypes->{$b} } keys %$authtypes) {
my $selected = 1 if $thisauthtype eq $authtypecode;
my %row =(value => $thisauthtype,
- selected => $selected,
+ selected => $selected,
authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
);
push @authtypesloop, \%row;
}
+
if ($op eq "do_search") {
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);
+ $resultsperpage = 10 unless $resultsperpage;
my @tags;
- my ($results,$total) = authoritysearch($dbh, \@marclist,\@and_or,
- \@excluding, \@operator, \@value,
- $startfrom*$resultsperpage, $resultsperpage,$authtypecode);
+ my ($results,$total) = authoritysearch($dbh, \@marclist, \@operator, \@value,$startfrom*$resultsperpage, $resultsperpage,$authtypecode) ;
($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "authorities/searchresultlist.tmpl",
query => $query,
type => 'intranet',
authnotrequired => 0,
+ authtypecode=> $authtypecode,
flagsrequired => {borrowers => 1},
flagsrequired => {catalogue => 1},
debug => 1,
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] };
}
{
for (my $i=1; $i<$total/$resultsperpage+1; $i++)
{
- if ($i<16)
+ if ($i<31)
{
my $highlight=0;
($startfrom==($i-1)) && ($highlight=1);
to=>$to,
numbers=>\@numbers,
authtypecode=>$authtypecode,
- isEDITORS => $authtypecode eq 'EDITORS',
);
} elsif ($op eq "delete") {
- &AUTHdelauthority($dbh,$authid, 1);
+ &AUTHdelauthority($dbh,$authid);
($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "authorities/authorities-home.tmpl",
flagsrequired => {catalogue => 1},
debug => 1,
});
-# $template->param("statements" => \@statements,
-# "nbstatements" => $nbstatements);
-}
-elsif ($op eq "AddStatement") {
+
+}elsif ($op eq "merge") {
+
+
+ my $MARCfrom = XMLgetauthorityhash($dbh,$mergefrom);
+ my $MARCto = XMLgetauthorityhash($dbh,$mergeto);
+ merge($dbh,$mergefrom,$MARCfrom,$mergeto,$MARCto);
($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "authorities/authorities-home.tmpl",
query => $query,
flagsrequired => {catalogue => 1},
debug => 1,
});
-
- # Gets the entered information
- my @marcfields = $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');
-
- my @statements = ();
-
- # List of the marc tags to display
- my $marcarray = create_marclist();
-
- my $nbstatements = $query->param('nbstatements');
- $nbstatements = 1 if(!defined $nbstatements);
-
- for(my $i = 0 ; $i < $nbstatements ; $i++)
- {
- my %fields = ();
-
- # Recreates the old scrolling lists with the previously selected values
- my $marclist = create_scrolling_list({name=>"marclist",
- values=> $marcarray,
- size=> 1,
- default=>$marcfields[$i],
- onChange => "sql_update()"}
- );
-
- $fields{'marclist'} = $marclist;
- $fields{'first'} = 1 if($i == 0);
-
- # Restores the and/or parameters (no need to test the 'and' for activation because it's the default value)
- $fields{'or'} = 1 if($and_or[$i] eq "or");
-
- #Restores the "not" parameters
- $fields{'not'} = 1 if($excluding[$i]);
-
- #Restores the operators (most common operators first);
- if($operator[$i] eq "=") { $fields{'eq'} = 1; }
- elsif($operator[$i] eq "contains") { $fields{'contains'} = 1; }
- elsif($operator[$i] eq "start") { $fields{'start'} = 1; }
- elsif($operator[$i] eq ">") { $fields{'gt'} = 1; } #greater than
- elsif($operator[$i] eq ">=") { $fields{'ge'} = 1; } #greater or equal
- elsif($operator[$i] eq "<") { $fields{'lt'} = 1; } #lower than
- elsif($operator[$i] eq "<=") { $fields{'le'} = 1; } #lower or equal
-
- #Restores the value
- $fields{'value'} = $value[$i];
-
- push @statements, \%fields;
- }
- $nbstatements++;
-
- # The new scrolling list
- my $marclist = create_scrolling_list({name=>"marclist",
- values=> $marcarray,
- size=>1,
- onChange => "sql_update()"});
- push @statements, {"marclist" => $marclist };
-
- $template->param("statements" => \@statements,
- "nbstatements" => $nbstatements);
-
-}
-else {
+}else {
($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "authorities/authorities-home.tmpl",
query => $query,
}
+
+
$template->param(authtypesloop => \@authtypesloop);
# Print the page