Skip to content

Commit

Permalink
Merge pull request #172 from mariux64/fix-fon-sort
Browse files Browse the repository at this point in the history
fon.pl: small changes to fon.sh
  • Loading branch information
wwwutz authored Apr 23, 2021
2 parents c55ba40 + 1beb1fa commit 02998d0
Showing 1 changed file with 15 additions and 17 deletions.
32 changes: 15 additions & 17 deletions fon/fon.pl
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
use Encode;
use utf8;

binmode(STDOUT, ":utf8");
binmode( STDOUT, ":utf8" );

my %multichar;
my %escapechar;

my $cache = 'ldap.dump';
my $cache = 'ldap.dump';
my $USECACHE = 0;

my %L;
Expand All @@ -21,23 +21,22 @@

get_ldap_addressbook( \%L );

for my $l ( sort { lc( $L{$a}->{sn} ) cmp lc( $L{$b}->{sn} ) } keys %L ) {
for my $l ( sort { lc s2a( $L{$a}->{sn}[0] ) cmp lc s2a( $L{$b}->{sn}[0] ) } keys %L ) {
if ( match_entry( $SRCH, $L{$l} ) >= 0 ) {
push_entry( $L{$l} );
}
}

my @order = ( 'name', 'room', 'fone', 'mail' );

exit unless exists($O{name});
exit unless exists( $O{name} );

my $e = scalar( @{ $O{name} } ) - 1 ;
my $e = scalar( @{ $O{name} } ) - 1;

for my $i ( 0 .. $e ) {

for my $k (@order) {
printf "%-*s ",$M{$k}, $O{$k}[$i];
# print substr( $O{$k}[$i] . ( '.' x $M{$k}) , 0, $M{$k} ) . ' ';
printf "%-*s ", $O{ $k . '_l' }, $O{$k}[$i];
}
printf "\n";

Expand All @@ -63,7 +62,7 @@ sub simplify {
}

sub len {
return length(Encode::encode_utf8(shift));
return length( Encode::encode_utf8(shift) );
}

sub push_entry {
Expand All @@ -73,23 +72,22 @@ sub push_entry {
$t = join( '/', @{ $e->{sn} } ) . ", " . join( '/', @{ $e->{givenName} } );
$l = len($t);
push @{ $O{name} }, $t;
$l > ( $M{name} || 0 ) and $M{name} = $l;
$l > ( $O{name_l} || 0 ) and $O{name_l} = $l;


$t = join( '/', map {s/\(.*?\)|Betriebsarztraum|\s+//g;$_} @{ $e->{roomNumber} } );
$t = join( '/', map { s/\(.*?\)|Betriebsarztraum|\s+//g; $_ } @{ $e->{roomNumber} } );
$l = len($t);
push @{ $O{room} }, $t;
$l > ( $M{room} || 0 ) and $M{room} = $l;
$l > ( $O{room_l} || 0 ) and $O{room_l} = $l;

$t = join( '/', map {s/\(.*?\)|\s+//g;s/\+49/0/;$_} @{ $e->{telephoneNumber} } );
$t = join( '/', map { s/\(.*?\)|\s+//g; s/\+49/0/; $_ } @{ $e->{telephoneNumber} } );
$l = len($t);
push @{ $O{fone} }, $t;
$l > ( $M{fone} || 0 ) and $M{fone} = $l;
$l > ( $O{fone_l} || 0 ) and $O{fone_l} = $l;

$t = join( ', ', map {s/molgen\.mpg\.de//g;$_} @{ $e->{mail} } );
$t = join( ', ', map { s/molgen\.mpg\.de//g; $_ } @{ $e->{mail} } );
$l = len($t);
push @{ $O{mail} }, $t;
$l > ( $M{mail} || 0 ) and $M{mail} = $l;
$l > ( $O{mail_l} || 0 ) and $O{mail_l} = $l;
}

sub exec_ldapsearch {
Expand Down Expand Up @@ -144,7 +142,7 @@ sub get_ldap_addressbook {
}
map {
if ( my ( $op, $v ) = $l =~ m{^$_(::?)\s*(.+)} ) {
$op eq '::' and $v = decode('utf8',decode_base64($v));
$op eq '::' and $v = decode( 'utf8', decode_base64($v) );
die "$uid -> $_\n" unless defined($v);
push @{ $$L{$uid}->{$_} }, $v;
}
Expand Down

0 comments on commit 02998d0

Please sign in to comment.