diff --git a/plugins/admin/systems/class_goVirusServer.inc b/plugins/admin/systems/class_goVirusServer.inc
index ee4bb64e31c8c52af72c5713f8ae1c5ca26300e4..6335956b77b66de5c1cf303d6658c38a8f3b28e2 100644 (file)
<?php
-class goVirusServer extends plugin{
+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";
var $DisplayName = "";
var $dn = NULL;
var $cn = "";
- var $saStatus = "";
+ var $avStatus = "";
var $dialog = NULL;
var $ui = NULL;
var $Flags = array("D","S","A","E");
- var $avFlags = "";
- var $avFlagsD = FALSE;
- var $avFlagsS = FALSE;
+ var $avFlags = "DS";
+ var $avFlagsD = TRUE;
+ var $avFlagsS = TRUE;
var $avFlagsA = FALSE;
var $avFlagsE = FALSE;
var $avMaxThreads = 5;
var $avMaxDirectoryRecursions = 4;
-// var $avUser = "";
var $avArchiveMaxFileSize = 4000;
var $avArchiveMaxRecursion = 5;
var $avArchiveMaxCompressionRatio = 95;
- var $avDatabaseMirror = "";
var $avChecksPerDay = 12;
+
+ 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 */
function execute()
{
- /* Do we need to flip is_account state? */
- if (isset($_POST['modify_state'])) {
- $this->is_account = !$this->is_account;
- }
-
- /* Show tab dialog headers */
- if ($this->is_account) {
- /* call Add Acoount to add account */
- $display = $this->show_header(_("Remove anti virus extension"),
- _("This server has anti virus features enabled. You can disable them by clicking below."));
- } else {
- /* call remove Account */
- $display = $this->show_header(_("Add anti virus service"),
- _("This server has anti virus features disabled. You can enable them by clicking below."));
- return ($display);
+ $smarty = get_smarty();
+ if(get_class($this->parent) == "servtabs"){
+
+ $smarty->assign("servtabs",TRUE);
+
+ /* Do we need to flip is_account state? */
+ if (isset($_POST['modify_state'])) {
+ $this->is_account = !$this->is_account;
+ }
+
+ /* Show tab dialog headers */
+ if ($this->is_account) {
+ /* call Add Acoount to add account */
+ $display = $this->show_header(_("Remove anti virus extension"),
+ _("This server has anti virus features enabled. You can disable them by clicking below."));
+ } else {
+ /* call remove Account */
+ $display = $this->show_header(_("Add anti virus service"),
+ _("This server has anti virus features disabled. You can enable them by clicking below."));
+ return ($display);
+ }
+ }else{
+ $display = "";
+ $smarty->assign("servtabs",FALSE);
+ $this->is_account = true;
}
/* Assign smarty vars */
- $smarty = get_smarty();
foreach($this->attributes as $attr){
$smarty->assign($attr,$this->$attr);
$smarty->assign($attr."ACL",chkacl($this->acl,$attr));
}
}
- return($display.$smarty->fetch(get_template_path("goVirusServer.tpl",TRUE,dirname(__FILE__))));
- }
-
-
- /* Add $post to list of configured trusted */
- function AddTrust($post)
- {
- if(!empty($post)){
- $this->TrustedNetworks[$post] = $post;
+ /* Assign value for max thread select box */
+ $tmp = array();
+ for($i = 1 ; $i <= 20 ; $i ++){
+ $tmp[$i] = $i;
}
- }
-
+ $smarty->assign("ThreadValues",$tmp);
- /* Delete trusted network */
- function DelTrust($posts)
- {
- foreach($posts as $post){
- if(isset($this->TrustedNetworks[$post])){
- unset($this->TrustedNetworks[$post]);
- }
+ if($this->avFlagsA){
+ $smarty->assign("avFlagsAState" , "" );
+ }else{
+ $smarty->assign("avFlagsAState" , " disabled " );
}
+
+ return($display.$smarty->fetch(get_template_path("goVirusServer.tpl",TRUE,dirname(__FILE__))));
}
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"));
plugin::save();
- print_a($this->attrs);
+ 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();
function check()
{
$message = plugin::check();
+
+ $mustBeNumeric = array(
+ "avMaxDirectoryRecursions" =>_("Maximum directory recursions"),
+ "avMaxThreads" =>_("Maximum threads"),
+ "avArchiveMaxFileSize" =>_("Maximum file size"),
+ "avArchiveMaxRecursion" =>_("Maximum recursions"),
+ "avArchiveMaxCompressionRatio" =>_("Maximum compression ratio"),
+ "avChecksPerDay" =>_("Checks per day"));
+
+ foreach($mustBeNumeric as $key => $trans){
+ if(!is_numeric($this->$key)){
+ $message[] = sprintf(_("The specified value for '%s' must be a numeric value."),$trans);
+ }
+ }
+
return($message);
}
}
- /* Return plugin informations for acl handling
- function plInfo()
- {
- return (array(
- "plShortName" => _("Anti virus"),
- "plDescription" => _("Anti virus service"),
- "plSelfModify" => FALSE,
- "plDepends" => array(),
- "plPriority" => 0,
- "plSection" => array("administration"),
- "plCategory" => array("server"),
- "plProvidedAcls"=> array(
-
-
- "avFlagsD" =>_("Enable debugging"),
- "avFlagsS" =>_("Enable mail scanning"),
- "avFlagsA" =>_("Enable scanning of archives"),
- "avFlagsE" =>_("Block encrypted archives"),
-
- "avMaxThreads" =>_("Maximum threads"),
-// "avMaxDirectoryRecursions" =>_(""),
-// "avUser" =>_(""),
- "avArchiveMaxFileSize" =>_("Maximum file size"),
- "avArchiveMaxRecursion" =>_("Maximum recursions"),
- "avArchiveMaxCompressionRatio" =>_("Maximum compression ratio"),
- "avDatabaseMirror" =>_("Database mirror"),
- "avChecksPerDay" =>_("Checks per day"),
- "avHttpProxyURL" =>_("Http proxy URL"))
- ));
- }
- */
/* For newer service management dialogs */
- /*function getListEntry()
+ function getListEntry()
{
$this->updateStatusState();
$flag = $this->StatusFlag;
$this->$flag = $attrs[$flag][0];
}
}
+
function action_hook($add_attrs= array())
{
- /* Find postcreate entries for this class * /
+ /* Find postcreate entries for this class */
$command= search_config($this->config->data['MENU'], get_class($this), "ACTION_HOOK");
if ($command == "" && isset($this->config->data['TABS'])){
$command= search_config($this->config->data['TABS'], get_class($this), "ACTION_HOOK");
}
if ($command != ""){
- /* Walk through attribute list * /
+ /* Walk through attribute list */
foreach ($this->attributes as $attr){
if (!is_array($this->$attr)){
$command= preg_replace("/%$attr/", $this->$attr, $command);
}
}
$command= preg_replace("/%dn/", $this->dn, $command);
- /* Additional attributes * /
+ /* Additional attributes */
foreach ($add_attrs as $name => $value){
$command= preg_replace("/%$name/", $value, $command);
}
- /* If there are still some %.. in our command, try to fill these with some other class vars * /
+ /* If there are still some %.. in our command, try to fill these with some other class vars */
if(preg_match("/%/",$command)){
$attrs = get_object_vars($this);
foreach($attrs as $name => $value){
}
}
- /* Directly save new status flag * /
+ /* Directly save new status flag */
function setStatus($value)
{
if($value == "none") return;
}
}
+ /* Return plugin informations for acl handling
+ function plInfo()
+ {
+ return (array(
+ "plShortName" => _("Anti virus"),
+ "plDescription" => _("Anti virus service"),
+ "plSelfModify" => FALSE,
+ "plDepends" => array(),
+ "plPriority" => 0,
+ "plSection" => array("administration"),
+ "plCategory" => array("server"),
+ "plProvidedAcls"=> array(
- */
+ "avFlagsD" =>_("Enable debugging"),
+ "avFlagsS" =>_("Enable mail scanning"),
+ "avFlagsA" =>_("Enable scanning of archives"),
+ "avFlagsE" =>_("Block encrypted archives"),
+
+ "avMaxThreads" =>_("Maximum threads"),
+ "avMaxDirectoryRecursions" =>_("Maximum directory recursions"),
+ "avUser" =>_("Anti virus user"),
+ "avArchiveMaxFileSize" =>_("Maximum file size"),
+ "avArchiveMaxRecursion" =>_("Maximum recursions"),
+ "avArchiveMaxCompressionRatio" =>_("Maximum compression ratio"),
+ "avDatabaseMirror" =>_("Database mirror"),
+ "avChecksPerDay" =>_("Checks per day"),
+ "avHttpProxyURL" =>_("Http proxy URL"))
+ ));
+ }
+ */
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>