From: hickert Date: Thu, 2 Mar 2006 04:53:26 +0000 (+0000) Subject: ... better source code reading ... X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=ea9cba5558e3ca4f2f667d42cf52d1496d6cbf42;p=gosa.git ... better source code reading ... git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@2797 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/plugins/admin/groups/class_groupMail.inc b/plugins/admin/groups/class_groupMail.inc index 874391ba4..fb5209f60 100644 --- a/plugins/admin/groups/class_groupMail.inc +++ b/plugins/admin/groups/class_groupMail.inc @@ -55,7 +55,7 @@ class mailgroup extends plugin if (isset($this->config->current['MAILMETHOD'])){ $this->mmethod= $this->config->current['MAILMETHOD']; } - + if (class_exists("mailMethod$this->mmethod")){ $this->method= "mailMethod$this->mmethod"; } else { @@ -167,17 +167,17 @@ class mailgroup extends plugin /* Get all user permissions sorted by acl, to detect the most used acl This acl is then used for %members% - */ + */ $tmp[$permission][] = $user; /* There is an entry in $this->imapacl like this this ... - $this->attrs['imapacl']['anyone'] = "p"; - $this->attrs['imapacl']['%members%'] = "lprs"; - $this->attrs['imapacl'][''] = ""; <------ This is used to diplay an empty - Field for special acls in our template. - If there is at least one special acl in out imapacl, - we don't need this entry anymore, because it is already displayed. - */ + $this->attrs['imapacl']['anyone'] = "p"; + $this->attrs['imapacl']['%members%'] = "lprs"; + $this->attrs['imapacl'][''] = ""; <------ This is used to diplay an empty + Field for special acls in our template. + If there is at least one special acl in out imapacl, + we don't need this entry anymore, because it is already displayed. + */ if ($user != "anyone" && $user != "%members%"){ unset($this->imapacl['']); } @@ -186,14 +186,14 @@ class mailgroup extends plugin /* In this section we dectect which acl is tho most used This will be used as %members% acl - */ + */ $tmp2 = array(); foreach($tmp as $acl => $user){ $tmp2[count($tmp[$acl])]=$acl; } /* Most used at last */ ksort($tmp2); - + /* Assign last (most used acl) to %members% acl */ $this->imapacl['%members%']=array_pop($tmp2); @@ -473,7 +473,7 @@ class mailgroup extends plugin foreach($this->imapacl as $user => $acl){ if ($user != "anyone" && $user != "%members%"){ $tmp.= ""; foreach ($this->perms as $key => $value){ if ($acl == $key){ $tmp.= ""; @@ -484,11 +484,11 @@ class mailgroup extends plugin $tmp.= " "; if ($nr == $count - 1){ $tmp.= ""; + "name=\"add_$nr\" $perm>"; } if ($count > 3){ $tmp.= ""; + "name=\"del_$nr\" $perm>"; } } $this->indexed_user[$nr]= $user; @@ -545,7 +545,7 @@ class mailgroup extends plugin unset ($this->attrs['uid']); $ldap->cd($this->dn); $this->cleanup(); -$ldap->modify ($this->attrs); + $ldap->modify ($this->attrs); show_ldap_error($ldap->get_error()); @@ -574,12 +574,12 @@ $ldap->modify ($this->attrs); we're in some other dialog. Example for gosaMailDeliveryMode [LR ] - L: Local delivery - R: Reject when exceeding mailsize limit - S: Use spam filter - V: Use vacation message - C: Use custom sieve script - I: Only insider delivery */ +L: Local delivery +R: Reject when exceeding mailsize limit +S: Use spam filter +V: Use vacation message +C: Use custom sieve script +I: Only insider delivery */ if (isset($_POST['mailedit'])){ /* Save ldap attributes */ @@ -633,82 +633,82 @@ $ldap->modify ($this->attrs); /* Backup for function save - Änderungen : fixAttributesOnStore($this) wurde erst nach dem this->cleanup(); +Änderungen : fixAttributesOnStore($this) wurde erst nach dem this->cleanup(); $ldap->modify - Ausgeführt, deshalb wurden die gemappten Attribute auch nicht - gespeichert. +Ausgeführt, deshalb wurden die gemappten Attribute auch nicht +gespeichert. - Von : Fabian Hickert - Datum : 15.12.2005 +Von : Fabian Hickert +Datum : 15.12.2005 - Alter Quellcode : +Alter Quellcode : /* Save data to LDAP, depending on is_account we save or delete * / function save() { - $ldap= $this->config->get_ldap_link(); + $ldap= $this->config->get_ldap_link(); - /* Call parents save to prepare $this->attrs * / - plugin::save(); + /* Call parents save to prepare $this->attrs * / + plugin::save(); - /* Save arrays * / - $this->attrs['gosaMailAlternateAddress']= $this->gosaMailAlternateAddress; - $this->attrs['gosaMailForwardingAddress']= $this->gosaMailForwardingAddress; + /* Save arrays * / + $this->attrs['gosaMailAlternateAddress']= $this->gosaMailAlternateAddress; + $this->attrs['gosaMailForwardingAddress']= $this->gosaMailForwardingAddress; - /* Save shared folder target * / - $this->attrs['gosaSharedFolderTarget']= "share+".$this->uid; + /* Save shared folder target * / + $this->attrs['gosaSharedFolderTarget']= "share+".$this->uid; - /* Save acl's * / - $this->attrs['acl']= array(); - foreach ($this->imapacl as $user => $acl){ - if ($user == ""){ - continue; - } - $this->attrs['acl'][]= "$user $acl"; - } - - /* Save data to LDAP * / - $ldap->cd($this->dn); - $this->cleanup(); -$ldap->modify ($this->attrs); + /* Save acl's * / + $this->attrs['acl']= array(); + foreach ($this->imapacl as $user => $acl){ + if ($user == ""){ + continue; + } + $this->attrs['acl'][]= "$user $acl"; + } - show_ldap_error($ldap->get_error()); + /* Save data to LDAP * / + $ldap->cd($this->dn); + $this->cleanup(); + $ldap->modify ($this->attrs); + + show_ldap_error($ldap->get_error()); + + /* Only do IMAP actions if we are not a template * / + if (!$this->is_template){ + $method= new $this->method($this->config); + $method->fixAttributesOnStore($this); + if ($method->connect($this->gosaMailServer)){ + $method->updateMailbox($this->uid); + $method->setQuota($this->uid, $this->gosaMailQuota); + +/* Exchange '%member%' pseudo entry * / +$memberacl= $this->imapacl['%members%']; +unset ($this->imapacl['%members%']); +foreach ($this->members as $user){ +if (!isset($this->imapacl[$user])){ +$this->imapacl[$user]= $memberacl; +} +} - /* Only do IMAP actions if we are not a template * / - if (!$this->is_template){ - $method= new $this->method($this->config); - $method->fixAttributesOnStore($this); - if ($method->connect($this->gosaMailServer)){ - $method->updateMailbox($this->uid); - $method->setQuota($this->uid, $this->gosaMailQuota); - - /* Exchange '%member%' pseudo entry * / - $memberacl= $this->imapacl['%members%']; - unset ($this->imapacl['%members%']); - foreach ($this->members as $user){ - if (!isset($this->imapacl[$user])){ - $this->imapacl[$user]= $memberacl; - } - } +$method->setSharedFolderPermissions($this->uid, $this->imapacl); +$method->disconnect(); +} +} - $method->setSharedFolderPermissions($this->uid, $this->imapacl); - $method->disconnect(); - } - } +/* Optionally execute a command after we're done * / +if ($this->initially_was_account == $this->is_account){ +if ($this->is_modified){ +$this->handle_post_events("mofify"); +} +} else { +$this->handle_post_events("add"); +} +} - /* Optionally execute a command after we're done * / - if ($this->initially_was_account == $this->is_account){ - if ($this->is_modified){ - $this->handle_post_events("mofify"); - } - } else { - $this->handle_post_events("add"); - } - } - - ENDE Alter Quellcode - */ +ENDE Alter Quellcode + */ @@ -717,249 +717,249 @@ $ldap->modify ($this->attrs); - /* Save data to LDAP, depending on is_account we save or delete */ - function save() - { - $ldap= $this->config->get_ldap_link(); +/* Save data to LDAP, depending on is_account we save or delete */ +function save() +{ + $ldap= $this->config->get_ldap_link(); - /* Call parents save to prepare $this->attrs */ - plugin::save(); + /* Call parents save to prepare $this->attrs */ + plugin::save(); - /* Save arrays */ - $this->attrs['gosaMailAlternateAddress']= $this->gosaMailAlternateAddress; - $this->attrs['gosaMailForwardingAddress']= $this->gosaMailForwardingAddress; + /* Save arrays */ + $this->attrs['gosaMailAlternateAddress']= $this->gosaMailAlternateAddress; + $this->attrs['gosaMailForwardingAddress']= $this->gosaMailForwardingAddress; - /* Save shared folder target */ - $this->attrs['gosaSharedFolderTarget']= "share+".$this->uid; + /* Save shared folder target */ + $this->attrs['gosaSharedFolderTarget']= "share+".$this->uid; - if(preg_match("/kolab/i",$this->mmethod)){ - /* Save acl's */ - $this->attrs['acl']= array(); - foreach ($this->imapacl as $user => $acl){ - if ($user == ""){ - continue; - } - $ldap->search("(&(objectClass=person)(uid=".$user."))",array("mail")); - $mail = $ldap->fetch(); - if($mail){ - if(isset($mail['mail'][0])){ - $this->attrs['acl'][]= $mail['mail'][0]." $acl"; - } - }else{ - $this->attrs['acl'][]= "$user $acl"; - } + if(preg_match("/kolab/i",$this->mmethod)){ + /* Save acl's */ + $this->attrs['acl']= array(); + foreach ($this->imapacl as $user => $acl){ + if ($user == ""){ + continue; } - }else{ - /* Save acl's */ - $this->attrs['acl']= array(); - foreach ($this->imapacl as $user => $acl){ - if ($user == ""){ - continue; + $ldap->search("(&(objectClass=person)(uid=".$user."))",array("mail")); + $mail = $ldap->fetch(); + if($mail){ + if(isset($mail['mail'][0])){ + $this->attrs['acl'][]= $mail['mail'][0]." $acl"; } + }else{ $this->attrs['acl'][]= "$user $acl"; } } - - /* Only do IMAP actions if we are not a template */ - if(preg_match("/kolab/i",$this->mmethod)){ - if (empty($this->gosaMailServer)||is_array($this->gosaMailServer)){ - if(isset($this->attrs['gosaMailServer'][0])){ - $this->gosaMailServer = $this->attrs['gosaMailServer'][0]; - } + }else{ + /* Save acl's */ + $this->attrs['acl']= array(); + foreach ($this->imapacl as $user => $acl){ + if ($user == ""){ + continue; } - } - - if ((!$this->is_template)&&(!empty($this->gosaMailServer))){ - $method= new $this->method($this->config); - $method->fixAttributesOnStore($this); - if ($method->connect($this->gosaMailServer)){ - $method->updateMailbox($this->uid); - $method->setQuota($this->uid, $this->gosaMailQuota); - - /* Exchange '%member%' pseudo entry */ - $memberacl= $this->imapacl['%members%']; - unset ($this->imapacl['%members%']); - foreach ($this->members as $user){ - if (!isset($this->imapacl[$user])){ - $this->imapacl[$user]= $memberacl; - } - } + $this->attrs['acl'][]= "$user $acl"; + } + } - $method->setSharedFolderPermissions($this->uid, $this->imapacl); - $method->disconnect(); + /* Only do IMAP actions if we are not a template */ + if(preg_match("/kolab/i",$this->mmethod)){ + if (empty($this->gosaMailServer)||is_array($this->gosaMailServer)){ + if(isset($this->attrs['gosaMailServer'][0])){ + $this->gosaMailServer = $this->attrs['gosaMailServer'][0]; } } + } - /* Save data to LDAP */ - $ldap->cd($this->dn); - $this->cleanup(); -$ldap->modify ($this->attrs); - - show_ldap_error($ldap->get_error()); + if ((!$this->is_template)&&(!empty($this->gosaMailServer))){ + $method= new $this->method($this->config); + $method->fixAttributesOnStore($this); + if ($method->connect($this->gosaMailServer)){ + $method->updateMailbox($this->uid); + $method->setQuota($this->uid, $this->gosaMailQuota); - /* Optionally execute a command after we're done */ - if ($this->initially_was_account == $this->is_account){ - if ($this->is_modified){ - $this->handle_post_events("mofify"); + /* Exchange '%member%' pseudo entry */ + $memberacl= $this->imapacl['%members%']; + unset ($this->imapacl['%members%']); + foreach ($this->members as $user){ + if (!isset($this->imapacl[$user])){ + $this->imapacl[$user]= $memberacl; + } } - } else { - $this->handle_post_events("add"); + + $method->setSharedFolderPermissions($this->uid, $this->imapacl); + $method->disconnect(); } } - /* Check formular input */ - function check() - { - $ldap= $this->config->get_ldap_link(); + /* Save data to LDAP */ + $ldap->cd($this->dn); + $this->cleanup(); + $ldap->modify ($this->attrs); - $message= array(); + show_ldap_error($ldap->get_error()); - /* must: mail */ - if ($this->mail == ""){ - $message[]= _("The required field 'Primary address' is not set."); - } - if (!is_email($this->mail)){ - $message[]= _("Please enter a valid email addres in 'Primary address' field."); - } - $ldap->cd($this->config->current['BASE']); - $ldap->search ("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaMailAccount)(|(mail=".$this->mail.")(gosaMailAlternateAddress=". - $this->mail."))(!(uid=".$this->cn."))(!(cn=".$this->cn.")))"); - if ($ldap->count() != 0){ - $message[]= _("The primary address you've entered is already in use."); + /* Optionally execute a command after we're done */ + if ($this->initially_was_account == $this->is_account){ + if ($this->is_modified){ + $this->handle_post_events("mofify"); } + } else { + $this->handle_post_events("add"); + } +} - /* Check quota */ - if ($this->gosaMailQuota != '' && chkacl ($this->acl, "gosaMailQuota") == ""){ - if (!is_numeric($this->gosaMailQuota)) { - $message[]= _("Value in 'Quota size' is not valid."); - } else { - $this->gosaMailQuota= (int) $this->gosaMailQuota; - } - } +/* Check formular input */ +function check() +{ + $ldap= $this->config->get_ldap_link(); - /* Check rejectsize for integer */ - if ($this->gosaMailMaxSize != '' && chkacl ($this->acl, "gosaMailQuota") == ""){ - if (!is_numeric($this->gosaMailMaxSize)){ - $message[]= _("Please specify a vaild mail size for mails to be rejected."); - } else { - $this->gosaMailMaxSize= (int) $this->gosaMailMaxSize; - } - } + $message= array(); - /* Need gosaMailMaxSize if use_mailsize_limit is checked */ - if (is_integer(strpos($this->gosaMailDeliveryMode, "reject")) && $this->gosaMailMaxSize == ""){ - $message[]= _("You need to set the maximum mail size in order to reject anything."); - } + /* must: mail */ + if ($this->mail == ""){ + $message[]= _("The required field 'Primary address' is not set."); + } + if (!is_email($this->mail)){ + $message[]= _("Please enter a valid email addres in 'Primary address' field."); + } + $ldap->cd($this->config->current['BASE']); + $ldap->search ("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaMailAccount)(|(mail=".$this->mail.")(gosaMailAlternateAddress=". + $this->mail."))(!(uid=".$this->cn."))(!(cn=".$this->cn.")))"); + if ($ldap->count() != 0){ + $message[]= _("The primary address you've entered is already in use."); + } - if(ord($this->imapacl['anyone'][0])==194){ - $message[] = _("Please choose valid permission settings. Default permission can't be emtpy."); + /* Check quota */ + if ($this->gosaMailQuota != '' && chkacl ($this->acl, "gosaMailQuota") == ""){ + if (!is_numeric($this->gosaMailQuota)) { + $message[]= _("Value in 'Quota size' is not valid."); + } else { + $this->gosaMailQuota= (int) $this->gosaMailQuota; } + } - if(empty($this->gosaMailServer)){ - $message[] = _("Please select a valid mail server."); + /* Check rejectsize for integer */ + if ($this->gosaMailMaxSize != '' && chkacl ($this->acl, "gosaMailQuota") == ""){ + if (!is_numeric($this->gosaMailMaxSize)){ + $message[]= _("Please specify a vaild mail size for mails to be rejected."); + } else { + $this->gosaMailMaxSize= (int) $this->gosaMailMaxSize; } + } - return ($message); + /* Need gosaMailMaxSize if use_mailsize_limit is checked */ + if (is_integer(strpos($this->gosaMailDeliveryMode, "reject")) && $this->gosaMailMaxSize == ""){ + $message[]= _("You need to set the maximum mail size in order to reject anything."); } - /* Adapt from template, using 'dn' */ - function adapt_from_template($dn) - { - plugin::adapt_from_template($dn); - - foreach (array("gosaMailAlternateAddress", "gosaMailForwardingAddress") as $val){ - $this->$val= array(); - if (isset($this->attrs["$val"]["count"])){ - for ($i= 0; $i<$this->attrs["$val"]["count"]; $i++){ - $value= $this->attrs["$val"][$i]; - foreach (array("sn", "givenName", "uid") as $repl){ - if (preg_match("/%$repl/i", $value)){ - $value= preg_replace ("/%$repl/i", $this->parent->$repl, $value); - } + if(ord($this->imapacl['anyone'][0])==194){ + $message[] = _("Please choose valid permission settings. Default permission can't be emtpy."); + } + + if(empty($this->gosaMailServer)){ + $message[] = _("Please select a valid mail server."); + } + + return ($message); +} + +/* Adapt from template, using 'dn' */ +function adapt_from_template($dn) +{ + plugin::adapt_from_template($dn); + + foreach (array("gosaMailAlternateAddress", "gosaMailForwardingAddress") as $val){ + $this->$val= array(); + if (isset($this->attrs["$val"]["count"])){ + for ($i= 0; $i<$this->attrs["$val"]["count"]; $i++){ + $value= $this->attrs["$val"][$i]; + foreach (array("sn", "givenName", "uid") as $repl){ + if (preg_match("/%$repl/i", $value)){ + $value= preg_replace ("/%$repl/i", $this->parent->$repl, $value); } - array_push($this->$val, $value); } + array_push($this->$val, $value); } } } +} - /* Add entry to forwarder list */ - function addForwarder($address) - { - $this->gosaMailForwardingAddress[]= $address; - $this->gosaMailForwardingAddress= array_unique ($this->gosaMailForwardingAddress); +/* Add entry to forwarder list */ +function addForwarder($address) +{ + $this->gosaMailForwardingAddress[]= $address; + $this->gosaMailForwardingAddress= array_unique ($this->gosaMailForwardingAddress); - sort ($this->gosaMailForwardingAddress); - reset ($this->gosaMailForwardingAddress); - $this->is_modified= TRUE; - } + sort ($this->gosaMailForwardingAddress); + reset ($this->gosaMailForwardingAddress); + $this->is_modified= TRUE; +} - /* Remove list of addresses from forwarder list */ - function delForwarder($addresses) - { - $this->gosaMailForwardingAddress= array_remove_entries ($addresses, - $this->gosaMailForwardingAddress); - $this->is_modified= TRUE; - } +/* Remove list of addresses from forwarder list */ +function delForwarder($addresses) +{ + $this->gosaMailForwardingAddress= array_remove_entries ($addresses, + $this->gosaMailForwardingAddress); + $this->is_modified= TRUE; +} - function addAlternate($address) - { - $ldap= $this->config->get_ldap_link(); +function addAlternate($address) +{ + $ldap= $this->config->get_ldap_link(); - $address= strtolower($address); + $address= strtolower($address); - /* Is this address already assigned in LDAP? */ - $ldap->cd ($this->config->current['BASE']); - $ldap->search ("(&(objectClass=gosaMailAccount)(|(mail=$address)". - "(gosaMailAlternateAddress=$address)))"); + /* Is this address already assigned in LDAP? */ + $ldap->cd ($this->config->current['BASE']); + $ldap->search ("(&(objectClass=gosaMailAccount)(|(mail=$address)". + "(gosaMailAlternateAddress=$address)))"); - if ($ldap->count() > 0){ - $attrs= $ldap->fetch (); - return ($attrs["uid"][0]); - } + if ($ldap->count() > 0){ + $attrs= $ldap->fetch (); + return ($attrs["uid"][0]); + } - /* Add to list of alternates */ - if (!in_array($address, $this->gosaMailAlternateAddress)){ - $this->gosaMailAlternateAddress[]= $address; - } + /* Add to list of alternates */ + if (!in_array($address, $this->gosaMailAlternateAddress)){ + $this->gosaMailAlternateAddress[]= $address; + } - sort ($this->gosaMailAlternateAddress); - reset ($this->gosaMailAlternateAddress); - $this->is_modified= TRUE; + sort ($this->gosaMailAlternateAddress); + reset ($this->gosaMailAlternateAddress); + $this->is_modified= TRUE; - return (""); - } + return (""); +} - function delAlternate($addresses) - { - $this->gosaMailAlternateAddress= array_remove_entries ($addresses, - $this->gosaMailAlternateAddress); - $this->is_modified= TRUE; - } +function delAlternate($addresses) +{ + $this->gosaMailAlternateAddress= array_remove_entries ($addresses, + $this->gosaMailAlternateAddress); + $this->is_modified= TRUE; +} - function make_name($attrs) - { - $name= ""; - if (isset($attrs['sn'][0])){ - $name= $attrs['sn'][0]; - } - if (isset($attrs['givenName'][0])){ - if ($name != ""){ - $name.= ", ".$attrs['givenName'][0]; - } else { - $name.= $attrs['givenName'][0]; - } - } +function make_name($attrs) +{ + $name= ""; + if (isset($attrs['sn'][0])){ + $name= $attrs['sn'][0]; + } + if (isset($attrs['givenName'][0])){ if ($name != ""){ - $name.= " "; + $name.= ", ".$attrs['givenName'][0]; + } else { + $name.= $attrs['givenName'][0]; } - - return ($name); } + if ($name != ""){ + $name.= " "; + } + + return ($name); +} }