- LSldap : contournement d'un bug (Net_LDAP2/Php) concernant la suppression d'un
authorBenjamin Renard <brenard@easter-eggs.com>
Mon, 13 Oct 2008 11:37:34 +0000 (11:37 +0000)
committerBenjamin Renard <brenard@easter-eggs.com>
Mon, 13 Oct 2008 11:37:34 +0000 (11:37 +0000)
attribut

trunk/includes/class/class.LSldap.php
trunk/modify.php

index 1fb9885..5a96ff1 100644 (file)
@@ -303,7 +303,10 @@ class LSldap {
       else {
         if (!empty($dropAttr)) {
           foreach($dropAttr as $attr) {
-            $entry -> delete($attr);
+            // Méthode buggé : suppression impossible de certain attribut
+            // exemple : jpegPhoto
+            // $entry -> delete($attr);
+            $entry -> replace(array($attr =>array()));
           }
           $ret = $entry -> update();
           if (Net_LDAP2::isError($ret)) {
index 252aa02..921a7fa 100644 (file)
@@ -53,8 +53,11 @@ if($LSsession -> startLSsession()) {
           if ($form->validate()) {
             // MàJ des données de l'objet LDAP
             if ($object -> updateData('modify')) {
-              $GLOBALS['LSsession'] -> addInfo(_("L'objet a bien été modifié."));
+              if ($GLOBALS['LSerror']->errorsDefined()) {
+                $GLOBALS['LSsession'] -> addInfo(_("L'objet a été modifié partiellement."));
+              }
               if ((!LSdebugDefined()) && !$GLOBALS['LSerror']->errorsDefined()) {
+                $GLOBALS['LSsession'] -> addInfo(_("L'objet a bien été modifié."));
                 $GLOBALS['LSsession'] -> redirect('view.php?LSobject='.$LSobject.'&dn='.$object -> getDn());
               }
             }