diff --git a/gosa-plugins/mail/personal/mail/class_mailAccount.inc b/gosa-plugins/mail/personal/mail/class_mailAccount.inc
index 6a5c47c2fa2162269269f3521d4f256e791076f9..f2f332f208a8f62b2b430e1c73a0631c951f194e 100644 (file)
/* Do we represent a valid account? */
if(!$this->multiple_support_active){
if (!$this->is_account && $this->parent === NULL){
- $display= "<img alt=\"\" src=\"images/stop.png\" align=\"middle\"> <b>".
+ $display= "<img alt=\"\" src=\"images/small-error.png\" align=\"middle\"> <b>".
msgPool::noValidExtension(_("Mail"))."</b>";
$display.= back_to_main();
/* Finished adding of locals? */
if (isset($_POST['add_locals_finish'])){
- /* Check if we are able to write gosaMailForwardingAddress */
- if($this->acl_is_writeable("gosaMailForwardingAddress")){
+ if (isset($_POST['local_list'])){
- /* Walk through list of forwarders, ignore own addresses */
- foreach ($_POST['local_list'] as $val){
- if (!in_array ($val, $this->gosaMailAlternateAddress) &&
- $val != $this->mail){
+ /* Check if we are able to write gosaMailForwardingAddress */
+ if($this->acl_is_writeable("gosaMailForwardingAddress")){
- $this->addForwarder($val);
- $this->is_modified= TRUE;
+ /* Walk through list of forwarders, ignore own addresses */
+ foreach ($_POST['local_list'] as $val){
+ if (!in_array ($val, $this->gosaMailAlternateAddress) &&
+ $val != $this->mail){
+
+ $this->addForwarder($val);
+ $this->is_modified= TRUE;
+ }
}
}
+ $this->forward_dialog= FALSE;
+ $this->dialog= FALSE;
+ } else {
+ msg_dialog::display(_("Error"), _("Please select an entry!"), ERROR_DIALOG);
}
- $this->forward_dialog= FALSE;
- $this->dialog= FALSE;
}
/* Add forward email addresses */
reset ($mailusers);
/* Show dialog */
- $smarty->assign("search_image", get_template_path('images/search.png'));
- $smarty->assign("usearch_image", get_template_path('images/search_user.png'));
- $smarty->assign("tree_image", get_template_path('images/tree.png'));
+ $smarty->assign("search_image", get_template_path('images/lists/search.png'));
+ $smarty->assign("usearch_image", get_template_path('images/lists/search-user.png'));
+ $smarty->assign("tree_image", get_template_path('images/lists/search-subtree.png'));
$smarty->assign("infoimage", get_template_path('images/info.png'));
- $smarty->assign("launchimage", get_template_path('images/small_filter.png'));
+ $smarty->assign("launchimage", get_template_path('images/lists/action.png'));
$smarty->assign("mailusers", $mailusers);
if (isset($_POST['depselect'])){
$smarty->assign("depselect", $_POST['depselect']);
$message[]= msgPool::invalid(_("Mail address"),"","","your-domain@your-domain.com");
}
}
+
$ldap->cd($this->config->current['BASE']);
- $ldap->search ("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaMailAccount)(|(mail=".$this->mail.")(gosaMailAlternateAddress=".$this->mail."))(!(uid=".$this->uid."))(!(cn=".$this->uid.")))", array("uid"));
+ $filter = "(&(!(objectClass=gosaUserTemplate))(!(uid=".$this->uid."))".
+ "(objectClass=gosaMailAccount)".
+ "(|(mail=".$this->mail.")(alias=".$this->mail.")(gosaMailAlternateAddress=".$this->mail.")))";
+
+ $ldap->search($filter,array("uid"));
if ($ldap->count() != 0){
$message[]= msgPool::duplicated(_("Mail address"));
}
+
/* Check quota */
if ($this->gosaMailQuota != '' && $this->acl_is_writeable("gosaMailQuota")){
if (!is_numeric($this->gosaMailQuota)) {
/* Adapt from template, using 'dn' */
- function adapt_from_template($dn)
+ function adapt_from_template($dn, $skip= array())
{
- plugin::adapt_from_template($dn);
+ plugin::adapt_from_template($dn, $skip);
foreach (array("gosaMailAlternateAddress", "gosaMailForwardingAddress") as $val){
+
+ if (in_array($val, $skip)){
+ continue;
+ }
+
$this->$val= array();
if (isset($this->attrs["$val"]["count"])){
for ($i= 0; $i<$this->attrs["$val"]["count"]; $i++){
/* Is this address already assigned in LDAP? */
$ldap->cd ($this->config->current['BASE']);
- $ldap->search ("(&(objectClass=gosaMailAccount)(|(mail=$address)"."(gosaMailAlternateAddress=$address)))", array("uid"));
- $ldap->search ("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaMailAccount)(|(mail=$address)"."(gosaMailAlternateAddress=$address)))", array("uid"));
+ $ldap->search ("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaMailAccount)(|(mail=$address)".
+ "(alias=$address)(gosaMailAlternateAddress=$address)))", array("uid"));
if ($ldap->count() > 0){
$attrs= $ldap->fetch ();