Merge branch 'master' of github.com:roundcube/roundcubemail

pull/37/head
Thomas Bruederli 12 years ago
commit 05c4edf34b

@ -70,20 +70,20 @@ class rcube_install
$this->step = intval($_REQUEST['_step']); $this->step = intval($_REQUEST['_step']);
$this->is_post = $_SERVER['REQUEST_METHOD'] == 'POST'; $this->is_post = $_SERVER['REQUEST_METHOD'] == 'POST';
} }
/** /**
* Singleton getter * Singleton getter
*/ */
function get_instance() function get_instance()
{ {
static $inst; static $inst;
if (!$inst) if (!$inst)
$inst = new rcube_install(); $inst = new rcube_install();
return $inst; return $inst;
} }
/** /**
* Read the default config files and store properties * Read the default config files and store properties
*/ */
@ -120,8 +120,8 @@ class rcube_install
$this->config += $rcmail_config; $this->config += $rcmail_config;
} }
} }
/** /**
* Getter for a certain config property * Getter for a certain config property
* *
@ -132,10 +132,10 @@ class rcube_install
function getprop($name, $default = '') function getprop($name, $default = '')
{ {
$value = $this->config[$name]; $value = $this->config[$name];
if ($name == 'des_key' && !$this->configured && !isset($_REQUEST["_$name"])) if ($name == 'des_key' && !$this->configured && !isset($_REQUEST["_$name"]))
$value = rcube_install::random_key(24); $value = rcube_install::random_key(24);
return $value !== null && $value !== '' ? $value : $default; return $value !== null && $value !== '' ? $value : $default;
} }
@ -193,16 +193,16 @@ class rcube_install
$value = '%p'; $value = '%p';
} }
else if ($prop == 'default_folders') { else if ($prop == 'default_folders') {
$value = array(); $value = array();
foreach ($this->config['default_folders'] as $_folder) { foreach ($this->config['default_folders'] as $_folder) {
switch ($_folder) { switch ($_folder) {
case 'Drafts': $_folder = $this->config['drafts_mbox']; break; case 'Drafts': $_folder = $this->config['drafts_mbox']; break;
case 'Sent': $_folder = $this->config['sent_mbox']; break; case 'Sent': $_folder = $this->config['sent_mbox']; break;
case 'Junk': $_folder = $this->config['junk_mbox']; break; case 'Junk': $_folder = $this->config['junk_mbox']; break;
case 'Trash': $_folder = $this->config['trash_mbox']; break; case 'Trash': $_folder = $this->config['trash_mbox']; break;
} }
if (!in_array($_folder, $value)) if (!in_array($_folder, $value))
$value[] = $_folder; $value[] = $_folder;
} }
} }
else if (is_bool($default)) { else if (is_bool($default)) {
@ -241,14 +241,14 @@ class rcube_install
$this->config = array(); $this->config = array();
$this->load_defaults(); $this->load_defaults();
$defaults = $this->config; $defaults = $this->config;
$this->load_config(); $this->load_config();
if (!$this->configured) if (!$this->configured)
return null; return null;
$out = $seen = array(); $out = $seen = array();
$required = array_flip($this->required_config); $required = array_flip($this->required_config);
// iterate over the current configuration // iterate over the current configuration
foreach ($this->config as $prop => $value) { foreach ($this->config as $prop => $value) {
if ($replacement = $this->replaced_config[$prop]) { if ($replacement = $this->replaced_config[$prop]) {
@ -260,7 +260,7 @@ class rcube_install
$seen[$prop] = true; $seen[$prop] = true;
} }
} }
// iterate over default config // iterate over default config
foreach ($defaults as $prop => $value) { foreach ($defaults as $prop => $value) {
if (!isset($seen[$prop]) && isset($required[$prop]) && !(is_bool($this->config[$prop]) || strlen($this->config[$prop]))) 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)"); 'explain' => "You are missing pspell support for language $lang ($descr)");
} }
} }
if ($this->config['log_driver'] == 'syslog') { if ($this->config['log_driver'] == 'syslog') {
if (!function_exists('openlog')) { if (!function_exists('openlog')) {
$out['dependencies'][] = array('prop' => 'log_driver', $out['dependencies'][] = array('prop' => 'log_driver',
@ -291,7 +291,7 @@ class rcube_install
'explain' => 'Using <tt>syslog</tt> for logging requires a syslog ID to be configured'); 'explain' => 'Using <tt>syslog</tt> for logging requires a syslog ID to be configured');
} }
} }
// check ldap_public sources having global_search enabled // check ldap_public sources having global_search enabled
if (is_array($this->config['ldap_public']) && !is_array($this->config['autocomplete_addressbooks'])) { if (is_array($this->config['ldap_public']) && !is_array($this->config['autocomplete_addressbooks'])) {
foreach ($this->config['ldap_public'] as $ldap_public) { foreach ($this->config['ldap_public'] as $ldap_public) {
@ -301,11 +301,11 @@ class rcube_install
} }
} }
} }
return $out; return $out;
} }
/** /**
* Merge the current configuration with the defaults * Merge the current configuration with the defaults
* and copy replaced values to the new options. * and copy replaced values to the new options.
@ -327,11 +327,11 @@ class rcube_install
} }
unset($current[$prop]); unset($current[$prop]);
} }
foreach ($this->obsolete_config as $prop) { foreach ($this->obsolete_config as $prop) {
unset($current[$prop]); unset($current[$prop]);
} }
// add all ldap_public sources having global_search enabled to autocomplete_addressbooks // add all ldap_public sources having global_search enabled to autocomplete_addressbooks
if (is_array($current['ldap_public'])) { if (is_array($current['ldap_public'])) {
foreach ($current['ldap_public'] as $key => $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']) if ($current['keep_alive'] && $current['session_lifetime'] < $current['keep_alive'])
$current['session_lifetime'] = max(10, ceil($current['keep_alive'] / 60) * 2); $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]; $this->config['ldap_public'][$key] = $current['ldap_public'][$key];
} }
} }
/** /**
* Compare the local database schema with the reference schema * Compare the local database schema with the reference schema
* required for this version of Roundcube * required for this version of Roundcube
@ -363,11 +363,11 @@ class rcube_install
{ {
if (!$this->configured) if (!$this->configured)
return false; return false;
// read reference schema from mysql.initial.sql // read reference schema from mysql.initial.sql
$db_schema = $this->db_read_schema(INSTALL_PATH . 'SQL/mysql.initial.sql'); $db_schema = $this->db_read_schema(INSTALL_PATH . 'SQL/mysql.initial.sql');
$errors = array(); $errors = array();
// check list of tables // check list of tables
$existing_tables = $DB->list_tables(); $existing_tables = $DB->list_tables();
@ -453,8 +453,8 @@ class rcube_install
'0.4-beta', '0.4.2', '0.4-beta', '0.4.2',
'0.5-beta', '0.5', '0.5.1', '0.5-beta', '0.5', '0.5.1',
'0.6-beta', '0.6', '0.6-beta', '0.6',
'0.7-beta', '0.7', '0.7.1', '0.7.2', '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-beta', '0.8-rc', '0.8.0', '0.8.1',
)); ));
return $select; return $select;
} }

@ -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) - 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) - Added support for enotify/notify (RFC5435, RFC5436, draft-ietf-sieve-notify-00)
- Change default port to 4190 (IANA-allocated), add port auto-detection (#1488713) - Change default port to 4190 (IANA-allocated), add port auto-detection (#1488713)
- Added request size limits detection and script corruption prevention (#1488648) - 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] * version 5.2 [2012-07-24]
----------------------------------------------------------- -----------------------------------------------------------

@ -62,7 +62,7 @@ class managesieve extends rcube_plugin
"x-beenthere", "x-beenthere",
); );
const VERSION = '5.2'; const VERSION = '6.0';
const PROGNAME = 'Roundcube (Managesieve)'; const PROGNAME = 'Roundcube (Managesieve)';
const PORT = 4190; const PORT = 4190;
@ -1839,6 +1839,12 @@ class managesieve extends rcube_plugin
if ($active = $this->sieve->get_active()) { if ($active = $this->sieve->get_active()) {
$this->active = array($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; return $this->list;

@ -17,10 +17,10 @@
<email>alec@alec.pl</email> <email>alec@alec.pl</email>
<active>yes</active> <active>yes</active>
</lead> </lead>
<date>2012-07-24</date> <date>2012-10-03</date>
<version> <version>
<release>5.2</release> <release>6.0</release>
<api>5.0</api> <api>6.0</api>
</version> </version>
<stability> <stability>
<release>stable</release> <release>stable</release>
@ -95,6 +95,15 @@
<file name="skins/classic/images/down_small.gif" role="data"></file> <file name="skins/classic/images/down_small.gif" role="data"></file>
<file name="skins/classic/images/filter.png" role="data"></file> <file name="skins/classic/images/filter.png" role="data"></file>
<file name="skins/classic/images/up_small.gif" role="data"></file> <file name="skins/classic/images/up_small.gif" role="data"></file>
<file name="skins/larry/managesieve.css" role="data"></file>
<file name="skins/larry/managesieve_mail.css" role="data"></file>
<file name="skins/larry/templates/filteredit.html" role="data"></file>
<file name="skins/larry/templates/managesieve.html" role="data"></file>
<file name="skins/larry/templates/setedit.html" role="data"></file>
<file name="skins/larry/images/add.png" role="data"></file>
<file name="skins/larry/images/del.png" role="data"></file>
<file name="skins/larry/images/down_small.gif" role="data"></file>
<file name="skins/larry/images/up_small.gif" role="data"></file>
<file name="managesieve.php" role="php"></file> <file name="managesieve.php" role="php"></file>
<file name="lib/rcube_sieve.php" role="php"></file> <file name="lib/rcube_sieve.php" role="php"></file>
<file name="lib/rcube_sieve_script.php" role="php"></file> <file name="lib/rcube_sieve_script.php" role="php"></file>

Loading…
Cancel
Save