Code

Commented out "ip & port information" for phone configuretion in user list.
[gosa.git] / plugins / admin / systems / class_goVirusServer.inc
index 7b334597b420f49bbddb411a4b5b686d183cd898..6335956b77b66de5c1cf303d6658c38a8f3b28e2 100644 (file)
@@ -4,7 +4,7 @@ class govirusserver extends plugin{
        
   /* This plugin only writes its objectClass */
   var $objectclasses    = array("goVirusServer");
-  var $attributes       = array("avMaxThreads","avMaxDirectoryRecursions",/*"avUser",*/"avFlags","avArchiveMaxFileSize","avArchiveMaxRecursion",
+  var $attributes       = array("avMaxThreads","avMaxDirectoryRecursions","avUser","avFlags","avArchiveMaxFileSize","avArchiveMaxRecursion",
                                 "avArchiveMaxCompressionRatio","avDatabaseMirror","avChecksPerDay","avHttpProxyURL");
   var $StatusFlag       = "avStatus";
  
@@ -22,11 +22,11 @@ class govirusserver extends plugin{
 
   var $Flags            = array("D","S","A","E");
   
-  var $avFlags          = "DSAE";
+  var $avFlags          = "DS";
   var $avFlagsD         = TRUE;
   var $avFlagsS         = TRUE;
-  var $avFlagsA         = TRUE;
-  var $avFlagsE         = TRUE;
+  var $avFlagsA         = FALSE;
+  var $avFlagsE         = FALSE;
 
   var $avMaxThreads                 = 5;
   var $avMaxDirectoryRecursions     = 4;    
@@ -35,14 +35,14 @@ class govirusserver extends plugin{
   var $avArchiveMaxCompressionRatio = 95;
   var $avChecksPerDay               = 12;
 
-//  var $avUser                       = "";
+  var $avUser                       = "";
   var $avHttpProxyURL               = "";
   var $avDatabaseMirror             = "";
 
-  function govirusserver($config,$dn)
+  function govirusserver($config,$dn, $parent= NULL)
   {
     /* Init class */
-    plugin::plugin($config,$dn);
+    plugin::plugin($config,$dn, $parent);
     $this->DisplayName = _("Anti virus");
 
     /* Get userinfo & acls */
@@ -115,6 +115,12 @@ class govirusserver extends plugin{
     }
     $smarty->assign("ThreadValues",$tmp);
 
+    if($this->avFlagsA){
+      $smarty->assign("avFlagsAState" , "" );
+    }else{
+      $smarty->assign("avFlagsAState" , " disabled " );
+    }
+
     return($display.$smarty->fetch(get_template_path("goVirusServer.tpl",TRUE,dirname(__FILE__))));
   }
 
@@ -123,8 +129,15 @@ class govirusserver extends plugin{
   function remove_from_parent()
   {
     if(!$this->is_account && $this->initially_was_account){
+
       plugin::remove_from_parent();
 
+      /* Remove status flag, it is not a memeber of
+         this->attributes, so ensure that it is deleted too */
+      if(!empty($this->StatusFlag)){
+        $this->attrs[$this->StatusFlag] = array();
+      }
+
       /* Check if this is a new entry ... add/modify */
       $ldap = $this->config->get_ldap_link();
       $ldap->cat($this->dn,array("objectClass"));
@@ -156,6 +169,14 @@ class govirusserver extends plugin{
 
     plugin::save();
 
+    if(!$this->avFlagsA){
+      $arr = array("avArchiveMaxFileSize","avArchiveMaxRecursion","avArchiveMaxCompressionRatio");
+      foreach($arr as $attr){
+        $this->attrs[$attr] =  array();
+      }
+      $this->attrs['avFlags'] = preg_replace("/E/","",$this->attrs['avFlags']);
+    }
+
     /* Check if this is a new entry ... add/modify */
     $ldap = $this->config->get_ldap_link();
     $ldap->cat($this->dn,array("objectClass"));
@@ -180,6 +201,7 @@ class govirusserver extends plugin{
     $message = plugin::check();
 
     $mustBeNumeric = array(
+          "avMaxDirectoryRecursions"     =>_("Maximum directory recursions"),
           "avMaxThreads"                 =>_("Maximum threads"),
           "avArchiveMaxFileSize"         =>_("Maximum file size"),
           "avArchiveMaxRecursion"        =>_("Maximum recursions"),
@@ -329,8 +351,8 @@ class govirusserver extends plugin{
           "avFlagsE"         =>_("Block encrypted archives"),
 
           "avMaxThreads"                 =>_("Maximum threads"),
-//          "avMaxDirectoryRecursions"     =>_(""),
-//          "avUser"                       =>_(""),
+          "avMaxDirectoryRecursions"     =>_("Maximum directory recursions"),
+          "avUser"                       =>_("Anti virus user"),
           "avArchiveMaxFileSize"         =>_("Maximum file size"),
           "avArchiveMaxRecursion"        =>_("Maximum recursions"),
           "avArchiveMaxCompressionRatio" =>_("Maximum compression ratio"),