ispman/lib/ISPMan DomainMan.pm,1.90,1.91
Joerg Delker <[email protected]> Sun, 21 Dec 2008 16:17:01 +0000
| Newsgroups | gmane.comp.isp.ispman.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ispman/ispman/lib/ISPMan
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv32584/lib/ISPMan
Modified Files:
DomainMan.pm
Log Message:
fixed [ 2213932 ] Allow nodns/slave domains to be changed to to other types
(Thanks to Fabio Morselli)
Index: DomainMan.pm
===================================================================
RCS file: /cvsroot/ispman/ispman/lib/ISPMan/DomainMan.pm,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -d -r1.90 -r1.91
--- DomainMan.pm 19 Apr 2007 21:30:23 -0000 1.90
+++ DomainMan.pm 21 Dec 2008 16:16:59 -0000 1.91
@@ -529,13 +529,32 @@
sub genericModifyDomain {
my $self = shift;
my ($r) = shift;
- my $ispmanDomainType = shift;
+ my $oldDomainType=shift;
+ my $newDomainType=$r->param("ispmanDomainType");
my $domain = $r->param("ispmanDomain");
my $domain_info = $self->getDomainInfo($domain);
my $dn = $self->makeDomainDN($domain);
my $data;
+ my $ispmanDomainType;
+ if ($newDomainType and ($newDomainType ne $oldDomainType)) {
+ my $ou={
+ 'primary' => ["dnszone"],
+ 'slave' => [],
+ 'nodns' => [],
+ 'replica' => [],
+ };
+
+ for $ou (@{$ou->{$newDomainType}}){
+ $self->addDataFromLdif("templates/domain.$ou.ldif.template", $r);
+ }
+
+ $ispmanDomainType=$newDomainType;
+ } else {
+ $ispmanDomainType=$oldDomainType;
+ }
+
$data->{'ispmanDomainType'} = $ispmanDomainType;
if ( $ispmanDomainType ne "replica" ) {
@@ -653,7 +672,12 @@
}
}
- }
+ }
+ unless ($ispmanDomainType eq $oldDomainType) {
+ # reload named
+ $self->addDomainDNSProcess($domain, "modifyDomain");
+
+ }
return 1;
}
}
------------------------------------------------------------------------------