Index: /trunk/DNSDB.pm
===================================================================
--- /trunk/DNSDB.pm	(revision 476)
+++ /trunk/DNSDB.pm	(revision 477)
@@ -1816,5 +1816,6 @@
 sub addDomain {
   $errstr = '';
-  my $dbh = shift;
+  my $self = shift;
+  my $dbh = $self->{dbh};
   return ('FAIL',"Need database handle") if !$dbh;
   my $domain = shift;
@@ -1907,5 +1908,6 @@
 # later we may want to archive it in some way instead (status code 2, for example?)
 sub delZone {
-  my $dbh = shift;
+  my $self = shift;
+  my $dbh = $self->{dbh};
   my $zoneid = shift;
   my $revrec = shift;
@@ -2047,5 +2049,6 @@
 # Returns a status code and message
 sub addRDNS {
-  my $dbh = shift;
+  my $self = shift;
+  my $dbh = $self->{dbh};
   my $zone = NetAddr::IP->new(shift);
 
@@ -2220,5 +2223,6 @@
 # Returns an integer count of the resulting zone list.
 sub getZoneCount {
-  my $dbh = shift;
+  my $self = shift;
+  my $dbh = $self->{dbh};
 
   my %args = @_;
@@ -2253,5 +2257,6 @@
 # Returns a reference to an array of hashrefs suitable for feeding to HTML::Template
 sub getZoneList {
-  my $dbh = shift;
+  my $self = shift;
+  my $dbh = $self->{dbh};
 
   my %args = @_;
@@ -2311,5 +2316,6 @@
 # Takes a database handle, forward/reverse flag, and zone ID
 sub getZoneLocation {
-  my $dbh = shift;
+  my $self = shift;
+  my $dbh = $self->{dbh};
   my $revrec = shift;
   my $zoneid = shift;
@@ -4235,5 +4241,6 @@
 # Returns status, or undef on errors.
 sub zoneStatus {
-  my $dbh = shift;
+  my $self = shift;
+  my $dbh = $self->{dbh};
   my $id = shift;
   my $revrec = shift;
@@ -4287,5 +4294,6 @@
 # Get a list of zone names and IDs that records for a passed CIDR block are within.
 sub getZonesByCIDR {
-  my $dbh = shift;
+  my $self = shift;
+  my $dbh = $self->{dbh};
   my %args = @_;
 
Index: /trunk/dns-rpc.cgi
===================================================================
--- /trunk/dns-rpc.cgi	(revision 476)
+++ /trunk/dns-rpc.cgi	(revision 477)
@@ -114,5 +114,5 @@
   my $argref = shift;
   if (!$argref->{location} && $argref->{defrec} eq 'n') {
-    $argref->{location} = DNSDB::getZoneLocation($dbh, $argref->{revrec}, $argref->{parent_id});
+    $argref->{location} = $dnsdb->getZoneLocation($argref->{revrec}, $argref->{parent_id});
   }
 }
@@ -142,5 +142,5 @@
   _commoncheck(\%args, 'y');
 
-  my ($code, $msg) = DNSDB::addDomain($dbh, $args{domain}, $args{group}, $args{state});
+  my ($code, $msg) = $dnsdb->addDomain($args{domain}, $args{group}, $args{state});
   die $msg if $code eq 'FAIL';
   return $msg;	# domain ID
@@ -156,11 +156,11 @@
   # Let's be nice;  delete based on zone id OR zone name.  Saves an RPC call round-trip, maybe.
   if ($args{zone} =~ /^\d+$/) {
-    ($code,$msg) = DNSDB::delZone($dbh, $args{zone}, $args{revrec});
+    ($code,$msg) = $dnsdb->delZone($args{zone}, $args{revrec});
   } else {
     my $zoneid;
-    $zoneid = DNSDB::domainID($dbh, $args{zone}) if $args{revrec} eq 'n';
-    $zoneid = DNSDB::revID($dbh, $args{zone}) if $args{revrec} eq 'y';
-    die "Can't find zone: $DNSDB::errstr\n" if !$zoneid;
-    ($code,$msg) = DNSDB::delZone($dbh, $zoneid, $args{revrec});
+    $zoneid = $dnsdb->domainID($args{zone}) if $args{revrec} eq 'n';
+    $zoneid = $dnsdb->revID($args{zone}) if $args{revrec} eq 'y';
+    die "Can't find zone: $dnsdb->errstr\n" if !$zoneid;
+    ($code,$msg) = $dnsdb->delZone($zoneid, $args{revrec});
   }
   die $msg if $code eq 'FAIL';
@@ -178,5 +178,5 @@
   _commoncheck(\%args, 'y');
 
-  my ($code, $msg) = DNSDB::addRDNS($dbh, $args{revzone}, $args{revpatt}, $args{group}, $args{state}, $args{defloc});
+  my ($code, $msg) = $dnsdb->addRDNS($args{revzone}, $args{revpatt}, $args{group}, $args{state}, $args{defloc});
   die "$msg\n" if $code eq 'FAIL';
   return $msg;	# domain ID
@@ -431,5 +431,5 @@
   my $cidr = new NetAddr::IP $args{cidr};
 
-  my $zonelist = DNSDB::getZonesByCIDR($dbh, %args);
+  my $zonelist = $dnsdb->getZonesByCIDR(%args);
   if (scalar(@$zonelist) == 0) {
     # enhh....  WTF?
@@ -511,5 +511,5 @@
 
   # much like addOrUpdateRevRec()
-  my $zonelist = DNSDB::getZonesByCIDR($dbh, %args);
+  my $zonelist = $dnsdb->getZonesByCIDR(%args);
   my $cidr = new NetAddr::IP $args{cidr};
 
@@ -633,8 +633,8 @@
   _commoncheck(\%args, 'y');
 
-  my @arglist = ($dbh, $args{zoneid});
+  my @arglist = ($args{zoneid});
   push @arglist, $args{status} if defined($args{status});
 
-  my $status = DNSDB::zoneStatus(@arglist);
+  my $status = $dnsdb->zoneStatus(@arglist);
 }
 
@@ -645,5 +645,5 @@
   _commoncheck(\%args, 'y');
 
-  return DNSDB::getZonesByCIDR($dbh, %args);
+  return $dnsdb->getZonesByCIDR(%args);
 }
 
Index: /trunk/dns.cgi
===================================================================
--- /trunk/dns.cgi	(revision 476)
+++ /trunk/dns.cgi	(revision 477)
@@ -315,5 +315,5 @@
     }
     if ($flag && ($permissions{admin} || $permissions{domain_edit})) {
-      my $stat = zoneStatus($dbh,$webvar{id},'n',$webvar{zonestatus});
+      my $stat = $dnsdb->zoneStatus($webvar{id}, 'n', $webvar{zonestatus});
       $page->param(resultmsg => $DNSDB::resultstr);
     } else {
@@ -362,5 +362,5 @@
   $webvar{makeactive} = 0 if !defined($webvar{makeactive});
 
-  my ($code,$msg) = addDomain($dbh,$webvar{domain},$webvar{group},($webvar{makeactive} eq 'on' ? 1 : 0));
+  my ($code,$msg) = $dnsdb->addDomain($webvar{domain}, $webvar{group}, ($webvar{makeactive} eq 'on' ? 1 : 0));
 
   if ($code eq 'OK') {
@@ -396,5 +396,5 @@
   } elsif ($webvar{del} eq 'ok') {
     my $pargroup = $dnsdb->parentID(id => $webvar{id}, type => 'domain', revrec => $webvar{revrec});
-    my ($code,$msg) = delZone($dbh, $webvar{id}, $webvar{revrec});
+    my ($code,$msg) = $dnsdb->delZone($webvar{id}, $webvar{revrec});
     if ($code eq 'OK') {
       changepage(page => "domlist", resultmsg => $msg);
@@ -419,5 +419,5 @@
     }
     if ($flag && ($permissions{admin} || $permissions{domain_edit})) {
-      my $stat = zoneStatus($dbh,$webvar{id},'y',$webvar{zonestatus});
+      my $stat = $dnsdb->zoneStatus($webvar{id}, 'y', $webvar{zonestatus});
       $page->param(resultmsg => $DNSDB::resultstr);
     } else {
@@ -464,5 +464,5 @@
   }
 
-  my ($code,$msg) = addRDNS($dbh, $webvar{revzone}, $webvar{revpatt}, $webvar{group},
+  my ($code,$msg) = $dnsdb->addRDNS($webvar{revzone}, $webvar{revpatt}, $webvar{group},
 	($webvar{makeactive} eq 'on' ? 1 : 0), $webvar{location});
 
@@ -497,5 +497,5 @@
     my $pargroup = $dnsdb->parentID(id => $webvar{id}, type => 'revzone', revrec => $webvar{revrec});
     my $zone = $dnsdb->revName($webvar{id});
-    my ($code,$msg) = delZone($dbh, $webvar{id}, 'y');
+    my ($code,$msg) = $dnsdb->delZone($webvar{id}, 'y');
     if ($code eq 'OK') {
       changepage(page => "revzones", resultmsg => $msg);
@@ -625,5 +625,5 @@
 
     if ($webvar{defrec} eq 'n') {
-      my $defloc = getZoneLocation($dbh, $webvar{revrec}, $webvar{parentid});
+      my $defloc = $dnsdb->getZoneLocation($webvar{revrec}, $webvar{parentid});
       fill_loclist($curgroup, $defloc);
     }
@@ -635,5 +635,5 @@
 
     # location check - if user does not have record_locchg, set $webvar{location} to default location for zone
-    my $parloc = getZoneLocation($dbh, $webvar{revrec}, $webvar{parentid});
+    my $parloc = $dnsdb->getZoneLocation($webvar{revrec}, $webvar{parentid});
     $webvar{location} = $parloc unless ($permissions{admin} || $permissions{record_locchg});
 
@@ -993,5 +993,5 @@
   fill_grouplist("grouplist");
 
-  my $count = getZoneCount($dbh, (revrec => 'n', curgroup => $curgroup) );
+  my $count = $dnsdb->getZoneCount(revrec => 'n', curgroup => $curgroup);
 
   $page->param(curpage => $webvar{page});
@@ -1000,5 +1000,5 @@
   $page->param(perpage => $perpage);
 
-  my $domlist = getZoneList($dbh, (revrec => 'n', curgroup => $curgroup) );
+  my $domlist = $dnsdb->getZoneList(revrec => 'n', curgroup => $curgroup);
   my $rownum = 0;
   foreach my $dom (@{$domlist}) {
@@ -1063,9 +1063,9 @@
 	if $webvar{bulkaction} eq 'move';
     if ($webvar{bulkaction} eq 'deactivate' || $webvar{bulkaction} eq 'activate') {
-      my $stat = zoneStatus($dbh,$webvar{$_},'n',($webvar{bulkaction} eq 'activate' ? 'domon' : 'domoff'));
+      my $stat = $dnsdb->zoneStatus($webvar{$_}, 'n', ($webvar{bulkaction} eq 'activate' ? 'domon' : 'domoff'));
       $code = (defined($stat) ? 'OK' : 'FAIL');
       $msg = (defined($stat) ? $DNSDB::resultstr : $DNSDB::errstr);
     }
-    ($code, $msg) = delZone($dbh, $webvar{$_}, 'n')
+    ($code, $msg) = $dnsdb->delZone($webvar{$_}, 'n')
 	if $webvar{bulkaction} eq 'delete';
 
@@ -2035,6 +2035,6 @@
   my $childlist = join(',',@childgroups);
 
-  my $count = getZoneCount($dbh, (childlist => $childlist, curgroup => $curgroup, revrec => $webvar{revrec},
-	filter => ($filter ? $filter : undef), startwith => ($startwith ? $startwith : undef) ) );
+  my $count = $dnsdb->getZoneCount(childlist => $childlist, curgroup => $curgroup, revrec => $webvar{revrec},
+	filter => ($filter ? $filter : undef), startwith => ($startwith ? $startwith : undef) );
 
 # fill page count and first-previous-next-last-all bits
@@ -2067,9 +2067,8 @@
   $page->param(group => $curgroup);
 
-  my $zonelist = getZoneList($dbh, (childlist => $childlist, curgroup => $curgroup,
-	revrec => $webvar{revrec},
+  my $zonelist = $dnsdb->getZoneList(childlist => $childlist, curgroup => $curgroup, revrec => $webvar{revrec},
 	filter => ($filter ? $filter : undef), startwith => ($startwith ? $startwith : undef),
 	offset => $webvar{offset}, sortby => $sortby, sortorder => $sortorder
-	) );
+	);
 # probably don't need this, keeping for reference for now
 #  foreach (@$zonelist) {
