package ISPMan::DNSMan::CNAMES;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $Config);
require Exporter;
@ISA = qw(Exporter AutoLoader);
@EXPORT = qw(
editcnames
addcname
modifycnames
);
$VERSION = '0.01';
use ISPMan::Config;
$Config=ISPMan::Config->new();
sub editcnames {
my $self=shift;
my $r=shift;
my $dn=$r->param("dn");
my ($entry)=$self->{'ldap'}->getEntry($dn);
print $r->param('domain'), "::CNAMES
";
print qq|
Alias
|
Hostname
|
\n
|;
my @records=$entry->get_value("record");
if (@records) {
print qq|
";
}
sub modifycnames {
my $self=shift;
my $r=shift;
my $dn=$r->param("dn");
my (@aliases, @hosts);
for ($r->param("host")) {
push @hosts, $_ if /\S/;
}
for ($r->param("alias")) {
push @aliases, $_ if /\S/;
}
my @records=map{"$aliases[$_], $hosts[$_]"}0..$#hosts;
$r->param("record", \@records);
$self->{'ldap'}->updateEntry($r);
$self->editcnames($r);
}
sub addcname {
my $self=shift;
my $r=shift;
if ($r->param("host")){
my $record=join ',', ($r->param("host"), $r->param("alias"));
$r->param("record", $record);
$self->{'ldap'}->addEntry($r);
}
$self->editcnames($r);
}
1;
__END__