From 928d76058a6be039160d601fd5dc1a6bebb7b216 Mon Sep 17 00:00:00 2001 From: slef Date: Mon, 15 Dec 2003 16:18:45 +0000 Subject: [PATCH] DBI call fix for bug 662 --- C4/Accounts.pm | 41 +++++++++++++++++------------------------ C4/Members.pm | 3 +-- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/C4/Accounts.pm b/C4/Accounts.pm index 7386c36fac..3020f7a805 100755 --- a/C4/Accounts.pm +++ b/C4/Accounts.pm @@ -1,6 +1,6 @@ package C4::Accounts; #assumes C4/Accounts -# This module uses the CDK modules, and crashes if called from a web script +# FIXME: This module uses the CDK modules, and crashes if called from a web script # Hence the existence of Accounts2 # # This module will be deprecated when we build a new curses/slang/character @@ -32,8 +32,8 @@ use C4::Context; use C4::Format; use C4::Search; use C4::Stats; -use C4::InterfaceCDK; -use C4::Interface::AccountsCDK; +#use C4::InterfaceCDK; +#use C4::Interface::AccountsCDK; use vars qw($VERSION @ISA @EXPORT); # set the version for version checking @@ -156,7 +156,6 @@ sub reconcileaccount { sub recordpayment{ #here we update both the accountoffsets and the account lines my ($env,$bornumber,$dbh,$data)=@_; - my $updquery = ""; my $newamtos = 0; my $accdata = ""; my $amountleft = $data; @@ -165,11 +164,10 @@ sub recordpayment{ # $sth->execute; my $nextaccntno = getnextacctno($env,$bornumber,$dbh); # get lines with outstanding amounts to offset - my $query = "select * from accountlines - where (borrowernumber = '$bornumber') and (amountoutstanding<>0) - order by date"; - my $sth = $dbh->prepare($query); - $sth->execute; + my $sth = $dbh->prepare("select * from accountlines + where (borrowernumber = ?) and (amountoutstanding<>0) + order by date"); + $sth->execute($bornumber); # offset transactions while (($accdata=$sth->fetchrow_hashref) and ($amountleft>0)){ if ($accdata->{'amountoutstanding'} < $amountleft) { @@ -180,18 +178,16 @@ sub recordpayment{ $amountleft = 0; } my $thisacct = $accdata->{accountno}; - $updquery = "update accountlines set amountoutstanding= '$newamtos' - where (borrowernumber = '$bornumber') and (accountno='$thisacct')"; - my $usth = $dbh->prepare($updquery); - $usth->execute; + my $usth = $dbh->prepare("update accountlines set amountoutstanding= ? + where (borrowernumber = ?) and (accountno=?)"); + $usth->execute($newamtos,$bornumber,$thisacct); $usth->finish; - $updquery = "insert into accountoffsets + $usth = $dbh->prepare("insert into accountoffsets (borrowernumber, accountno, offsetaccount, offsetamount) - values ($bornumber,$accdata->{'accountno'},$nextaccntno,$newamtos)"; - $usth = $dbh->prepare($updquery); + values (?,?,?,?)"); # print $updquery - $usth->execute; + $usth->execute($bornumber,$accdata->{'accountno'},$nextaccntno,$newamtos); $usth->finish; } # create new line @@ -199,12 +195,10 @@ sub recordpayment{ #accountno,date,amount,description,accounttype,amountoutstanding) values #($bornumber,$nextaccntno,datetime('now'::abstime),0-$data,'Payment,thanks', #'Pay',0-$amountleft)"; - $updquery = "insert into accountlines + my $usth = $dbh->prepare("insert into accountlines (borrowernumber, accountno,date,amount,description,accounttype,amountoutstanding) - values ($bornumber,$nextaccntno,now(),0-$data,'Payment,thanks', - 'Pay',0-$amountleft)"; - $usth = $dbh->prepare($updquery); - $usth->execute; + values (?,?,now(),?,?,'Payment,thanks','Pay')"); + $usth->execute($bornumber,$nextaccntno,0-$data,0-$amountleft); $usth->finish; UpdateStats($env,'branch','payment',$data) } @@ -226,8 +220,7 @@ sub getnextacctno { my ($env,$bornumber,$dbh)=@_; my $nextaccntno = 1; - my $query = "select max(accountno)+1 from accountlines"; - my $sth = $dbh->prepare($query); + my $sth = $dbh->prepare("select max(accountno)+1 from accountlines"); $sth->execute; if (my $accdata=$sth->fetchrow_hashref){ $nextaccntno = $accdata->{'accountno'} + 1; diff --git a/C4/Members.pm b/C4/Members.pm index 0509d179a5..4fb1f23d5b 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -75,8 +75,7 @@ sub fixup_cardnumber ($) { if ($cardnumber !~ /\S/ && $autonumber_members) { my $dbh = C4::Context->dbh; - my $query="select max(substring(borrowers.cardnumber,2,7)) from borrowers"; - my $sth=$dbh->prepare($query); + my $sth=$dbh->prepare("select max(substring(borrowers.cardnumber,2,7)) from borrowers"); $sth->execute; my $data=$sth->fetchrow_hashref; -- 2.20.1