return (1);
+sub new
+{
+ my $pkg = shift;
+ my $entry = shift;
+ my $obj = {};
+
+ $obj->{'dn'} = $entry->dn ();
+ $obj->{'ldap'} = $entry;
+
+ for (keys %ValidFields)
+ {
+ my $key = $_;
+ $obj->{$key} = $entry->get_value ($key, asref => $ValidFields{$key});
+ }
+
+ return (bless ($obj, $pkg));
+}
+
=head1 STATIC FUNCTIONS
=over 4
my %hash = @_;
my $entry = Net::LDAP::Entry->new ();
my $dn;
+ my $ou;
- $entry->add (objectClass => [qw(top organizationalUnit person organizationalPerson inetOrgPerson)]);
+ $entry->add (objectClass => [qw(person organizationalPerson inetOrgPerson)]);
for (keys %hash)
{
}
$dn = "cn=$sn $gn," . get_config ('base_dn');
+ ($ou) = get_config ('base_dn') =~ m/\bou\s*=\s*([^,]+)/i;
- $entry->add (cn => "$sn $gn");
+ $entry->add (cn => "$sn $gn", ou => $ou);
$entry->dn ($dn);
$entry->changetype ('add');
=item I<$obj>-E<gt>B<uri> ([I<@uri>])
-=item I<$obj>-E<gt>B<group> ([I<@groups>])
-
Get or set the attribute. This is the same as calling S<I<$obj>-E<gt>B<set>
(I<$field>, I<\@values>)> or S<I<$obj>-E<gt>B<get> (I<$field>)>.
}
if (!defined ($ValidFields{$field}))
{
- return (undef);
+ return;
}
if (defined ($value))
$entry->update ($Ldap);
}
- $obj->{$field} = [] unless (defined ($obj->{$field}));
+ if (!defined ($obj->{$field}) and $ValidFields{$field})
+ {
+ $obj->{$field} = [];
+ }
if (wantarray () and $ValidFields{$field})
{