From 5dd3d8d080b56d742de3c4b4782cfcde72c3f16f Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Sat, 28 Apr 2012 02:21:57 +0200 Subject: Updating the library to the new LDAP schema. --- lib/Fripost/Schema/Utils.pm | 76 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 lib/Fripost/Schema/Utils.pm (limited to 'lib/Fripost/Schema/Utils.pm') diff --git a/lib/Fripost/Schema/Utils.pm b/lib/Fripost/Schema/Utils.pm new file mode 100644 index 0000000..382da1c --- /dev/null +++ b/lib/Fripost/Schema/Utils.pm @@ -0,0 +1,76 @@ +package Fripost::Schema::Utils; + +use 5.010_000; +use warnings; +use strict; + +our $VERSION = '0.01'; + + +####################################################################### + +sub mkDN { + my $config = shift; + + my ($user, $domain) = split /\@/, $_[0], 2; + + my $dn; + if (defined $domain) { + $dn = join ',', ( 'uid='. $user + , 'dc='. $domain + , $config->{base_dn} ); + } + elsif (defined $user) { + $dn = join ',', ( 'dc='. $user + , $config->{base_dn} ); + } + else { + $dn = $config->{base_dn}; + } + return $dn; +} + +sub fromDN { + my ($u,$d) = split /,/, $_[0], 3; + join '@', ( map { (split /=/, $_, 2)[1] } ($u,$d) ); +} + +sub mkAndFilter { + my @filters = @_; + + my $filter; + if ($#filters == 0) { + $filter = $filters[0]; + } + elsif ($#filters > 0) { + $filter = "(&" . (join '', @filters) . ")"; + } +} + + +####################################################################### + +1; + +=head1 NAME + +Fripost::Schema::Type::User - + +=head1 AUTHOR + +Guilhem Moulin C<< >> + +=head1 COPYRIGHT + +Copyright 2012 Guilhem Moulin, all rights reserved. + +=head1 LICENSE + +This program is free software; you can redistribute it and/or modify it +under the same terms as perl itself. + +=cut + +1; # End of Utils.pm + +__END__ -- cgit v1.2.3