[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha/acqui.simple isbnsearch.pl,1.14.2.1,1.14.2.2
From: |
Paul POULAIN |
Subject: |
[Koha-cvs] CVS: koha/acqui.simple isbnsearch.pl,1.14.2.1,1.14.2.2 |
Date: |
Fri, 18 Mar 2005 00:53:41 -0800 |
Update of /cvsroot/koha/koha/acqui.simple
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20674/acqui.simple
Modified Files:
Tag: rel_2_2
isbnsearch.pl
Log Message:
improving isbnsearch (search before cataloguing)
We now use the official Koha API for search in the catalogue. It means the user
don't have to write the title exactly as in biblio.title (empty words are now
excluded)
Index: isbnsearch.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui.simple/isbnsearch.pl,v
retrieving revision 1.14.2.1
retrieving revision 1.14.2.2
diff -C2 -r1.14.2.1 -r1.14.2.2
*** isbnsearch.pl 15 Feb 2005 20:33:08 -0000 1.14.2.1
--- isbnsearch.pl 18 Mar 2005 08:53:38 -0000 1.14.2.2
***************
*** 22,26 ****
use C4::Auth;
use C4::Biblio;
! use C4::Search;
use C4::Output;
use C4::Interface::CGI::Output;
--- 22,28 ----
use C4::Auth;
use C4::Biblio;
! # use C4::Search;
! use C4::Breeding;
! use C4::SearchMarc;
use C4::Output;
use C4::Interface::CGI::Output;
***************
*** 29,46 ****
my $input = new CGI;
- my $isbn = $input->param('isbn');
- my $title = $input->param('title');
my $offset = $input->param('offset');
my $num = $input->param('num');
! my $showoffset = $offset + 1;
! my $total;
! my $count;
! my @results;
my $marc_p = C4::Context->boolean_preference("marc");
- if ( !$isbn && !$title ) {
- print $input->redirect('addbooks.pl');
- }
- else {
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
--- 31,42 ----
my $input = new CGI;
my $offset = $input->param('offset');
my $num = $input->param('num');
! # my $total;
! # my $count;
! # my @results;
my $marc_p = C4::Context->boolean_preference("marc");
+ my $dbh = C4::Context->dbh;
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
***************
*** 57,137 ****
if ( !$offset ) {
$offset = 0;
- $showoffset = 1;
}
if ( !$num ) { $num = 10 }
! ( $count, @results ) = isbnsearch( $isbn, $title );
! if ( $count < ( $offset + $num ) ) {
! $total = $count;
! }
! else {
! $total = $offset + $num;
! } # else
!
! my @loop_data = ();
! my $toggle;
! for ( my $i = $offset ; $i < $total ; $i++ ) {
! if ( $i % 2 ) {
! $toggle = 0;
! } else {
! $toggle = 1;
! }
! my %row_data; # get a fresh hash for the row data
! $row_data{toggle} = $toggle;
! $row_data{biblionumber} = $results[$i]->{'biblionumber'};
! $row_data{title} = $results[$i]->{'title'};
! $row_data{author} = $results[$i]->{'author'};
! $row_data{copyrightdate} = $results[$i]->{'copyrightdate'};
! $row_data{classification} = $results[$i]->{'classification'};
! $row_data{NOTMARC} = !$marc_p;
! push ( @loop_data, \%row_data );
! }
! $template->param( startfrom => $offset + 1 );
! ( $offset + $num <= $count )
! ? ( $template->param( endat => $offset + $num ) )
! : ( $template->param( endat => $count ) );
! $template->param( numrecords => $count );
! my $nextstartfrom = ( $offset + $num < $count ) ? ( $offset + $num ) :
(-1);
! my $prevstartfrom = ( $offset - $num >= 0 ) ? ( $offset - $num ) : (-1);
! $template->param( nextstartfrom => $nextstartfrom );
! my $displaynext = 1;
! my $displayprev = 0;
! ( $nextstartfrom == -1 ) ? ( $displaynext = 0 ) : ( $displaynext = 1 );
! ( $prevstartfrom == -1 ) ? ( $displayprev = 0 ) : ( $displayprev = 1 );
! $template->param( displaynext => $displaynext );
! $template->param( displayprev => $displayprev );
! my @numbers = ();
! my $term;
! my $value;
!
! if ($isbn) {
! $term = "isbn";
! $value = $isbn;
! }
! else {
! $term = "title";
! $value = $title;
! }
! if ( $count > 10 ) {
! for ( my $i = 1 ; $i < $count / 10 + 1 ; $i++ ) {
! if ( $i < 16 ) {
! my $highlight = 0;
! ( $offset == ( $i - 1 ) * 10 ) && ( $highlight = 1 );
! push @numbers,
! {
! number => $i,
! highlight => $highlight,
! term => $term,
! value => $value,
! startfrom => ( $i - 1 ) * 10
! };
! }
! }
! }
# fill with books in breeding farm
! ( $count, @results ) = breedingsearch( $title, $isbn );
my @breeding_loop = ();
! for ( my $i = 0 ; $i <= $#results ; $i++ ) {
my %row_data;
if ( $i % 2 ) {
--- 53,157 ----
if ( !$offset ) {
$offset = 0;
}
if ( !$num ) { $num = 10 }
! my @marclist = $input->param('marclist');
! my @and_or = $input->param('and_or');
! my @excluding = $input->param('excluding');
! my @operator = $input->param('operator');
! my @value = $input->param('value');
! my $title= @value[0];
! my $isbn = @value[1];
! my $resultsperpage= $input->param('resultsperpage');
! $resultsperpage = 5 if(!defined $resultsperpage);
! my $startfrom=$input->param('startfrom');
! $startfrom=0 if(!defined $startfrom);
! my $orderby = $input->param('orderby');
! my $desc_or_asc = $input->param('desc_or_asc');
!
! # builds tag and subfield arrays
! my @tags;
!
! foreach my $marc (@marclist) {
! if ($marc) {
! my ($tag,$subfield) =
MARCfind_marc_from_kohafield($dbh,$marc,'');
! if ($tag) {
! push @tags,$dbh->quote("$tag$subfield");
! } else {
! push @tags, $dbh->quote(substr($marc,0,4));
! }
! } else {
! push @tags, "";
! }
! }
! findseealso($dbh,address@hidden);
! my ($results,$total) = catalogsearch($dbh,
address@hidden,address@hidden,
!
address@hidden, address@hidden, address@hidden,
!
$startfrom, $resultsperpage,'biblio.title','ASC');
! # @results = @$resultsref;
!
! # my @loop_data = ();
! # my $toggle;
! # for ( my $i = $offset ; $i < $total ; $i++ ) {
! # if ( $i % 2 ) {
! # $toggle = 0;
! # } else {
! # $toggle = 1;
! # }
! # my %row_data; # get a fresh hash for the row data
! # $row_data{toggle} = $toggle;
! # $row_data{biblionumber} = $results[$i]->{'biblionumber'};
! # $row_data{title} = $results[$i]->{'title'};
! # $row_data{author} = $results[$i]->{'author'};
! # $row_data{copyrightdate} = $results[$i]->{'copyrightdate'};
! # $row_data{classification} = $results[$i]->{'classification'};
! # $row_data{NOTMARC} = !$marc_p;
! # push ( @loop_data, \%row_data );
! # }
! # multi page display gestion
! my $displaynext=0;
! my $displayprev=$startfrom;
! if(($total - (($startfrom+1)*($resultsperpage))) > 0 ) {
! $displaynext = 1;
! }
! my @field_data = ();
!
! for(my $i = 0 ; $i <= $#marclist ; $i++) {
! push @field_data, { term => "marclist", val=>$marclist[$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] };
! }
!
! my @numbers = ();
!
! if ($total>$resultsperpage) {
! for (my $i=1; $i<$total/$resultsperpage+1; $i++) {
! if ($i<16) {
! my $highlight=0;
! ($startfrom==($i-1)) && ($highlight=1);
! push @numbers, { number => $i,
! highlight => $highlight ,
! searchdata=> address@hidden,
! startfrom => ($i-1)};
! }
! }
! }
! my $from = $startfrom*$resultsperpage+1;
! my $to;
!
! if($total < (($startfrom+1)*$resultsperpage))
! {
! $to = $total;
! } else {
! $to = (($startfrom+1)*$resultsperpage);
! }
# fill with books in breeding farm
! my $toggle=0;
! my ( $countbr, @resultsbr ) = BreedingSearch( @value[0], @value[1] );
my @breeding_loop = ();
! for ( my $i = 0 ; $i <= $#resultsbr ; $i++ ) {
my %row_data;
if ( $i % 2 ) {
***************
*** 142,155 ****
}
$row_data{toggle} = $toggle;
! $row_data{id} = $results[$i]->{'id'};
! $row_data{isbn} = $results[$i]->{'isbn'};
! $row_data{file} = $results[$i]->{'file'};
! $row_data{title} = $results[$i]->{'title'};
! $row_data{author} = $results[$i]->{'author'};
$row_data{NOTMARC}= !$marc_p;
push ( @breeding_loop, \%row_data );
}
-
# get framework list
my $frameworks = getframeworks;
--- 162,174 ----
}
$row_data{toggle} = $toggle;
! $row_data{id} = $resultsbr[$i]->{'id'};
! $row_data{isbn} = $resultsbr[$i]->{'isbn'};
! $row_data{file} = $resultsbr[$i]->{'file'};
! $row_data{title} = $resultsbr[$i]->{'title'};
! $row_data{author} = $resultsbr[$i]->{'author'};
$row_data{NOTMARC}= !$marc_p;
push ( @breeding_loop, \%row_data );
}
# get framework list
my $frameworks = getframeworks;
***************
*** 163,176 ****
$template->param(
! isbn => $isbn,
! title => $title,
! showoffset => $showoffset,
total => $total,
! offset => $offset,
! loop => address@hidden,
breeding_loop => address@hidden,
- numbers => address@hidden,
- term => $term,
- value => $value,
NOTMARC => !$marc_p,
frameworkcodeloop => address@hidden,
--- 182,201 ----
$template->param(
! title => $title,
! isbn => $isbn,
! startfrom=> $startfrom,
! displaynext=>
$displaynext,
! displayprev=>
$displayprev,
! resultsperpage =>
$resultsperpage,
! startfromnext =>
$startfrom+1,
! startfromprev =>
$startfrom-1,
!
searchdata=>address@hidden,
! numbers=>address@hidden,
! from => $from,
! to => $to,
total => $total,
! # offset => $offset,
! loop => $results,
breeding_loop => address@hidden,
NOTMARC => !$marc_p,
frameworkcodeloop => address@hidden,
***************
*** 181,184 ****
-cookie => $cookie
),
! $template->output;
! } # else
--- 206,208 ----
-cookie => $cookie
),
! $template->output;
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha/acqui.simple isbnsearch.pl,1.14.2.1,1.14.2.2,
Paul POULAIN <=
- Prev by Date:
[Koha-cvs] CVS: koha/C4 SearchMarc.pm,1.36.2.6,1.36.2.7
- Next by Date:
[Koha-cvs] CVS: koha/C4 Breeding.pm,1.7,1.7.2.1 Search.pm,1.99.2.4,1.99.2.5
- Previous by thread:
[Koha-cvs] CVS: koha/C4 SearchMarc.pm,1.36.2.6,1.36.2.7
- Next by thread:
[Koha-cvs] CVS: koha/C4 Breeding.pm,1.7,1.7.2.1 Search.pm,1.99.2.4,1.99.2.5
- Index(es):