Code

Updated workstation and environment plugins to handle shares correctly
[gosa.git] / plugins / personal / posix / class_posixAccount.inc
index 12d537833164c42d3b1734b84183fabd00a47078..6a66a4f6cc7e9f39e6c7904906a8460a25759fa1 100644 (file)
@@ -230,14 +230,15 @@ class posixAccount extends plugin
           $obj= $this->parent->by_object['sambaAccount'];
         }
         if (isset($obj) && $obj->is_account == TRUE &&
-            isset($this->parent->by_object['sambaAccount'])){
+             ((isset($this->parent->by_object['sambaAccount']))&&($this->parent->by_object['sambaAccount']->is_account))
+                       ||(isset($this->parent->by_object['environment'] ))&&($this->parent->by_object['environment'] ->is_account)){
 
           /* Samba3 dependency on posix accounts are enabled
              in the moment, because I need to rely on unique
              uidNumbers. There'll be a better solution later
              on. */
           $display= $this->show_header(_("Remove posix account"),
-              _("This account has unix features enabled. To disable them, you'll need to remove the samba account first."), TRUE);
+              _("This account has unix features enabled. To disable them, you'll need to remove the samba / environment account first."), TRUE);
         } else {
           $display= $this->show_header(_("Remove posix account"),
               _("This account has posix features enabled. You can disable them by clicking below."));
@@ -668,6 +669,7 @@ class posixAccount extends plugin
   /* Save data to LDAP, depending on is_account we save or delete */
   function save()
   {
+       
     /* include global link_info */
     $ldap= $this->config->get_ldap_link();
 
@@ -748,7 +750,10 @@ class posixAccount extends plugin
 
     /* Fill gecos */
     if (isset($this->parent) && $this->parent != NULL){
-      $this->gecos= $this->parent->by_object['user']->cn;
+      $this->gecos= rewrite($this->parent->by_object['user']->cn);
+         if (!preg_match('/[a-z0-9 -]/i', $this->gecos)){
+                 $this->gecos= "";
+         }
     }
 
     /* Call parents save to prepare $this->attrs */
@@ -783,6 +788,10 @@ class posixAccount extends plugin
       $thid->attrs['gosaDefaultPrinter']=array();
     }
 
+       foreach(array("shadowMin","shadowMax","shadowWarning","shadowInactive") as $attr){
+               $this->attrs[$attr] = (int) $this->attrs[$attr];
+       }
+
     /* Save data to LDAP */
     $ldap->cd($this->dn);
     $ldap->modify($this->attrs);
@@ -931,15 +940,6 @@ class posixAccount extends plugin
     return ($message);
   }
 
-
-  /* Add posix user to some groups */
-  function addGroup2 ($groups){
-    print "Haleluja".$groups;
-    print_a($this->groupMembership);
-    $this->groupMembership[$this->glist[$groups]['dn']]= $this->glist[$groups]['cn'][0];
-  }
-  
-
   function addGroup ($groups)
   {
     /* include global link_info */