Code

Added FAIstate to faiManagement
[gosa.git] / plugins / personal / environment / class_environment.inc
index 39ff5e2006251682d3fb770dd0323be24d6e3e61..59be3400076a91950515821d18d0080fc69d1d98 100644 (file)
@@ -799,7 +799,6 @@ class environment extends plugin
 
     /* Als smarty vars are set. Get smarty template and generate output */
     $display.= $smarty->fetch(get_template_path('environment.tpl', TRUE,dirname(__FILE__)));
-    
     return($display);
   }
 
@@ -830,7 +829,7 @@ class environment extends plugin
     $this->cleanup();
     $ldap->modify ($this->attrs); 
 
-    show_ldap_error($ldap->get_error(), _("Removing environment information failed"));
+    show_ldap_error($ldap->get_error(), sprintf(_("Removing of user/environment account with dn '%s' failed."),$this->dn));
 
     /* Optionally execute a command after we're done */
     $this->handle_post_events("remove");
@@ -974,20 +973,34 @@ class environment extends plugin
 
       /* Remove normal entries (User)*/
       if(isset($attr['goto'.$s_suffix.'Printer'])) {
+        unset($attr['goto'.$s_suffix.'Printer']['count']);
         foreach($attr['goto'.$s_suffix.'Printer'] as $key => $user){
           if($this->uid==$user){
             unset($attr['goto'.$s_suffix.'Printer'][$key]);
           }
-        }    
+        }
+        $tmp = array();
+        foreach($attr['goto'.$s_suffix.'Printer'] as $user){
+          $tmp[] = $user;
+        }
+        $attr['goto'.$s_suffix.'Printer'] = array();  
+        $attr['goto'.$s_suffix.'Printer'] = $tmp;
       }
 
       /* Remove administrational entries (Admin)*/
       if(isset($attr['goto'.$s_suffix.'AdminPrinter'])){
+        unset($attr['goto'.$s_suffix.'AdminPrinter']['count']);
         foreach($attr['goto'.$s_suffix.'AdminPrinter'] as $key => $user){
           if($this->uid==$user){
             unset($attr['goto'.$s_suffix.'AdminPrinter'][$key]);
           }
         }    
+        $tmp = array();
+        foreach($attr['goto'.$s_suffix.'AdminPrinter'] as $user){
+          $tmp[] = $user;
+        }
+        $attr['goto'.$s_suffix.'AdminPrinter'] = array();  
+        $attr['goto'.$s_suffix.'AdminPrinter'] = $tmp;
       }
 
       /* Extract useable tags, to be able to save all changes 
@@ -1018,12 +1031,11 @@ class environment extends plugin
 
       /* Save changes */
       $ldap->cd($attr['dn']);
+      $dn = $attr['dn'];
       unset($attr['dn']);
-$ldap->modify ($attr); 
-
-      if($ldap->get_error()!="Success"){
-        print_red(_("Error while writing printer")." : ".$ldap->get_error());
-      }
+        
+      $ldap->modify ($attr); 
+      show_ldap_error($ldap->get_error(),sprintf(_("Saving printer membership with dn %s failed "),$dn));
     }
 
     /* All printers are cleaned, (our cn/uid removed) 
@@ -1162,7 +1174,7 @@ $ldap->modify ($attrs);
     $ldap->cd($this->dn);
     $this->cleanup();
     $ldap->$mode($this->attrs);
-    show_ldap_error($ldap->get_error(), _("Adding environment information failed"));
+    show_ldap_error($ldap->get_error(), sprintf(_("Saving of user/environment account with dn '%s' failed."),$this->dn));
     $this->handle_post_events($mode);
   }
 
@@ -1180,6 +1192,7 @@ $ldap->modify ($attrs);
           $a_return[$share['name']."|".$share['server']]= $share['server']."://".$share['name']." on ".$share['mountPoint']." as ".$share['Username'];
         }
       }
+      natcasesort($a_return);
     }
     return($a_return);
   }