package C4::Acquisitions; #asummes C4/Acquisitions.pm use strict; require Exporter; use C4::Database; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); # set the version for version checking $VERSION = 0.01; @ISA = qw(Exporter); @EXPORT = qw(&getorders &bookseller &breakdown); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, # as well as any optionally exported functions @EXPORT_OK = qw($Var1 %Hashit); # non-exported package globals go here use vars qw(@more $stuff); # initalize package globals, first exported ones my $Var1 = ''; my %Hashit = (); # then the others (which are still accessible as $Some::Module::stuff) my $stuff = ''; my @more = (); # all file-scoped lexicals must be created before # the functions below that use them. # file-private lexicals go here my $priv_var = ''; my %secret_hash = (); # here's a file-private function as a closure, # callable as &$priv_func; it cannot be prototyped. my $priv_func = sub { # stuff goes here. }; # make all your functions, whether exported or not; sub getorders { my ($num,$limit)=@_; my $dbh=C4Connect; my $query = "Select * from aqorders where entrydate is not NULL"; $query.=" order by entrydate limit $num,$limit"; my $sth=$dbh->prepare($query); $sth->execute; my @results; my $i=0; while (my $data=$sth->fetchrow_hashref){ $results[$i]=$data; $i++; } $sth->finish; $dbh->disconnect; return ($i,\@results); } sub bookseller { my ($id)=@_; my $dbh=C4Connect; my $query="Select * from aqbooksellers where id='$id'"; my $sth=$dbh->prepare($query); $sth->execute; my $data=$sth->fetchrow_hashref; $sth->finish; $dbh->disconnect; return($data); } sub breakdown { my ($id)=@_; my $dbh=C4Connect; my $query="Select * from aqorderbreakdown where ordernumber='$id'"; my $sth=$dbh->prepare($query); $sth->execute; my @results; my $i=0; while (my $data=$sth->fetchrow_hashref){ $results[$i]=$data; $i++; } $sth->finish; $dbh->disconnect; return($i,\@results); } END { } # module clean-up code here (global destructor)