Changeset 311 for trunk/dns.cgi
- Timestamp:
- 04/19/12 17:21:11 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dns.cgi
r310 r311 804 804 if (!check_scope(id => $webvar{recid}, type => 805 805 ($webvar{defrec} eq 'y' ? ($webvar{revrec} eq 'y' ? 'defrevrec' : 'defrec') : 'record'))) { 806 ##fixme: should we redirect to the requested record list page instead of the domain list? 806 807 changepage(page => 'domlist', errmsg => "You do not have permission to edit the requested SOA record"); 807 808 } … … 809 810 if (!check_scope(id => $webvar{id}, type => 810 811 ($webvar{defrec} eq 'y' ? 'group' : ($webvar{revrec} eq 'y' ? 'revzone' : 'domain')))) { 811 changepage(page => 'domlist', errmsg => "You do not have permission to edit the ". 812 changepage(page => ($webvar{revrec} eq 'y' ? 'revzones' : 'domlist'), 813 errmsg => "You do not have permission to edit the ". 812 814 ($webvar{defrec} eq 'y' ? 'default ' : '')."SOA record for the requested ". 813 ($webvar{defrec} eq 'y' ? 'group' : 'domain'));815 ($webvar{defrec} eq 'y' ? 'group' : ($webvar{revrec} eq 'y' ? 'reverse zone' : 'domain')) ); 814 816 } 815 817 … … 817 819 unless ($permissions{admin} || $permissions{domain_edit}); 818 820 819 # get old SOA for log820 my %soa = getSOA($dbh,$webvar{defrec},$webvar{revrec},$webvar{id});821 822 # my $sth;823 ###fixme: push SQL into DNSDB.pm824 ###fixme: data validation: make sure {recid} is really the SOA for {id}825 # # no domain ID, so we're editing the default SOA for a group (we don't care which one here)826 # # plus a bit of magic to update the appropriate table827 # my $sql = "UPDATE ".($webvar{defrec} eq 'y' ? "default_records" : "records").828 # " SET host=?, val=?, ttl=? WHERE record_id=?";829 # $sth = $dbh->prepare($sql);830 # $sth->execute("$webvar{contact}:$webvar{prins}",831 # "$webvar{refresh}:$webvar{retry}:$webvar{expire}:$webvar{minttl}",832 # $webvar{ttl},833 # $webvar{recid});834 835 821 my ($code, $msg) = updateSOA($dbh, $webvar{defrec}, $webvar{revrec}, 836 822 (contact => $webvar{contact}, prins => $webvar{prins}, refresh => $webvar{refresh}, 837 retry => $webvar{retry}, expire => $webvar{expire}, minttl => $ soa{minttl},838 ttl => $webvar{ttl}, recid => $webvar{recid}) );823 retry => $webvar{retry}, expire => $webvar{expire}, minttl => $webvar{minttl}, 824 ttl => $webvar{ttl}, id => $webvar{id}) ); 839 825 if ($code eq 'OK') { 840 826 changepage(page => "reclist", id => $webvar{id}, defrec => $webvar{defrec}, revrec => $webvar{revrec}, … … 842 828 } else { 843 829 $page->param(update_failed => 1); 844 $page->param(msg => $DNSDB::errstr); 845 fillsoa($webvar{defrec},$webvar{revrec},$webvar{id}); 846 } 847 848 ##fixme: faillog 849 # } else { 850 if (0) { 851 # do this in the order of "default to most common case" 852 my $loggroup; 853 my $logdomain = $webvar{id}; 854 if ($webvar{defrec} eq 'y') { 855 $loggroup = $webvar{id}; 856 $logdomain = 0; 857 } else { 858 $loggroup = parentID($dbh, (id => $logdomain, type => 'domain', revrec => $webvar{revrec})); 859 } 860 861 logaction($logdomain, $session->param("username"), $loggroup, 862 "Updated ".($webvar{defrec} eq 'y' ? 'default ' : '')."SOA for ". 863 ($webvar{defrec} eq 'y' ? groupName($dbh, $webvar{id}) : domainName($dbh, $webvar{id}) ). 864 ": (ns $soa{prins}, contact $soa{contact}, refresh $soa{refresh},". 865 " retry $soa{retry}, expire $soa{expire}, minTTL $soa{minttl}, TTL $soa{ttl}) to ". 866 "(ns $webvar{prins}, contact $webvar{contact}, refresh $webvar{refresh},". 867 " retry $webvar{retry}, expire $webvar{expire}, minTTL $webvar{minttl}, TTL $webvar{ttl})"); 868 } # if (0) 830 $page->param(msg => $msg); 831 fillsoa($webvar{defrec}, $webvar{revrec}, $webvar{id}, 'w'); 832 } 869 833 870 834 } elsif ($webvar{page} eq 'grpman') { … … 1723 1687 my $revrec = shift; 1724 1688 my $id = shift; 1689 my $preserve = shift || 'd'; # Flag to use webvar fields or retrieve from database 1690 1725 1691 my $domname = ($defrec eq 'y' ? '' : "DOMAIN"); 1726 1692 … … 1744 1710 $page->param(defminttl => $DNSDB::def{minttl}); 1745 1711 1746 # there are probably better ways to do this. TMTOWTDI.1747 my %soa = getSOA($dbh,$defrec,$revrec,$id);1748 1749 1712 $page->param(id => $id); 1750 $page->param(recid => $soa{recid}); 1751 $page->param(prins => ($soa{prins} ? $soa{prins} : $DNSDB::def{prins})); 1752 $page->param(contact => ($soa{contact} ? $soa{contact} : $DNSDB::def{contact})); 1753 $page->param(refresh => ($soa{refresh} ? $soa{refresh} : $DNSDB::def{refresh})); 1754 $page->param(retry => ($soa{retry} ? $soa{retry} : $DNSDB::def{retry})); 1755 $page->param(expire => ($soa{expire} ? $soa{expire} : $DNSDB::def{expire})); 1756 $page->param(minttl => ($soa{minttl} ? $soa{minttl} : $DNSDB::def{minttl})); 1757 $page->param(ttl => ($soa{ttl} ? $soa{ttl} : $DNSDB::def{soattl})); 1713 1714 if ($preserve eq 'd') { 1715 # there are probably better ways to do this. TMTOWTDI. 1716 my $soa = getSOA($dbh,$defrec,$revrec,$id); 1717 1718 $page->param(prins => ($soa->{prins} ? $soa->{prins} : $DNSDB::def{prins})); 1719 $page->param(contact => ($soa->{contact} ? $soa->{contact} : $DNSDB::def{contact})); 1720 $page->param(refresh => ($soa->{refresh} ? $soa->{refresh} : $DNSDB::def{refresh})); 1721 $page->param(retry => ($soa->{retry} ? $soa->{retry} : $DNSDB::def{retry})); 1722 $page->param(expire => ($soa->{expire} ? $soa->{expire} : $DNSDB::def{expire})); 1723 $page->param(minttl => ($soa->{minttl} ? $soa->{minttl} : $DNSDB::def{minttl})); 1724 $page->param(ttl => ($soa->{ttl} ? $soa->{ttl} : $DNSDB::def{soattl})); 1725 } else { 1726 $page->param(prins => ($webvar{prins} ? $webvar{prins} : $DNSDB::def{prins})); 1727 $page->param(contact => ($webvar{contact} ? $webvar{contact} : $DNSDB::def{contact})); 1728 $page->param(refresh => ($webvar{refresh} ? $webvar{refresh} : $DNSDB::def{refresh})); 1729 $page->param(retry => ($webvar{retry} ? $webvar{retry} : $DNSDB::def{retry})); 1730 $page->param(expire => ($webvar{expire} ? $webvar{expire} : $DNSDB::def{expire})); 1731 $page->param(minttl => ($webvar{minttl} ? $webvar{minttl} : $DNSDB::def{minttl})); 1732 $page->param(ttl => ($webvar{ttl} ? $webvar{ttl} : $DNSDB::def{soattl})); 1733 } 1758 1734 } 1759 1735 … … 1764 1740 1765 1741 # get the SOA first 1766 my %soa = getSOA($dbh,$def,$rev,$id);1767 1768 $page->param(contact => $soa {contact});1769 $page->param(prins => $soa {prins});1770 $page->param(refresh => $soa {refresh});1771 $page->param(retry => $soa {retry});1772 $page->param(expire => $soa {expire});1773 $page->param(minttl => $soa {minttl});1774 $page->param(ttl => $soa {ttl});1742 my $soa = getSOA($dbh,$def,$rev,$id); 1743 1744 $page->param(contact => $soa->{contact}); 1745 $page->param(prins => $soa->{prins}); 1746 $page->param(refresh => $soa->{refresh}); 1747 $page->param(retry => $soa->{retry}); 1748 $page->param(expire => $soa->{expire}); 1749 $page->param(minttl => $soa->{minttl}); 1750 $page->param(ttl => $soa->{ttl}); 1775 1751 1776 1752 my $foo2 = getDomRecs($dbh,$def,$rev,$id,$perpage,$webvar{offset},$sortby,$sortorder,$filter); … … 1820 1796 } 1821 1797 # retrieve the right ttl instead of falling (way) back to the hardcoded system default 1822 my %soa = getSOA($dbh,$webvar{defrec},$webvar{revrec},$webvar{parentid});1823 $page->param(ttl => ($webvar{ttl} ? $webvar{ttl} : $soa {minttl}));1798 my $soa = getSOA($dbh,$webvar{defrec},$webvar{revrec},$webvar{parentid}); 1799 $page->param(ttl => ($webvar{ttl} ? $webvar{ttl} : $soa->{minttl})); 1824 1800 } 1825 1801
Note:
See TracChangeset
for help on using the changeset viewer.