mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-05-01 03:14:26 +02:00
changed emailadmin_imap to switch emailadmin_sieve to exceptions and handle these for vacation now
This commit is contained in:
parent
86eb361233
commit
f27fbd3fc8
@ -79,16 +79,16 @@ class mail_sieve
|
|||||||
var $mail_admin = false;
|
var $mail_admin = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* emailadmin_imap account object
|
* account object
|
||||||
*
|
*
|
||||||
* @var type
|
* @var emailadmin_imap
|
||||||
*/
|
*/
|
||||||
var $account;
|
var $account;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* flag to check if vacation is called from admin
|
* flag to check if vacation is called from admin
|
||||||
*
|
*
|
||||||
* @var type
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
var $is_admin_vac = false;
|
var $is_admin_vac = false;
|
||||||
|
|
||||||
@ -456,43 +456,32 @@ class mail_sieve
|
|||||||
/**
|
/**
|
||||||
* Fetch Vacation rules and predefined Addresses from mailserver
|
* Fetch Vacation rules and predefined Addresses from mailserver
|
||||||
*
|
*
|
||||||
* @param {array} $vacation
|
* @param string $accountID
|
||||||
* @param {string} $msg
|
|
||||||
* @param {sting} $accountID
|
|
||||||
*
|
*
|
||||||
* @return {array} return multi-dimentional array of vacation and aliases
|
* @return array return multi-dimentional array of vacation and aliases
|
||||||
*/
|
*/
|
||||||
function getVacation(&$vacation,&$msg, $accountID = null)
|
function getVacation($accountID = null)
|
||||||
{
|
{
|
||||||
if(!(empty($this->mailConfig['prefpreventabsentnotice']) || $this->mailConfig['prefpreventabsentnotice'] == 0))
|
if(!(empty($this->mailConfig['prefpreventabsentnotice']) || $this->mailConfig['prefpreventabsentnotice'] == 0))
|
||||||
{
|
{
|
||||||
throw new egw_exception_no_permission();
|
throw new egw_exception_no_permission();
|
||||||
}
|
}
|
||||||
$icServer = $this->is_admin_vac? $this->account->imapServer($accountID):$this->account->imapServer();
|
try {
|
||||||
|
if ($this->is_admin_vac)
|
||||||
$ret = $icServer->getScript($this->scriptName);
|
|
||||||
if(!is_string($ret) && !isset($ret))
|
|
||||||
{
|
|
||||||
if(PEAR::isError($error = $icServer->retrieveRules($this->scriptName)) )
|
|
||||||
{
|
{
|
||||||
$vacation = array();
|
$icServer = $this->account->imapServer($accountID);
|
||||||
|
$vacation = $icServer->getVacationUser($accountID);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($this->is_admin_vac)
|
$icServer = $this->account->imapServer();
|
||||||
{
|
$icServer->retrieveRules($this->scriptName);
|
||||||
$vacation = $icServer->getVacationUser($accountID);
|
$vacation = $icServer->getVacation();
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$vacation = $icServer->getVacation();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
catch(Exception $e)
|
||||||
{
|
{
|
||||||
// something went wrong
|
egw_framework::window_close(lang($e->getMessage()));
|
||||||
if ($error) $msg = lang($error);
|
|
||||||
}
|
}
|
||||||
if (is_null($accountID)) $accountID = $GLOBALS['egw_info']['user']['account_id'];
|
if (is_null($accountID)) $accountID = $GLOBALS['egw_info']['user']['account_id'];
|
||||||
|
|
||||||
@ -559,7 +548,7 @@ class mail_sieve
|
|||||||
|
|
||||||
if ( $this->account->acc_sieve_enabled)
|
if ( $this->account->acc_sieve_enabled)
|
||||||
{
|
{
|
||||||
$vacRules = $this->getVacation($vacation,$msg, $account_id);
|
$vacRules = $this->getVacation($account_id);
|
||||||
|
|
||||||
if ($this->timed_vacation)
|
if ($this->timed_vacation)
|
||||||
{
|
{
|
||||||
|
@ -2817,12 +2817,15 @@ app.classes.mail = AppJS.extend(
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Edit vacation message
|
||||||
*
|
*
|
||||||
* @todo get the account id and open the relevant vacation, ATM alway open vacation rules which is set in preferences
|
* @param {action} _action
|
||||||
|
* @param {sender} _senders
|
||||||
*/
|
*/
|
||||||
edit_vacation: function()
|
edit_vacation: function(_action, _senders)
|
||||||
{
|
{
|
||||||
this.egw.open_link('mail.mail_sieve.editVacation','_blank','700x480');
|
var acc_id = parseInt(_senders[0].id);
|
||||||
|
this.egw.open_link('mail.mail_sieve.editVacation&acc_id='+acc_id,'_blank','700x480');
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user