Code

next one
[gosa.git] / plugins / personal / samba / class_sambaAccount.inc
index 2fc31e6f52ebeac3e7d35cbe809ac2a5c050c301..60d6977b34b8c1b886290aa4ebb46732ff7d5b79 100644 (file)
@@ -189,7 +189,7 @@ class sambaAccount extends plugin
     }
     /* Do we represent a valid account? */
     if (!$this->is_account && $this->parent == NULL){
-      $display= "<img src=\"images/stop.png\" align=center>&nbsp;<b>".
+      $display= "<img alt=\"\"src=\"images/stop.png\" align=\"middle\">&nbsp;<b>".
         _("This account has no samba extensions.")."</b>";
       $display.= back_to_main();
       return ($display);
@@ -431,6 +431,8 @@ class sambaAccount extends plugin
               $smarty->assign("$attr", "");
             }
           }
+        } else {
+          $smarty->assign("$attr", "");
         }
         $smarty->assign("$attr"."ACL", chkacl($this->acl, $attr));
       }
@@ -495,37 +497,54 @@ class sambaAccount extends plugin
       $smarty->assign("$val"."ACL", chkacl($this->acl,$val));
     }
 
-    /* Checkboxes */
-    foreach(array(  
-              "N" => "no_password_required",
-              "D" => "temporary_disable",
-              "L" => "automatically_disable") 
-          as $key => $val){
-      if (is_integer(strpos($this->sambaAcctFlags, "$key"))) {
-        $smarty->assign("flags$key", "checked");
-      } else {
-        $smarty->assign("flags$key", "");
-      }
-      $smarty->assign("$val"."ACL", chkacl($this->acl, "$val"));
+    
+    /* 'sambaAcctFlags' checkboxes */
+    /* Check for 'lock-account'-flag: 'D' or 'L' */
+    if (is_integer(strpos($this->sambaAcctFlags, "D")) ||
+        is_integer(strpos($this->sambaAcctFlags, "L"))) {
+        $smarty->assign("flagsD", "checked");
+    } else {
+        $smarty->assign("flagsD", "");
     }
+    
+    /* Check for no_password_required flag 'N' */
+    if (is_integer(strpos($this->sambaAcctFlags, "N"))) {
+        $smarty->assign("flagsN", "checked");
+    } else {
+        $smarty->assign("flagsN", "");
+    }
+
+    /* 'normal' Checkboxes */
     if ($this->pwdCanChange=="1"){
       $smarty->assign("flagsP", "checked");
+    } else {
+      $smarty->assign("flagsP", "");
     }
     if ($this->password_expires=="1"){
       $smarty->assign("flagsC", "checked");
+    } else {
+      $smarty->assign("flagsC", "");
     }
     if ($this->logon_time_set=="1"){
       $smarty->assign("flagsT", "checked");
+    } else {
+      $smarty->assign("flagsT", "");
     }
     if ($this->logoff_time_set=="1"){
       $smarty->assign("flagsO", "checked");
+    } else {
+      $smarty->assign("flagsO", "");
     }
     if ($this->kickoff_time_set=="1"){
       $smarty->assign("flagsK", "checked");
+    } else {
+      $smarty->assign("flagsK", "");
     }
     
     $smarty->assign("allow_pwchangeACL", chkacl($this->acl, "allow_pwchange"));
     $smarty->assign("password_expiresACL", chkacl($this->acl, "password_expires"));
+    $smarty->assign("no_password_requiredACL", chkacl($this->acl, "no_password_required"));
+    $smarty->assign("temporary_disableACL", chkacl($this->acl, "temporary_disable"));
     $smarty->assign("sambaDomainNameACL", chkacl($this->acl, "sambaDomainName"));
     $smarty->assign("logon_time_setACL", chkacl($this->acl, "logon_time_set"));
     $smarty->assign("logoff_time_setACL", chkacl($this->acl, "logoff_time_set"));
@@ -654,7 +673,11 @@ class sambaAccount extends plugin
       }
       if (isset($_POST["temporary_disable"])){
         if ($_POST["temporary_disable"] == 1){
-          $tmp.= "D";
+          if (is_integer(strpos($this->sambaAcctFlags, "L"))) {
+            $tmp.= "L";
+          } else {
+            $tmp.= "D";
+          }
         }
       }
       if (isset($_POST["logon_time_set"])){
@@ -752,7 +775,6 @@ class sambaAccount extends plugin
         }
       }
     }
-
   }
 
 
@@ -863,7 +885,6 @@ class sambaAccount extends plugin
         # Set more useful default setting
         $this->attrs['sambaKickoffTime']= 2147483647;
       }
-      
     } else {
     /* Not samba3 */
       $this->attrs['rid']= $this->uidNumber*2 + 1000;