From f1e1110cf950c89da22ab9e564e19d140b86a24a Mon Sep 17 00:00:00 2001 From: rangi Date: Tue, 7 May 2002 00:09:06 +0000 Subject: [PATCH] Now use the new hash based results returned from Search.pm --- acqui/newbasket2.pl | 107 ++++++++++++++++++++++++-------------------- search.pl | 93 +++++++++++++++++++------------------- 2 files changed, 106 insertions(+), 94 deletions(-) diff --git a/acqui/newbasket2.pl b/acqui/newbasket2.pl index 5013fd4800..d777523513 100755 --- a/acqui/newbasket2.pl +++ b/acqui/newbasket2.pl @@ -29,9 +29,9 @@ my %search; #build hash of users input my $title=$input->param('search'); $search{'title'}=$title; -my $keyword=$input->param('search'); +my $keyword=$input->param('d'); $search{'keyword'}=$keyword; -my $author=$input->param('search'); +my $author=$input->param('author'); $search{'author'}=$author; my @results; @@ -45,17 +45,25 @@ if ($num eq ''){ } my $id=$input->param('id'); my $basket=$input->param('basket'); - +my $sub=$input->param('sub'); +my $donation; +if ($id == 72){ + $donation='yes'; +} +#print $sub; my ($count,@booksellers)=bookseller($id); - print startpage(); print startpage(); print startmenu('acquisitions'); print mkheadr(1,"Shopping Basket For: $booksellers[0]->{'name'}"); +if ($donation ne 'yes'){ + print ""; +} else { + print ""; +} print <Add New Biblio +Add New Biblio View Basket
@@ -71,15 +79,9 @@ print center(); my $count; my @results; - if ($keyword ne ''){ -# print "hey"; - ($count,@results)=&KeywordSearch(\$blah,'intra',\%search,$num,$offset); - } elsif ($search{'front'} ne '') { - ($count,@results)&FrontSearch(\$blah,'intra',\%search,$num,$offset); - }else { + ($count,@results)=&CatSearch(\$blah,'loose',\%search,$num,$offset); -# print "hey"; - } + print "You searched on "; while ( my ($key, $value) = each %search) { @@ -110,81 +112,88 @@ my $i=0; my $colour=1; while ($i < $count2){ # print $results[$i]."\n"; - my @stuff=split('\t',$results[$i]); - $stuff[1]=~ s/\`/\\\'/g; - my $title2=$stuff[1]; - my $author2=$stuff[0]; - my $copyright=$stuff[3]; +# my @stuff=split('\t',$results[$i]); + my $result=$results[$i]; + $result->{'title'}=~ s/\`/\\\'/g; + my $title2=$result->{'title'}; + my $author2=$result->{'author'}; + my $copyright=$result->{'copyrightdate'}; $author2=~ s/ /%20/g; $title2=~ s/ /%20/g; $title2=~ s/\#/\&\#x23;/g; - $stuff[1]=mklink("/cgi-bin/koha/acqui/newbiblio.pl?title=$title2&author=$author2©right=$copyright&id=$id&basket=$basket&biblio=$stuff[2]",$stuff[1]); - my $word=$stuff[0]; -# print $word; + $title2=~ s/\"/\"\;/g; + my $itemcount; + my $location=''; + if ($donation eq 'yes'){ + $result->{'title'}=mklink("/cgi-bin/koha/acqui/newdonation.pl?author=$author2©right=$copyright&id=$id&basket=$basket&biblio=$result->{'biblionumber'}&title=$title2",$result->{'title'}); + } else { + $result->{'title'}=mklink("/cgi-bin/koha/acqui/newbiblio.pl?sub=$sub&author=$author2©right=$copyright&id=$id&basket=$basket&biblio=$result->{'biblionumber'}&title=$title2",$result->{'title'}); + } + my $word=$result->{'author'}; $word=~ s/([a-z]) +([a-z])/$1%20$2/ig; $word=~ s/ //g; $word=~ s/ /%20/g; $word=~ s/\,/\,%20/g; $word=~ s/\n//g; my $url="/cgi-bin/koha/search.pl?author=$word&type=$type"; - $stuff[0]=mklink($url,$stuff[0]); - my ($count,$lcount,$nacount,$fcount,$scount,$lostcount,$mending,$transit)=itemcount($env,$stuff[2],$type); - $stuff[4]=$count; + $result->{'author'}=mklink($url,$result->{'author'}); + my ($count,$lcount,$nacount,$fcount,$scount,$lostcount,$mending,$transit)=itemcount($env,$result->{'biblionumber'},$type); + $itemcount=$count; if ($nacount > 0){ - $stuff[5]=$stuff[5]."On Loan"; + $location=$location."On Loan"; if ($nacount >1 ){ - $stuff[5]=$stuff[5]." ($nacount)"; + $location=$location." ($nacount)"; } - $stuff[5].=" "; + $location.=" "; } if ($lcount > 0){ - $stuff[5]=$stuff[5]."Levin"; + $location=$location."Levin"; if ($lcount >1 ){ - $stuff[5]=$stuff[5]." ($lcount)"; + $location=$location." ($lcount)"; } - $stuff[5].=" "; + $location.=" "; } if ($fcount > 0){ - $stuff[5]=$stuff[5]."Foxton"; + $location=$location."Foxton"; if ($fcount >1 ){ - $stuff[5]=$stuff[5]." ($fcount)"; + $location=$location." ($fcount)"; } - $stuff[5].=" "; + $location.=" "; } if ($scount > 0){ - $stuff[5]=$stuff[5]."Shannon"; + $location=$location."Shannon"; if ($scount >1 ){ - $stuff[5]=$stuff[5]." ($scount)"; + $location=$location." ($scount)"; } - $stuff[5].=" "; + $location.=" "; } if ($lostcount > 0){ - $stuff[5]=$stuff[5]."Lost"; + $location=$location."Lost"; if ($lostcount >1 ){ - $stuff[5]=$stuff[5]." ($lostcount)"; + $location=$location." ($lostcount)"; } - $stuff[5].=" "; + $location.=" "; } if ($mending > 0){ - $stuff[5]=$stuff[5]."Mending"; + $location=$location."Mending"; if ($mending >1 ){ - $stuff[5]=$stuff[5]." ($mending)"; + $location=$location." ($mending)"; } - $stuff[5].=" "; + $location.=" "; } if ($transit > 0){ - $stuff[5]=$stuff[5]."In Transiit"; + $location=$location."In Transiit"; if ($transit >1 ){ - $stuff[5]=$stuff[5]." ($transit)"; + $location=$location." ($transit)"; } - $stuff[5].=" "; + $location.=" "; } if ($colour == 1){ - print mktablerow(6,$secondary,$stuff[1],$stuff[0],$stuff[3],$stuff[4],$stuff[5],$stuff[6]); + print mktablerow(6,$secondary,$result->{'title'},$result->{'author'},$result->{'copyrightdate'},$itemcount,$location); $colour=0; } else{ - print mktablerow(6,'white',$stuff[1],$stuff[0],$stuff[3],$stuff[4],$stuff[5],$stuff[6]); + print mktablerow(6,'white',$result->{'title'},$result->{'author'},$result->{'copyrightdate'},$itemcount,$location); $colour=1; } $i++; @@ -195,7 +204,7 @@ $offset=$num+$offset; print mktableft(); if ($offset < $count){ - my $search="num=$num&offset=$offset&type=$type&id=$id&basket=$basket&search=$keyword"; + my $search="num=$num&offset=$offset&type=$type&id=$id&basket=$basket&search=$title&author=$author"; my $stuff=mklink("/cgi-bin/koha/acqui/newbasket2.pl?$search",'Next'); print $stuff; } diff --git a/search.pl b/search.pl index 0151c14039..4aba806db7 100755 --- a/search.pl +++ b/search.pl @@ -149,106 +149,109 @@ my $i=0; my $colour=1; while ($i < $count2){ # print $results[$i]."\n"; - my @stuff=split('\t',$results[$i]); - $stuff[1]=~ s/\`/\\\'/g; - my $title2=$stuff[1]; +# my @stuff=split('\t',$results[$i]); + my $result=$results[$i]; + $result->{'title'}=~ s/\`/\\\'/g; + my $title2=$result->{'title'}; $title2=~ s/ /%20/g; + my $location=''; + my $itemcount; if ($subject eq ''){ -# print $stuff[0]; - $stuff[1]=mklink("/cgi-bin/koha/detail.pl?type=$type&bib=$stuff[2]&title=$title2",$stuff[1]); - my $word=$stuff[0]; -# print $word; + $result->{'title'}=mklink("/cgi-bin/koha/detail.pl?type=$type&bib=$result->{'biblionumber'}&title=$title2",$result->{'title'}); + my $word=$result->{'author'}; $word=~ s/([a-z]) +([a-z])/$1%20$2/ig; $word=~ s/ //g; $word=~ s/ /%20/g; $word=~ s/\,/\,%20/g; $word=~ s/\n//g; my $url="/cgi-bin/koha/search.pl?author=$word&type=$type"; - $stuff[7]=$stuff[5]; - $stuff[5]=''; - $stuff[0]=mklink($url,$stuff[0]); - my ($count,$lcount,$nacount,$fcount,$scount,$lostcount,$mending,$transit,$ocount)=itemcount($env,$stuff[2],$type); - $stuff[4]=$count; + $result->{'author'}=mklink($url,$result->{'author'}); + my ($count,$lcount,$nacount,$fcount,$scount,$lostcount,$mending,$transit,$ocount)=itemcount($env,$result->{'biblionumber'},$type); + $itemcount=$count; + #### + # Fix this chunk below, remove all hardcoded branch references + # need to fix itemcount as well + ### if ($nacount > 0){ - $stuff[5]=$stuff[5]."On Loan"; + $location=$location."On Loan"; if ($nacount >1 ){ - $stuff[5]=$stuff[5]." ($nacount)"; + $location=$location." ($nacount)"; } - $stuff[5].=" "; + $location.=" "; } if ($lcount > 0){ - $stuff[5]=$stuff[5]."Levin"; + $location=$location."Levin"; if ($lcount >1 ){ - $stuff[5]=$stuff[5]." ($lcount)"; + $location=$location." ($lcount)"; } - $stuff[5].=" "; + $location.=" "; } if ($fcount > 0){ - $stuff[5]=$stuff[5]."Foxton"; + $location=$location."Foxton"; if ($fcount >1 ){ - $stuff[5]=$stuff[5]." ($fcount)"; + $location=$location." ($fcount)"; } - $stuff[5].=" "; + $location.=" "; } if ($scount > 0){ - $stuff[5]=$stuff[5]."Shannon"; + $location=$location."Shannon"; if ($scount >1 ){ - $stuff[5]=$stuff[5]." ($scount)"; + $location=$location." ($scount)"; } - $stuff[5].=" "; + $location.=" "; } if ($lostcount > 0){ - $stuff[5]=$stuff[5]."Lost"; + $location=$location."Lost"; if ($lostcount >1 ){ - $stuff[5]=$stuff[5]." ($lostcount)"; + $location=$location." ($lostcount)"; } - $stuff[5].=" "; + $location.=" "; } if ($mending > 0){ - $stuff[5]=$stuff[5]."Mending"; + $location=$location."Mending"; if ($mending >1 ){ - $stuff[5]=$stuff[5]." ($mending)"; + $location=$location." ($mending)"; } - $stuff[5].=" "; + $location.=" "; } if ($transit > 0){ - $stuff[5]=$stuff[5]."In Transiit"; + $location=$location."In Transiit"; if ($transit >1 ){ - $stuff[5]=$stuff[5]." ($transit)"; + $location=$location." ($transit)"; } - $stuff[5].=" "; + $location.=" "; } if ($ocount > 0){ - $stuff[5]=$stuff[5]."On Order"; + $location=$location."On Order"; if ($ocount >1 ){ - $stuff[5]=$stuff[5]." ($ocount)"; + $location=$location." ($ocount)"; } - $stuff[5].=" "; + $location.=" "; } - if ($type ne 'opac'){ - $stuff[6]=mklink("/cgi-bin/koha/request.pl?bib=$stuff[2]","Request"); - } +# if ($type ne 'opac'){ +# $result->{'request'}=mklink("/cgi-bin/koha/request.pl?bib=$stuff[2]","Request"); +# } } else { - my $word=$stuff[1]; + my $word=$result->{'subject'}; $word=~ s/ /%20/g; - $stuff[1]=mklink("/cgi-bin/koha/subjectsearch.pl?subject=$word&type=$type",$stuff[1]); + $result->{'title'}=mklink("/cgi-bin/koha/subjectsearch.pl?subject=$word&type=$type",$result->{'subject'}); } if ($colour == 1){ if ($illustrator) { - print mktablerow(7,$secondary,$stuff[1],$stuff[0],$stuff[7],$stuff[3],$stuff[4],$stuff[5],$stuff[6]); + print mktablerow(7,$secondary,$result->{'title'},$result->{'author'},$result->{'illus'},$result->{'copyrightdate'},$itemcount,$location); } else { - print mktablerow(6,$secondary,$stuff[1],$stuff[0],$stuff[3],$stuff[4],$stuff[5],$stuff[6]); + print mktablerow(6,$secondary,$result->{'title'},$result->{'author'},$result->{'copyrightdate'},$itemcount,$location); } $colour=0; } else { if ($illustrator) { - print mktablerow(7,'white',$stuff[1],$stuff[0],$stuff[7],$stuff[3],$stuff[4],$stuff[5],$stuff[6]); + print mktablerow(7,'white',$result->{'title'},$result->{'author'},$result->{'illus'},$result->{'copyrightdate'},$itemcount,$location); } else { - print mktablerow(6,'white',$stuff[1],$stuff[0],$stuff[3],$stuff[4],$stuff[5],$stuff[6]); + print mktablerow(6,'white',$result->{'title'},$result->{'author'},$result->{'copyrightdate'},$itemcount,$location); } $colour=1; } -- 2.39.2