X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=mutt-licom.pl;h=e7fbcbdd71062e3828e855d48baee4f7111fa5dc;hb=HEAD;hp=07e669c974b51bef1410600d17a7aa62069dcae2;hpb=04c295d0621018f6ee4769054001be61aadac7ff;p=licom.git diff --git a/mutt-licom.pl b/mutt-licom.pl index 07e669c..e7fbcbd 100755 --- a/mutt-licom.pl +++ b/mutt-licom.pl @@ -2,15 +2,42 @@ use strict; use warnings; -use lib (qw(lib)); + +use FindBin (qw($Bin)); +use lib ("$Bin/lib"); use LiCoM::Config (qw(get_config)); use LiCoM::Person; -our $Config = get_config (); +our $Config; + +if (-e $ENV{'HOME'} . '/.licomrc') +{ + $Config = get_config ($ENV{'HOME'} . '/.licomrc'); +} +elsif (-e '/etc/licom/licom.conf') +{ + $Config = get_config ('/etc/licom/licom.conf'); +} +else +{ + $Config = get_config (); +} + +if ($ENV{'DEBUG'}) +{ + require Data::Dumper; + print STDERR Data::Dumper->Dump ([$Config], ['Config']); +} -die unless (defined ($Config->{'uri'}) and defined ($Config->{'bind_dn'}) - and defined ($Config->{'password'})); +unless (defined ($Config->{'uri'}) and defined ($Config->{'bind_dn'}) + and defined ($Config->{'password'})) +{ + die (<{'base_dn'} = $Config->{'bind_dn'} unless (defined ($Config->{'base_dn'})); @@ -40,15 +67,19 @@ our @Matches = LiCoM::Person->search (@Patterns, [[mail => '*']]); print STDOUT scalar (@Matches), ' ', (scalar (@Matches) == 1 ? 'entry' : 'entries'), " found.\n"; -for (@Matches) +for (sort { $a->name () cmp $b->name () } (@Matches)) { my $person = $_; my $cn = $person->name (); my @mail = $person->get ('mail'); + my @groups = $person->get ('group'); + my $info = join (', ', sort (@groups)); + + $info = "($info)" if ($info); - for (@mail) + for (sort (@mail)) { - print "$_\t$cn\tFound by LiCoM\n"; + print "$_\t$cn\t$info\n"; } }