Switch sieve from oldimap class to new imap

This commit is contained in:
Hadi Nategh 2014-05-13 17:09:05 +00:00
parent b25724e7ed
commit 1c31dad881
2 changed files with 22 additions and 49 deletions

View File

@ -57,21 +57,13 @@ class mail_sieve
function __construct() function __construct()
{ {
$this->displayCharset = translation::charset();
if(empty($GLOBALS['egw_info']['user']['preferences']['mail']['sieveScriptName']))
{
$GLOBALS['egw']->preferences->add('mail','sieveScriptName','felamimail', 'forced');
$GLOBALS['egw']->preferences->save_repository();
}
$this->scriptName = (!empty($GLOBALS['egw_info']['user']['preferences']['mail']['sieveScriptName'])) ? $GLOBALS['egw_info']['user']['preferences']['mail']['sieveScriptName'] : 'felamimail' ;
$this->displayCharset = $GLOBALS['egw']->translation->charset();
$this->botranslation =& $GLOBALS['egw']->translation;
$profileID = 0; $profileID = 0;
if (isset($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'])) if (isset($GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID']))
{ {
$profileID = (int) $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID']; $profileID = (int) $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'];
} }
$this->mailbo = mail_bo::getInstance(false, $profileID, false, $oldIMAPObject=true); $this->mailbo = mail_bo::getInstance(false, $profileID, false,false);
$this->mailPreferences =& $this->mailbo->mailPreferences; $this->mailPreferences =& $this->mailbo->mailPreferences;
$this->mailConfig = config::read('mail'); $this->mailConfig = config::read('mail');
@ -80,19 +72,8 @@ class mail_sieve
$this->currentIdentity = $allIdentities[$defaultIdentity]; $this->currentIdentity = $allIdentities[$defaultIdentity];
$this->currentIdentity['identity_string'] = mail_bo::generateIdentityString($allIdentities[$defaultIdentity],true); $this->currentIdentity['identity_string'] = mail_bo::generateIdentityString($allIdentities[$defaultIdentity],true);
$this->restoreSessionData(); $this->restoreSessionData();
$icServer = $this->mailbo->icServer; $this->bosieve = $this->mailbo->icServer;
if(($icServer instanceof defaultimap) && $icServer->enableSieve) $this->timed_vacation = $this->bosieve->enableSieve && $this->bosieve->acc_imap_administration;
{
$this->bosieve = $icServer;
$serverclass = get_class($icServer);
$classsupportstimedsieve = false;
if (!empty($serverclass) && stripos(constant($serverclass . '::CAPABILITIES'), 'timedsieve') !== false)
{
$classsupportstimedsieve = true;
}
$this->timed_vacation = $classsupportstimedsieve && $icServer->enableCyrusAdmin &&
$icServer->adminUsername && $icServer->adminPassword;
}
} }
/** /**
@ -468,10 +449,6 @@ class mail_sieve
$defaultIdentity = $this->mailbo->getDefaultIdentity(); $defaultIdentity = $this->mailbo->getDefaultIdentity();
foreach($allIdentities as &$singleIdentity) foreach($allIdentities as &$singleIdentity)
{ {
if((empty($vacation))&& !empty($singleIdentity['ident_email']) && $singleIdentity['ident_email']==$allIdentities[$defaultIdentity]['ident_email'])
{
$selectedAddresses[$singleIdentity['ident_email']] = $singleIdentity['ident_email'];
}
$predefinedAddresses[$singleIdentity['ident_email']] = $singleIdentity['ident_email']; $predefinedAddresses[$singleIdentity['ident_email']] = $singleIdentity['ident_email'];
} }
asort($predefinedAddresses); asort($predefinedAddresses);
@ -532,7 +509,6 @@ class mail_sieve
//$this->timed_vacation=true;//this could force the timed vacation thingy even if not supported ;-) //$this->timed_vacation=true;//this could force the timed vacation thingy even if not supported ;-)
if ($this->timed_vacation) if ($this->timed_vacation)
{ {
include_once(EGW_API_INC.'/class.jscalendar.inc.php');
$ByDate = array('by_date' => lang('By date')); $ByDate = array('by_date' => lang('By date'));
} }
if (!is_array($content)) if (!is_array($content))

View File

@ -2456,10 +2456,8 @@ unset($query['actions']);
$vacation = $this->mail_bo->icServer->acc_sieve_enabled && ($this->mail_bo->icServer->acc_sieve_host||$this->mail_bo->icServer->acc_imap_host); $vacation = $this->mail_bo->icServer->acc_sieve_enabled && ($this->mail_bo->icServer->acc_sieve_host||$this->mail_bo->icServer->acc_imap_host);
//error_log(__METHOD__.__LINE__.' Server:'.self::$icServerID.' Sieve Enabled:'.array2string($vacation)); //error_log(__METHOD__.__LINE__.' Server:'.self::$icServerID.' Sieve Enabled:'.array2string($vacation));
if($vacation) { if($vacation) {
$sieveServerClass = mail_bo::getInstance(false, self::$icServerID, false, $oldIMAPObject=true); $sieveServer = $this->mail_bo->icServer;
$sieveServer = $sieveServerClass->icServer;
//error_log(__METHOD__.__LINE__.' Sieve Server:'.self::$icServerID.' InstanceOf:'.array2string(($sieveServer instanceof defaultimap)|| ($sieveServer instanceof emailadmin_oldimap)).':'.array2string($sieveServerClass)); //error_log(__METHOD__.__LINE__.' Sieve Server:'.self::$icServerID.' InstanceOf:'.array2string(($sieveServer instanceof defaultimap)|| ($sieveServer instanceof emailadmin_oldimap)).':'.array2string($sieveServerClass));
if(($sieveServer instanceof defaultimap) || ($sieveServer instanceof emailadmin_oldimap)) {
$scriptName = (!empty($GLOBALS['egw_info']['user']['preferences']['mail']['sieveScriptName'])) ? $GLOBALS['egw_info']['user']['preferences']['mail']['sieveScriptName'] : 'felamimail'; $scriptName = (!empty($GLOBALS['egw_info']['user']['preferences']['mail']['sieveScriptName'])) ? $GLOBALS['egw_info']['user']['preferences']['mail']['sieveScriptName'] : 'felamimail';
$sieveServer->getScript($scriptName); $sieveServer->getScript($scriptName);
$rules = $sieveServer->retrieveRules($sieveServer->scriptName,true); $rules = $sieveServer->retrieveRules($sieveServer->scriptName,true);
@ -2471,7 +2469,6 @@ unset($query['actions']);
} }
} }
//error_log(__METHOD__.__LINE__.' Server:'.self::$icServerID.' Vacation retrieved:'.array2string($vacation)); //error_log(__METHOD__.__LINE__.' Server:'.self::$icServerID.' Vacation retrieved:'.array2string($vacation));
}
return $vacation; return $vacation;
} }