plugins/managesieve/Changelog | ●●●●● patch | view | raw | blame | history | |
plugins/managesieve/managesieve.php | ●●●●● patch | view | raw | blame | history |
plugins/managesieve/Changelog
@@ -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. plugins/managesieve/managesieve.php
@@ -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 @@ $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 @@ 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 @@ // 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 @@ $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')