diff --git a/gosa-plugins/mail/personal/mail/class_mailAccount.inc b/gosa-plugins/mail/personal/mail/class_mailAccount.inc
index 8fd0ab2a821a29fbd7a4968519ad59b0150d7b6d..4918868bec066c7ef7ed8eb2e8952063e03a5ba2 100644 (file)
$this->initially_was_account= $this->is_account;
/* Set mailMethod to the one defined in gosa.conf */
- if (isset($this->config->current['MAILMETHOD'])){
- $method= $this->config->current['MAILMETHOD'];
+ if ($this->config->get_cfg_value("mailmethod") != ""){
+ $method= $this->config->get_cfg_value("mailmethod");
$cls = get_correct_class_name("mailMethod$method");
if ($cls && class_exists($cls)){
/* Create the account prefix user. user/
Preset folder prefix. Will change it later to respect
altnamespace. */
- if (isset($this->config->current['CYRUSUNIXSTYLE']) && $this->config->current['CYRUSUNIXSTYLE'] == "true"){
- $this->folder_prefix= "user/";
- }elseif (isset($this->config->data['MAIN']['CYRUSUNIXSTYLE']) && $this->config->data['MAIN']['CYRUSUNIXSTYLE'] == "true"){
+ if ($this->config->get_cfg_value("cyrusunixstyle") == "true"){
$this->folder_prefix= "user/";
} else {
$this->folder_prefix= "user.";
/* Fill vacation array */
$this->vacation= array();
- if (isset($this->config->current['VACATIONDIR'])){
- $dir= $this->config->current['VACATIONDIR'];
+ if ($this->config->get_cfg_value("vacationdir") != ""){
+ $dir= $this->config->get_cfg_value("vacationdir");
if (is_dir($dir) && is_readable($dir)){
/* Look for files and build the vacation array */
/* Get available mailserver */
$mailserver= array();
+ $ui = get_userinfo();
foreach ($this->config->data['SERVERS']['IMAP'] as $key => $val){
- $mailserver[]= $key;
+ if( $this->gosaMailServer == $key ||
+ preg_match("/r/",$ui->get_permissions($val['server_dn'],"server/goImapServer",""))){
+ $mailserver[]= $key;
+ }
}
/*
/* 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();
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)) {
/* 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 ();
function allow_remove()
{
- if (isset($this->config->current['MAILMETHOD'])){
- $method= $this->config->current['MAILMETHOD'];
+ if ($this->config->get_cfg_value("mailmethod") != ""){
+ $method= $this->config->get_cfg_value("mailmethod");
if(preg_match("/olab/i",$method)){
$ldap = $this->config->get_ldap_link();
$ldap->cd($this->config->current['BASE']);