mirror of
https://github.com/roundcube/roundcubemail.git
synced 2026-03-07 00:26:48 +01:00
- Added support for headers lists (coma-separated) in rules
This commit is contained in:
@@ -1,59 +1,65 @@
|
||||
* version 1.0 [2009-05-21]
|
||||
* version 1.1 [2009-05-27]
|
||||
-----------------------------------------------------------
|
||||
Rewritten using plugin API
|
||||
Added hu_HU localization (Tamas Tevesz)
|
||||
- Added new icons
|
||||
- Added support for headers lists (coma-separated) in rules
|
||||
- Added de_CH localization
|
||||
|
||||
* version beta7 (svn-r2300) [2009-03-01]
|
||||
* version 1.0 [2009-05-21]
|
||||
-----------------------------------------------------------
|
||||
Added SquirrelMail script auto-import (Jonathan Ernst)
|
||||
Added 'vacation' support (Jonathan Ernst & alec)
|
||||
Added 'stop' support (Jonathan Ernst)
|
||||
Added option for extensions disabling (Jonathan Ernst & alec)
|
||||
Added fi_FI, nl_NL, bg_BG localization
|
||||
Small style fixes
|
||||
- Rewritten using plugin API
|
||||
- Added hu_HU localization (Tamas Tevesz)
|
||||
|
||||
* version beta7 (svn-r2300) [2009-03-01]
|
||||
-----------------------------------------------------------
|
||||
- Added SquirrelMail script auto-import (Jonathan Ernst)
|
||||
- Added 'vacation' support (Jonathan Ernst & alec)
|
||||
- Added 'stop' support (Jonathan Ernst)
|
||||
- Added option for extensions disabling (Jonathan Ernst & alec)
|
||||
- Added fi_FI, nl_NL, bg_BG localization
|
||||
- Small style fixes
|
||||
|
||||
* version 0.2-stable1 (svn-r2205) [2009-01-03]
|
||||
-----------------------------------------------------------
|
||||
Fix moving down filter row
|
||||
Fixes for compressed js files in stable release package
|
||||
Created patch for svn version r2205
|
||||
- Fix moving down filter row
|
||||
- Fixes for compressed js files in stable release package
|
||||
- Created patch for svn version r2205
|
||||
|
||||
* version 0.2-stable [2008-12-31]
|
||||
-----------------------------------------------------------
|
||||
Added ru_RU, fr_FR, zh_CN translation
|
||||
Fixes for Roundcube 0.2-stable
|
||||
- Added ru_RU, fr_FR, zh_CN translation
|
||||
- Fixes for Roundcube 0.2-stable
|
||||
|
||||
* version rc0.2beta [2008-09-21]
|
||||
-----------------------------------------------------------
|
||||
Small css fixes for IE
|
||||
Fixes for Roundcube 0.2-beta
|
||||
- Small css fixes for IE
|
||||
- Fixes for Roundcube 0.2-beta
|
||||
|
||||
* version beta6 [2008-08-08]
|
||||
-----------------------------------------------------------
|
||||
Added de_DE translation
|
||||
Fix for Roundcube r1634
|
||||
- Added de_DE translation
|
||||
- Fix for Roundcube r1634
|
||||
|
||||
* version beta5 [2008-06-10]
|
||||
-----------------------------------------------------------
|
||||
Fixed 'exists' operators
|
||||
Fixed 'not*' operators for custom headers
|
||||
Fixed filters deleting
|
||||
- Fixed 'exists' operators
|
||||
- Fixed 'not*' operators for custom headers
|
||||
- Fixed filters deleting
|
||||
|
||||
* version beta4 [2008-06-09]
|
||||
-----------------------------------------------------------
|
||||
Fix for Roundcube r1490
|
||||
- Fix for Roundcube r1490
|
||||
|
||||
* version beta3 [2008-05-22]
|
||||
-----------------------------------------------------------
|
||||
Fixed textarea error class setting
|
||||
Added pagetitle setting
|
||||
Added option 'managesieve_replace_delimiter'
|
||||
Fixed errors on IE (still need some css fixes)
|
||||
- Fixed textarea error class setting
|
||||
- Added pagetitle setting
|
||||
- Added option 'managesieve_replace_delimiter'
|
||||
- Fixed errors on IE (still need some css fixes)
|
||||
|
||||
* version beta2 [2008-05-20]
|
||||
-----------------------------------------------------------
|
||||
Use 'if' only for first filter and 'elsif' for the rest
|
||||
- Use 'if' only for first filter and 'elsif' for the rest
|
||||
|
||||
* version beta1 [2008-05-15]
|
||||
-----------------------------------------------------------
|
||||
Initial version for Roundcube r1388.
|
||||
- Initial version for Roundcube r1388.
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* It's clickable interface which operates on text scripts and communicates
|
||||
* with server using managesieve protocol. Adds Filters tab in Settings.
|
||||
*
|
||||
* @version 1.0
|
||||
* @version 1.1
|
||||
* @author Aleksander 'A.L.E.C' Machniak <alec@alec.pl>
|
||||
*
|
||||
* Configuration (main.inc.php):
|
||||
@@ -308,7 +308,7 @@ class managesieve extends rcube_plugin
|
||||
$this->errors['tests'][$i]['sizetarget'] = $this->gettext('wrongformat');
|
||||
break;
|
||||
case '...':
|
||||
$cust_header = $this->strip_value($cust_headers[$idx]);
|
||||
$cust_header = $headers = $this->strip_value($cust_headers[$idx]);
|
||||
|
||||
if(preg_match('/^not/', $op))
|
||||
$this->form['tests'][$i]['not'] = true;
|
||||
@@ -316,10 +316,22 @@ class managesieve extends rcube_plugin
|
||||
|
||||
if ($cust_header == '')
|
||||
$this->errors['tests'][$i]['header'] = $this->gettext('cannotbeempty');
|
||||
elseif (!preg_match('/^[a-z0-9-]+$/i', $cust_header))
|
||||
$this->errors['tests'][$i]['header'] = $this->gettext('forbiddenchars');
|
||||
|
||||
if ($type == 'exists')
|
||||
else {
|
||||
$headers = preg_split('/[\s,]+/', $cust_header, -1, PREG_SPLIT_NO_EMPTY);
|
||||
|
||||
if (!count($headers))
|
||||
$this->errors['tests'][$i]['header'] = $this->gettext('cannotbeempty');
|
||||
else {
|
||||
foreach ($headers as $hr)
|
||||
if (!preg_match('/^[a-z0-9-]+$/i', $hr))
|
||||
$this->errors['tests'][$i]['header'] = $this->gettext('forbiddenchars');
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($this->errors['tests'][$i]['header']))
|
||||
$cust_header = $headers;
|
||||
|
||||
if ($type == 'exists')
|
||||
{
|
||||
$this->form['tests'][$i]['test'] = 'exists';
|
||||
$this->form['tests'][$i]['arg'] = $cust_header;
|
||||
@@ -599,9 +611,11 @@ class managesieve extends rcube_plugin
|
||||
|
||||
// TODO: list arguments
|
||||
|
||||
if ((isset($rule['test']) && $rule['test'] == 'header') && in_array($rule['arg1'], $this->headers))
|
||||
if ((isset($rule['test']) && $rule['test'] == 'header')
|
||||
&& !is_array($rule['arg1']) && in_array($rule['arg1'], $this->headers))
|
||||
$out .= $select_header->show($rule['arg1']);
|
||||
elseif ((isset($rule['test']) && $rule['test'] == 'exists') && in_array($rule['arg'], $this->headers))
|
||||
elseif ((isset($rule['test']) && $rule['test'] == 'exists')
|
||||
&& !is_array($rule['arg']) && in_array($rule['arg'], $this->headers))
|
||||
$out .= $select_header->show($rule['arg']);
|
||||
elseif (isset($rule['test']) && $rule['test'] == 'size')
|
||||
$out .= $select_header->show('size');
|
||||
@@ -612,10 +626,12 @@ class managesieve extends rcube_plugin
|
||||
|
||||
$out .= '</td><td class="rowtargets">';
|
||||
|
||||
if ((isset($rule['test']) && $rule['test'] == 'header') && !in_array($rule['arg1'], $this->headers))
|
||||
$custom = $rule['arg1'];
|
||||
elseif ((isset($rule['test']) && $rule['test'] == 'exists') && !in_array($rule['arg'], $this->headers))
|
||||
$custom = $rule['arg'];
|
||||
if ((isset($rule['test']) && $rule['test'] == 'header')
|
||||
&& (is_array($rule['arg1']) || !in_array($rule['arg1'], $this->headers)))
|
||||
$custom = is_array($rule['arg1']) ? implode(', ', $rule['arg1']) : $rule['arg1'];
|
||||
elseif ((isset($rule['test']) && $rule['test'] == 'exists')
|
||||
&& (is_array($rule['arg']) || !in_array($rule['arg'], $this->headers)))
|
||||
$custom = is_array($rule['arg']) ? implode(', ', $rule['arg']) : $rule['arg'];
|
||||
|
||||
$out .= '<div id="custom_header' .$id. '" style="display:' .(isset($custom) ? 'inline' : 'none'). '">
|
||||
<input type="text" name="_custom_header[]" '. $this->error_class($id, 'test', 'header')
|
||||
|
||||
Reference in New Issue
Block a user