index 0e13bf3777b30d643ac4a625a0b03fe61b903bd4..434ffa93f67ec5d9c0cfb13c768667921142b4b0 100644 (file)
var $proftpd_ftp = "TRUE";
var $apache_http = "TRUE";
var $kolabHost = array();
-
+ var $is_in_there = false;
+ var $exactName = false;
var $attributes = array("postfix_mydomain", "postfix_mydestination", "proftpd_ftp", "k",
"postfix_mynetworks", "postfix_enable_virus_scan", "postfix_relayhost", "apache_http",
"postfix_allow_unauthenticated", "cyrus_admins", "cyrus_imap","kolabFreeBusyFuture",
$this->kolabHost= $this->attrs['kolabHost'];
unset($this->kolabHost['count']);
}
+
+
+ $this->is_in_there=false;
+ $this->is_account=false;
+ foreach($this->kolabHost as $host){
+ if(preg_match("/".$this->hostname.".*/i",$host)){
+ $this->is_account=true;
+ $this->is_in_there=true;
+ }
+ }
+
if(in_array($this->hostname, $this->kolabHost)) {
- $this->is_account=true;
+ $this->exactName=true;
} else {
- $this->is_account=false;
+ $this->exactName=false;
}
if(isset($this->attrs['postfix-mynetworks'])){
if(is_array($this->attrs['postfix-mynetworks'])){
function execute()
{
+ /* Call parent execute */
+ plugin::execute();
+
/* Fill templating stuff */
$smarty = get_smarty();
$display = "";
}
/* Add ourselves to the list of kolabHost's if needed */
- if (!in_array($this->cn, $this->kolabHost)){
+ if ((!$this->is_in_there)){
$this->kolabHost[]= $this->cn;
}
-
+
+
$tmp = split(";",$this->postfix_mynetworks);
$this->postfix_mynetworks = array();
/* Add kolab hosts */
$this->attrs['kolabHost']= $this->kolabHost;
+
+ if(($this->is_in_there)&&(!$this->exactName)){
+ unset($this->attrs['kolabHost']);
+ }
/* Perform LDAP action */
$ldap->cd($this->dn);