Changeset 916
- Timestamp:
- 08/13/25 17:40:34 (11 hours ago)
- Location:
- branches/secondaryzones
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/secondaryzones/DNSDB.pm
r915 r916 3089 3089 3090 3090 3091 ## DNSDB::secondaryName() 3092 # Return the secondary zone name based on a zone ID 3093 # Takes the zone ID, and as with revName() an optional flag to force return 3094 # of the logical CIDR zone instead of the formal .arpa zone name 3095 # Returns the zone name or undef on failure 3096 sub secondaryName { 3097 $errstr = ''; 3098 my $self = shift; 3099 my $dbh = $self->{dbh}; 3100 my $zoneid = shift; 3101 my $cidrflag = shift || 'n'; 3102 my ($zone) = $dbh->selectrow_array("SELECT zone FROM secondaryzones WHERE secondary_id=?", undef, ($zoneid) ); 3103 $errstr = $DBI::errstr if !$zone; 3104 my $tmp = new NetAddr::IP $zone; 3105 $zone = _ZONE($tmp, 'ZONE', 'r', '.').($tmp->{isv6} ? '.ip6.arpa' : '.in-addr.arpa') 3106 if ($self->{showrev_arpa} eq 'zone' || $self->{showrev_arpa} eq 'all') && $cidrflag eq 'n'; 3107 return $zone if $zone; 3108 } # end secondaryName() 3109 3110 3091 3111 ## DNSDB::domainID() 3092 3112 # Takes a domain name and default location … … 4339 4359 my $loc = shift; 4340 4360 4341 my $sth = $dbh->prepare("SELECT group_id,iplist,description,comments FROM locations WHERE location=?"); 4342 $sth->execute($loc); 4343 return $sth->fetchrow_hashref(); 4361 if (defined($loc) && $loc eq '') { 4362 my %ret = (group_id => 1, iplist => '', description => 'Default/All', comments => ''); 4363 return \%ret; 4364 } else { 4365 my $sth = $dbh->prepare("SELECT group_id,iplist,description,comments FROM locations WHERE location=?"); 4366 $sth->execute($loc); 4367 return $sth->fetchrow_hashref(); 4368 } 4344 4369 } # end getLoc() 4345 4370 … … 4493 4518 return $ret; 4494 4519 } # end getSOA() 4520 4521 4522 ## DNSDB::getSecondaryDetails 4523 # Retrieve primary server(s) and location/view of a secondary zone 4524 sub getSecondaryDetails { 4525 $errstr = ''; 4526 my $self = shift; 4527 my $dbh = $self->{dbh}; 4528 my $id = shift; 4529 4530 my $sql = "SELECT primaryserver, default_location FROM secondaryzones WHERE secondary_id = ?"; 4531 my $ret = $dbh->selectrow_hashref($sql, undef, ($id) ); 4532 return if !$ret; 4533 4534 return $ret; 4535 } # end getSecondaryDetails() 4495 4536 4496 4537 -
branches/secondaryzones/dns.cgi
r911 r916 634 634 listsecondaryzones(); 635 635 636 } elsif ($webvar{page} eq 'editsecondary') { 637 638 # security check - does the user have permission to view this entity? 639 # id is zone id 640 if (!check_scope(id => $webvar{id}, type => 'secondaryzone')) { 641 changepage(page => 'secondaryzones', 642 errmsg => "You do not have permission to edit the requested secondary zone"); 643 } 644 645 changepage(page => "secondaryzones", errmsg => "You are not permitted to edit secondary zones", id => $webvar{id}) 646 unless ($permissions{admin} || $permissions{domain_edit}); 647 648 $page->param(parent => $dnsdb->secondaryName($webvar{id})); 649 my $zoneinfo = $dnsdb->getSecondaryDetails($webvar{id}); 650 $page->param(prins => $zoneinfo->{primaryserver}); 651 fill_loclist($curgroup, $zoneinfo->{default_location}); 636 652 637 653 } elsif ($webvar{page} eq 'reclist') {
Note:
See TracChangeset
for help on using the changeset viewer.