/[cvs]/nfo/perl/libs/Data/Storage/Handler/NetLDAP/Extensions.pm
ViewVC logotype

Annotation of /nfo/perl/libs/Data/Storage/Handler/NetLDAP/Extensions.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Mon Jan 20 16:47:08 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
+ initial check-in: refactored from code in Torus::Driver::ldap and/or Data::Storage::Handler::NetLDAP

1 joko 1.1 ## ------------------------------------------------------------------------
2     ## $Id$
3     ## ------------------------------------------------------------------------
4     ## $Log$
5     ## ------------------------------------------------------------------------
6    
7    
8     package Data::Storage::Handler::NetLDAP::Extensions;
9    
10     use strict;
11     use warnings;
12    
13     use mixin::with qw( Data::Storage::Handler::NetLDAP );
14    
15    
16     use Data::Dumper;
17     use Net::LDAP;
18     use Net::LDAP::Entry;
19    
20     # get logger instance
21     my $logger = Log::Dispatch::Config->instance;
22    
23    
24     sub createDn {
25    
26     my $self = shift;
27    
28     my $identifierDn = shift;
29    
30     $logger->info( __PACKAGE__ . "->createDn: " . $identifierDn->getContent() );
31    
32     #print Dumper($identifierDn);
33    
34     =pod
35     my $dn = shift;
36    
37     print "orig-dn: $dn", "\n";
38    
39     $dn =~ m/ou=([\w|\.]+?)[,|].*/;
40     my $ou = $1;
41     #print "ou: '$ou'", "\n";
42    
43     my $basedn = $dn;
44     $basedn =~ s/ou=$ou, //;
45     #print "basedn: $basedn", "\n";
46     #exit;
47     =cut
48    
49     #print "checking ou: (basedn='$basedn', ou='$ou')", "\n" if $DEBUGLEVEL > 3;
50     #my $basedn = $self->{options}->{
51     #my $basedn = "abc";
52    
53     return $self->_createDn($identifierDn);
54    
55     }
56    
57     sub _createDn {
58     my $self = shift;
59     #my $dn = shift;
60     #my $ou = shift;
61     my $identifierDn = shift;
62    
63     my $dn = $identifierDn->asString();
64    
65     my $DNs = $identifierDn->getAllRelativeDNs();
66    
67     #print Dumper($DNs);
68     #exit;
69    
70     my $core = $self->getCOREHANDLE();
71    
72     foreach my $dnItem (@$DNs) {
73    
74     #print Dumper($dnItem);
75    
76     my $entry = Net::LDAP::Entry->new();
77     $entry->dn($dnItem->{full});
78    
79     $entry->add(
80     $identifierDn->getType() => $dnItem->{name},
81     objectClass => $identifierDn->getClassName(),
82     );
83    
84     #print Dumper($identifierDn);
85     #print Dumper($entry);
86    
87     my $result = $entry->update($core);
88    
89     }
90    
91     #return $result;
92     #return $dn;
93    
94     return 1;
95    
96     }
97    
98     1;

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed