// 'password' => '*****',
),
'script' => 'sieve',
- 'scriptparams' => array(),
+ 'scriptparams' => array(
+ // If using Dovecot or any other Sieve implementation that requires
+ // folder names to be UTF-8 encoded, set this parameter to true.
+ 'utf8' => false,
+ ),
'shares' => false
);
$action[] = new Sieve_Action_Keep();
$action[] = new Sieve_Action_Removeflag(array('flags' => Ingo_Storage::FLAG_DELETED));
} else {
- $action[] = new Sieve_Action_Fileinto(array('folder' => $folder));
+ $action[] = new Sieve_Action_Fileinto(array_merge($this->_params, array('folder' => $folder)));
}
$action[] = new Sieve_Action_Stop();
$this->_blocks[] = new Sieve_Comment(_("Spam Filter"));
$actions = array();
- $actions[] = new Sieve_Action_Fileinto(array(
- 'folder' => $spam->getSpamFolder()
- ));
+ $actions[] = new Sieve_Action_Fileinto(array_merge($this->_params, array('folder' => $spam->getSpamFolder())));
if ($GLOBALS['conf']['spam']['compare'] == 'numeric') {
$vals = array(
$action[] = new Sieve_Action_Addflag(array('flags' => $filter['flags']));
}
- $action[] = new Sieve_Action_Fileinto(array('folder' => $filter['action-value']));
+ $action[] = new Sieve_Action_Fileinto(array_merge($this->_params, array('folder' => $filter['action-value'])));
if (!empty($filter['flags'])) {
$action[] = new Sieve_Action_RemoveFlag(array('flags' => $filter['flags']));
}
$action[] = new Sieve_Action_Keep();
- $action[] = new Sieve_Action_Fileinto(array('folder' => $filter['action-value']));
+ $action[] = new Sieve_Action_Fileinto(array_merge($this->_params, array('folder' => $filter['action-value'])));
if (!empty($filter['flags'])) {
$action[] = new Sieve_Action_RemoveFlag(array('flags' => $filter['flags']));
function Sieve_Action_Fileinto($vars = array())
{
$this->_vars['folder'] = (isset($vars['folder'])) ? $vars['folder'] : '';
+ if (!empty($vars['utf8'])) {
+ $this->_vars['folder'] = String::convertCharset($this->_vars['folder'], 'UTF7-IMAP', 'UTF-8');
+ }
}
/**