From 7b274b8871767a9a28e18cb182d8e49f26a61cd7 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 3 Oct 2012 09:05:37 +0200 Subject: [PATCH 1/4] Fix so scripts listed in managesieve_filename_exceptions aren't displayed on the list (#1488724) --- plugins/managesieve/Changelog | 3 +++ plugins/managesieve/managesieve.php | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog index c0428c4fc..ce9386154 100644 --- a/plugins/managesieve/Changelog +++ b/plugins/managesieve/Changelog @@ -1,7 +1,10 @@ +* version 6.0 [2012-10-03] +----------------------------------------------------------- - Fixed issue with DBMail bug [http://pear.php.net/bugs/bug.php?id=19077] (#1488594) - Added support for enotify/notify (RFC5435, RFC5436, draft-ietf-sieve-notify-00) - Change default port to 4190 (IANA-allocated), add port auto-detection (#1488713) - Added request size limits detection and script corruption prevention (#1488648) +- Fix so scripts listed in managesieve_filename_exceptions aren't displayed on the list (#1488724) * version 5.2 [2012-07-24] ----------------------------------------------------------- diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php index 7282ff2e0..7f4624ec9 100644 --- a/plugins/managesieve/managesieve.php +++ b/plugins/managesieve/managesieve.php @@ -62,7 +62,7 @@ class managesieve extends rcube_plugin "x-beenthere", ); - const VERSION = '5.2'; + const VERSION = '6.0'; const PROGNAME = 'Roundcube (Managesieve)'; const PORT = 4190; @@ -1839,6 +1839,12 @@ class managesieve extends rcube_plugin if ($active = $this->sieve->get_active()) { $this->active = array($active); } + + // Hide scripts from config + $exceptions = $this->rc->config->get('managesieve_filename_exceptions'); + if (!empty($exceptions)) { + $this->list = array_diff($this->list, (array)$exceptions); + } } return $this->list; From e4785ce5992c2b60e21e82fce2a4391d463cc8c4 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 3 Oct 2012 09:07:59 +0200 Subject: [PATCH 2/4] Update package.xml --- plugins/managesieve/package.xml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/plugins/managesieve/package.xml b/plugins/managesieve/package.xml index 20fec7895..e8e8102b0 100644 --- a/plugins/managesieve/package.xml +++ b/plugins/managesieve/package.xml @@ -17,10 +17,10 @@ alec@alec.pl yes - 2012-07-24 + 2012-10-03 - 5.2 - 5.0 + 6.0 + 6.0 stable @@ -95,6 +95,15 @@ + + + + + + + + + From 577bf456e97462986f1e34d9fdc7a5103c7bea7b Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 3 Oct 2012 09:28:39 +0200 Subject: [PATCH 3/4] Add 0.7.3 and 0.8.1 to versions list --- installer/rcube_install.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer/rcube_install.php b/installer/rcube_install.php index 5af871346..767183562 100644 --- a/installer/rcube_install.php +++ b/installer/rcube_install.php @@ -453,8 +453,8 @@ class rcube_install '0.4-beta', '0.4.2', '0.5-beta', '0.5', '0.5.1', '0.6-beta', '0.6', - '0.7-beta', '0.7', '0.7.1', '0.7.2', - '0.8-beta', '0.8-rc', '0.8.0', + '0.7-beta', '0.7', '0.7.1', '0.7.2', '0.7.3', + '0.8-beta', '0.8-rc', '0.8.0', '0.8.1', )); return $select; } From d68c9088c3731ca84a0312e0648fe3c63e8d4a1d Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 3 Oct 2012 09:30:14 +0200 Subject: [PATCH 4/4] Fix spacing --- installer/rcube_install.php | 64 ++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/installer/rcube_install.php b/installer/rcube_install.php index 767183562..01525c99b 100644 --- a/installer/rcube_install.php +++ b/installer/rcube_install.php @@ -70,20 +70,20 @@ class rcube_install $this->step = intval($_REQUEST['_step']); $this->is_post = $_SERVER['REQUEST_METHOD'] == 'POST'; } - + /** * Singleton getter */ function get_instance() { static $inst; - + if (!$inst) $inst = new rcube_install(); - + return $inst; } - + /** * Read the default config files and store properties */ @@ -120,8 +120,8 @@ class rcube_install $this->config += $rcmail_config; } } - - + + /** * Getter for a certain config property * @@ -132,10 +132,10 @@ class rcube_install function getprop($name, $default = '') { $value = $this->config[$name]; - + if ($name == 'des_key' && !$this->configured && !isset($_REQUEST["_$name"])) $value = rcube_install::random_key(24); - + return $value !== null && $value !== '' ? $value : $default; } @@ -193,16 +193,16 @@ class rcube_install $value = '%p'; } else if ($prop == 'default_folders') { - $value = array(); - foreach ($this->config['default_folders'] as $_folder) { - switch ($_folder) { - case 'Drafts': $_folder = $this->config['drafts_mbox']; break; - case 'Sent': $_folder = $this->config['sent_mbox']; break; - case 'Junk': $_folder = $this->config['junk_mbox']; break; - case 'Trash': $_folder = $this->config['trash_mbox']; break; + $value = array(); + foreach ($this->config['default_folders'] as $_folder) { + switch ($_folder) { + case 'Drafts': $_folder = $this->config['drafts_mbox']; break; + case 'Sent': $_folder = $this->config['sent_mbox']; break; + case 'Junk': $_folder = $this->config['junk_mbox']; break; + case 'Trash': $_folder = $this->config['trash_mbox']; break; } - if (!in_array($_folder, $value)) - $value[] = $_folder; + if (!in_array($_folder, $value)) + $value[] = $_folder; } } else if (is_bool($default)) { @@ -241,14 +241,14 @@ class rcube_install $this->config = array(); $this->load_defaults(); $defaults = $this->config; - + $this->load_config(); if (!$this->configured) return null; - + $out = $seen = array(); $required = array_flip($this->required_config); - + // iterate over the current configuration foreach ($this->config as $prop => $value) { if ($replacement = $this->replaced_config[$prop]) { @@ -260,7 +260,7 @@ class rcube_install $seen[$prop] = true; } } - + // iterate over default config foreach ($defaults as $prop => $value) { if (!isset($seen[$prop]) && isset($required[$prop]) && !(is_bool($this->config[$prop]) || strlen($this->config[$prop]))) @@ -280,7 +280,7 @@ class rcube_install 'explain' => "You are missing pspell support for language $lang ($descr)"); } } - + if ($this->config['log_driver'] == 'syslog') { if (!function_exists('openlog')) { $out['dependencies'][] = array('prop' => 'log_driver', @@ -291,7 +291,7 @@ class rcube_install 'explain' => 'Using syslog for logging requires a syslog ID to be configured'); } } - + // check ldap_public sources having global_search enabled if (is_array($this->config['ldap_public']) && !is_array($this->config['autocomplete_addressbooks'])) { foreach ($this->config['ldap_public'] as $ldap_public) { @@ -301,11 +301,11 @@ class rcube_install } } } - + return $out; } - - + + /** * Merge the current configuration with the defaults * and copy replaced values to the new options. @@ -327,11 +327,11 @@ class rcube_install } unset($current[$prop]); } - + foreach ($this->obsolete_config as $prop) { unset($current[$prop]); } - + // add all ldap_public sources having global_search enabled to autocomplete_addressbooks if (is_array($current['ldap_public'])) { foreach ($current['ldap_public'] as $key => $ldap_public) { @@ -341,7 +341,7 @@ class rcube_install } } } - + if ($current['keep_alive'] && $current['session_lifetime'] < $current['keep_alive']) $current['session_lifetime'] = max(10, ceil($current['keep_alive'] / 60) * 2); @@ -351,7 +351,7 @@ class rcube_install $this->config['ldap_public'][$key] = $current['ldap_public'][$key]; } } - + /** * Compare the local database schema with the reference schema * required for this version of Roundcube @@ -363,11 +363,11 @@ class rcube_install { if (!$this->configured) return false; - + // read reference schema from mysql.initial.sql $db_schema = $this->db_read_schema(INSTALL_PATH . 'SQL/mysql.initial.sql'); $errors = array(); - + // check list of tables $existing_tables = $DB->list_tables();