index c88e17bb34aa8c4d8a7c24ecf77029736cfc26ed..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(is_array($this->attrs['postfix-mynetworks'])){
- unset($this->attrs['postfix-mynetworks']['count']);
- $tmp="";
- foreach($this->attrs['postfix-mynetworks'] as $tm){
- $tmp.=$tm.";";
+ if(isset($this->attrs['postfix-mynetworks'])){
+ if(is_array($this->attrs['postfix-mynetworks'])){
+ unset($this->attrs['postfix-mynetworks']['count']);
+ $tmp="";
+ foreach($this->attrs['postfix-mynetworks'] as $tm){
+ $tmp.=$tm.";";
+ }
+ $this->postfix_mynetworks = $tmp;
}
- $this->postfix_mynetworks = $tmp;
+ }else{
+ $this->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);