From 29c5a66d25d96b3439e4f8893717752ea2bdfec5 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Sun, 15 Sep 2013 23:47:21 +0200 Subject: [PATCH] Really do an update for user --- process/ldap/update_group.pl | 99 +++++++++++++++++++++++++++++------- 1 file changed, 81 insertions(+), 18 deletions(-) diff --git a/process/ldap/update_group.pl b/process/ldap/update_group.pl index eeb3582..3ef58f7 100644 --- a/process/ldap/update_group.pl +++ b/process/ldap/update_group.pl @@ -122,24 +122,87 @@ sub user_update($$) my $dn = shift; my $args = shift; - LDAP::update_attribute($ldap, $dn, "cn", $args->{param}{cn}) if ($args->{param}{cn}); - LDAP::update_attribute($ldap, $dn, "cn", $args->{param}{firstname}." ".$args->{param}{lastname}) if ($args->{param}{firstname} && $args->{param}{lastname}); - LDAP::update_attribute($ldap, $dn, "l", $args->{param}{l}) if ($args->{param}{l}); - LDAP::update_attribute($ldap, $dn, "mail", $args->{param}{mail}) if ($args->{param}{mail}); - LDAP::update_attribute($ldap, $dn, "postalAddress", $args->{param}{postalAddress}) if ($args->{param}{postalAddress}); - LDAP::update_attribute($ldap, $dn, "postalAddress", $args->{param}{postaladdress}) if ($args->{param}{postaladdress}); - LDAP::update_attribute($ldap, $dn, "postalCode", $args->{param}{postalCode}) if ($args->{param}{postalCode}); - LDAP::update_attribute($ldap, $dn, "postalCode", $args->{param}{postalcode}) if ($args->{param}{postalcode}); - LDAP::update_attribute($ldap, $dn, "sn", $args->{param}{sn}) if ($args->{param}{sn}); - LDAP::update_attribute($ldap, $dn, "telephoneNumber", $args->{param}{telephoneNumber}) if ($args->{param}{telephoneNumber}); - LDAP::update_attribute($ldap, $dn, "telephoneNumber", $args->{param}{telephonenumber}) if ($args->{param}{telephonenumber}); - LDAP::update_attribute($ldap, $dn, "strongAuthKey", $args->{param}{strongAuthKey}) if ($args->{param}{strongAuthKey}); - LDAP::update_attribute($ldap, $dn, "strongAuthKey", $args->{param}{strongauthkey}) if ($args->{param}{strongauthkey}); - LDAP::update_attribute($ldap, $dn, "c", $args->{param}{c}) if ($args->{param}{c}); - LDAP::update_attribute($ldap, $dn, "title", $args->{param}{title}) if ($args->{param}{title}); - LDAP::update_attribute($ldap, $dn, "intraTheme", $args->{param}{intraTheme}) if ($args->{param}{intraTheme}); - LDAP::update_attribute($ldap, $dn, "intraTheme", $args->{param}{intratheme}) if ($args->{param}{intratheme}); - LDAP::update_attribute($ldap, $dn, "birthdate", $args->{param}{birthdate}) if ($args->{param}{birthdate}); + if ($args->{param}{cn}) { + LDAP::update_attribute($ldap, $dn, "cn", $args->{param}{cn}); + } elsif ($args->{param}{firstname} && $args->{param}{lastname}) { + LDAP::update_attribute($ldap, $dn, "cn", $args->{param}{firstname}." ".$args->{param}{lastname}); + } + + if ($args->{param}{l}) { + LDAP::update_attribute($ldap, $dn, "l", $args->{param}{l}); + } else { + LDAP::delete_attribute($ldap, $dn, "l"); + } + + if ($args->{param}{mail}) { + LDAP::update_attribute($ldap, $dn, "mail", $args->{param}{mail}); + } else { + LDAP::delete_attribute($ldap, $dn, "mail"); + } + + if ($args->{param}{postalAddress}) { + LDAP::update_attribute($ldap, $dn, "postalAddress", $args->{param}{postalAddress}); + } elsif ($args->{param}{postaladdress}) { + LDAP::update_attribute($ldap, $dn, "postalAddress", $args->{param}{postaladdress}); + } else { + LDAP::delete_attribute($ldap, $dn, "postalAddress"); + } + + if ($args->{param}{postalCode}) { + LDAP::update_attribute($ldap, $dn, "postalCode", $args->{param}{postalCode}); + } elsif ($args->{param}{postalcode}) { + LDAP::update_attribute($ldap, $dn, "postalCode", $args->{param}{postalcode}); + } else { + LDAP::delete_attribute($ldap, $dn, "postalCode"); + } + + if ($args->{param}{sn}) { + LDAP::update_attribute($ldap, $dn, "sn", $args->{param}{sn}); + } else { + LDAP::delete_attribute($ldap, $dn, "sn"); + } + + if ($args->{param}{telephoneNumber}) { + LDAP::update_attribute($ldap, $dn, "telephoneNumber", $args->{param}{telephoneNumber}); + } elsif ($args->{param}{telephonenumber}) { + LDAP::update_attribute($ldap, $dn, "telephoneNumber", $args->{param}{telephonenumber}); + } else { + LDAP::delete_attribute($ldap, $dn, "telephoneNumber"); + } + + if ($args->{param}{strongAuthKey}) { + LDAP::update_attribute($ldap, $dn, "strongAuthKey", $args->{param}{strongAuthKey}); + } elsif ($args->{param}{strongauthkey}) { + LDAP::update_attribute($ldap, $dn, "strongAuthKey", $args->{param}{strongauthkey}); + } else { + LDAP::delete_attribute($ldap, $dn, "strongAuthKey"); + } + + if ($args->{param}{c}) { + LDAP::update_attribute($ldap, $dn, "c", $args->{param}{c}); + } else { + LDAP::delete_attribute($ldap, $dn, "c"); + } + + if ($args->{param}{title}) { + LDAP::update_attribute($ldap, $dn, "title", $args->{param}{title}); + } else { + LDAP::delete_attribute($ldap, $dn, "title"); + } + + if ($args->{param}{intraTheme}) { + LDAP::update_attribute($ldap, $dn, "intraTheme", $args->{param}{intraTheme}); + } elsif ($args->{param}{intratheme}) { + LDAP::update_attribute($ldap, $dn, "intraTheme", $args->{param}{intratheme}); + } else { + LDAP::delete_attribute($ldap, $dn, "intraTheme"); + } + + if ($args->{param}{birthdate}) { + LDAP::update_attribute($ldap, $dn, "birthdate", $args->{param}{birthdate}); + } else { + LDAP::delete_attribute($ldap, $dn, "birthdate"); + } } sub alert_mail($$$$@)