diff --git a/gosa-plugins/mail/personal/mail/class_mailAccount.inc b/gosa-plugins/mail/personal/mail/class_mailAccount.inc
index d5b87ef2e9c3b370544a1e09cc4c8c86e754d48d..295ab5747b801bd6eb374b0fabd985551664e8f1 100644 (file)
var $gosaSpamMailbox = "";
/* The methods defaults */
+ var $quotaUsage = -1; // Means unknown
+
var $mailMethod = NULL;
var $MailDomain = "";
var $sieveManagementUsed = FALSE;
var $multiple_support = TRUE;
+ var $uid = "";
+ var $cn = "";
+
+
/*! \brief Initialize the mailAccount
*/
function __construct (&$config, $dn= NULL)
{
plugin::plugin($config,$dn);
+ /* Get attributes from parent object
+ */
+ foreach(array("uid","cn") as $attr){
+ if(isset($this->parent->by_object['group']) && isset($this->parent->by_object['group']->$attr)){
+ $this->$attr = &$this->parent->by_object['group']->$attr;
+ }elseif(isset($this->attrs[$attr])){
+ $this->$attr = $this->attrs[$attr][0];
+ }
+ }
+
/* Intialize the used mailMethod
*/
$tmp = new mailMethod($config,$this);
/* Read quota */
$this->gosaMailQuota = $this->mailMethod->getQuota($this->gosaMailQuota);
+ $this->quotaUsage = $this->mailMethod->getQuotaUsage($this->quotaUsage);
if($this->mailMethod->is_error()){
- msg_dialog::display(_("Mail error"), sprintf(_("Cannot read quota settings! Error was: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Cannot read quota settings: %s"),
$this->mailMethod->get_error()), ERROR_DIALOG);
}
/* Read mailboxes */
$this->MailBoxes = $this->mailMethod->getMailboxList($this->MailBoxes);
if($this->mailMethod->is_error()){
- msg_dialog::display(_("Mail error"), sprintf(_("Cannot get list of mailboxes! Error was: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Cannot get list of mailboxes: %s"),
$this->mailMethod->get_error()), ERROR_DIALOG);
}
}elseif(!$this->mailMethod->is_connected()){
- msg_dialog::display(_("Mail error"), sprintf(_("Cannot connect mail method! Error was: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Mail method cannot connect: %s"),
$this->mailMethod->get_error()), ERROR_DIALOG);
}elseif(!$this->mailMethod->account_exists()){
- msg_dialog::display(_("Mail error"), sprintf(_("Mailbox '%s' doesn't exists on mail server: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Mailbox '%s' doesn't exists on mail server: %s"),
$this->mailMethod->get_account_id(),$this->gosaMailServer), ERROR_DIALOG);
}
****************/
$smarty = get_smarty();
$smarty->assign("initially_was_account", $this->initially_was_account);
- $smarty->assign("isModifyableMail", $this->mailMethod->isModifyableMail());
+ $smarty->assign("isModifyableMail" , $this->mailMethod->isModifyableMail());
+ $smarty->assign("isModifyableServer", $this->mailMethod->isModifyableServer());
$smarty->assign("mailEqualsCN", $this->mailMethod->mailEqualsCN());
$SkipWrite = (!isset($this->parent) || !$this->parent) && !session::is_set('edit');
$smarty->assign($attr,$this->$attr);
}
$smarty->assign("quotaEnabled", $this->mailMethod->quotaEnabled());
- if($this->mailMethod->is_connected()){
- $smarty->assign("quotaUsage", $this->mailMethod->getQuotaUsage());
- }else{
- $smarty->assign("quotaUsage", _("Unknown"));
+ if($this->mailMethod->quotaEnabled()){
+ $smarty->assign("quotaUsage", mailMethod::quota_to_image($this->quotaUsage,$this->gosaMailQuota));
+ $smarty->assign("gosaMailQuota",$this->gosaMailQuota);
}
- $smarty->assign("gosaMailQuota",$this->gosaMailQuota);
$smarty->assign("domainSelectionEnabled", $this->mailMethod->domainSelectionEnabled());
$smarty->assign("MailDomains", $this->mailDomainParts);
$smarty->assign("MailDomain" , $this->mailDomainPart);
if (isset($_POST['mailTab'])){
/* Save ldap attributes */
- $mail = $this->mail;
+ $mail = $this->mail;
+ $server = $this->gosaMailServer;
plugin::save_object();
+ if(!$this->mailMethod->isModifyableServer() && $this->initially_was_account){
+ $this->gosaMailServer = $server;
+ }
+
if(!$this->mailMethod->isModifyableMail() && $this->initially_was_account){
$this->mail = $mail;
}else{
if (!$this->is_template){
if(!$this->mailMethod->connect()){
- msg_dialog::display(_("Mail error"), sprintf(_("Cannot connect mail method! Error was: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Mail method cannot connect: %s"),
$this->mailMethod->get_error()), ERROR_DIALOG);
}else{
if(!$this->mailMethod->deleteMailbox()){
- msg_dialog::display(_("Mail error"), sprintf(_("Cannot remove mailbox! Error was: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Cannot remove mailbox: %s"),
$this->mailMethod->get_error()), ERROR_DIALOG);
}
}
if (!$this->is_template){
$this->mailMethod->connect();
if(!$this->mailMethod->is_connected()){
- msg_dialog::display(_("Mail error"), sprintf(_("Cannot connect mail method! Error was: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Mail method cannot connect: %s"),
$this->mailMethod->get_error()), ERROR_DIALOG);
}else{
if(!$this->mailMethod->updateMailbox()){
- msg_dialog::display(_("Mail error"), sprintf(_("Cannot update mailbox! Error was: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Cannot update mailbox: %s"),
$this->mailMethod->get_error()), ERROR_DIALOG);
}
if(!$this->mailMethod->setQuota($this->gosaMailQuota)){
- msg_dialog::display(_("Mail error"), sprintf(_("Cannot write quota settings! Error was: %s."),
+ msg_dialog::display(_("Mail error"), sprintf(_("Cannot write quota settings: %s"),
$this->mailMethod->get_error()), ERROR_DIALOG);
}