Jetzt geht das Force-Flag wirklich (z.B. zum Anlegen eines Accounts, wenn cms
authorheiko
Wed, 19 Jul 2006 19:38:54 +0000
branchcms
changeset 18 e3710b49e8e4
parent 17 a4afc54e4b34
child 19 b55840a1ed97
Jetzt geht das Force-Flag wirklich (z.B. zum Anlegen eines Accounts, wenn trotzdem schon mehrfach mail=... existiert.)
account.pm
--- a/account.pm	Wed Jul 19 12:09:36 2006 +0000
+++ b/account.pm	Wed Jul 19 19:38:54 2006 +0000
@@ -84,11 +84,13 @@
 
     die "Need user name for creation\n" if not @ARGV;
     my $user = shift @ARGV;
+    my $mailPrimaryAddress = $Cf->primary || $user;	    # evtl. mit !
+    my $mailAddress = [$user, split /,/, $Cf->other || ""]; # ditto
+
+    $user =~ s/!$//;					    # jetzt können wir ! nicht mehr brauchn
     my $mbox = "user/$user";
     my $cn = $Cf->fullname || $user;
     my $sn = (reverse split " ", $cn)[0];
-    my $mailPrimaryAddress = $Cf->primary || $user;
-    my $mailAddress = [$user, split /,/, $Cf->other || ""];
     my $mailGroup = [split /,/, $Cf->group || ""];
     my $mailForwardingAddress = [split /,/, $Cf->forward || ""];
     my $pw = _mkpw($Cf->password || "{pwgen}");
@@ -116,12 +118,13 @@
     if ($e->exists("mail") || $e->exists(AT_PRIMARYADDRESS) || $e->exists("userPassword")) {
 	verbose "exists\n";
     } else {
+    FORCE:
 
 	# Bevor wir ans Werk gehen, noch ein paar Tests (mailPrimaryAddress und mail darf
-	# darf noch nicht vergeben sein)
+	# noch nicht vergeben sein)
 	foreach my $a ($mailPrimaryAddress, @$mailAddress) {
 	    $a =~ s/!$// and next;   # wenn ein ! am Ende steht, dann ist es so gewollt und wird
-				    # nicht geprüft
+				     # nicht geprüft
 	    $r = $ldap->search(filter => "(mail=$a)", base => $ubase);
 	    die $r->error if $r->code;
 	    die "$a ist schon vergeben\n" if $r->count;