Renamed config options: keep_alive to refresh_interval, min_keep_alive to min_refresh_interval

pull/45/merge
Aleksander Machniak 12 years ago
parent a95687cfe8
commit f226549d4f

@ -3,6 +3,7 @@ CHANGELOG Roundcube Webmail
- Improved keep-alive action. Now the interval is based on session_lifetime (#1488507)
- Added cross-task 'refresh' request for system state updates (#1488507)
- Renamed config options: keep_alive to refresh_interval, min_keep_alive to min_refresh_interval
- Fix AREA links handling (#1488792)
- Better client-side timezone detection using the jsTimezoneDetect library (#1488725)
- Fix possible HTTP DoS on error in keep-alive requests (#1488782)

@ -498,8 +498,8 @@ $rcmail_config['recipients_separator'] = ',';
// don't let users set pagesize to more than this value if set
$rcmail_config['max_pagesize'] = 200;
// Minimal value of user's 'keep_alive' setting (in seconds)
$rcmail_config['min_keep_alive'] = 60;
// Minimal value of user's 'refresh_interval' setting (in seconds)
$rcmail_config['min_refresh_interval'] = 60;
// Enables files upload indicator. Requires APC installed and enabled apc.rfc1867 option.
// By default refresh time is set to 1 second. You can set this value to true
@ -781,7 +781,7 @@ $rcmail_config['flag_for_deletion'] = false;
// Default interval for auto-refresh requests (in seconds)
// These are requests for system state updates e.g. checking for new messages, etc.
// Setting it to 0 disables the feature.
$rcmail_config['keep_alive'] = 60;
$rcmail_config['refresh_interval'] = 60;
// If true all folders will be checked for recent messages
$rcmail_config['check_all_folders'] = false;

@ -342,9 +342,6 @@ class rcube_install
}
}
if ($current['keep_alive'] && $current['session_lifetime'] < $current['keep_alive'])
$current['session_lifetime'] = max(10, ceil($current['keep_alive'] / 60) * 2);
$this->config = array_merge($this->config, $current);
foreach ((array)$current['ldap_public'] as $key => $values) {

@ -317,8 +317,8 @@ class rcmail extends rcube
if (!($this->output instanceof rcube_output_html))
$this->output = new rcube_output_html($this->task, $framed);
// set keep-alive interval
$this->output->set_env('keep_alive', $this->config->get('keep_alive', 0));
// set refresh interval
$this->output->set_env('refresh_interval', $this->config->get('refresh_interval', 0));
$this->output->set_env('session_lifetime', $this->config->get('session_lifetime', 0) * 60);
if ($framed) {

@ -43,6 +43,8 @@ class rcube_config
'mail_pagesize' => 'pagesize',
'addressbook_pagesize' => 'pagesize',
'reply_mode' => 'top_posting',
'refresh_interval' => 'keep_alive',
'min_refresh_interval' => 'min_keep_alive',
);

@ -44,7 +44,6 @@ function rcube_webmail()
this.identifier_expr = new RegExp('[^0-9a-z\-_]', 'gi');
// default environment vars
this.env.keep_alive = 60; // seconds
this.env.request_timeout = 180; // seconds
this.env.draft_autosave = 0; // seconds
this.env.comm_path = './';
@ -6488,13 +6487,13 @@ function rcube_webmail()
// starts interval for refresh signal
this.start_refresh = function()
{
if (!this.env.keep_alive || this.env.framed || this.env.extwin || this.task == 'login' || this.env.action == 'print')
if (!this.env.refresh_interval || this.env.framed || this.env.extwin || this.task == 'login' || this.env.action == 'print')
return;
if (this._refresh)
clearInterval(this._refresh);
this._refresh = setInterval(function(){ ref.refresh(); }, this.env.keep_alive * 1000);
this._refresh = setInterval(function(){ ref.refresh(); }, this.env.refresh_interval * 1000);
};
// sends keep-alive signal

@ -237,21 +237,21 @@ function rcmail_user_prefs($current=null)
);
}
if (!isset($no_override['keep_alive'])) {
$field_id = 'rcmfd_keep_alive';
$select_keep_alive = new html_select(array('name' => '_keep_alive', 'id' => $field_id));
if (!isset($no_override['refresh_interval'])) {
$field_id = 'rcmfd_refresh_interval';
$select_refresh_interval = new html_select(array('name' => '_refresh_interval', 'id' => $field_id));
$select_keep_alive->add(rcube_label('never'), 0);
$select_refresh_interval->add(rcube_label('never'), 0);
foreach (array(1, 3, 5, 10, 15, 30, 60) as $min) {
if (!$config['min_keep_alive'] || $config['min_keep_alive'] <= $min * 60) {
if (!$config['min_refresh_interval'] || $config['min_refresh_interval'] <= $min * 60) {
$label = rcube_label(array('name' => 'everynminutes', 'vars' => array('n' => $min)));
$select_keep_alive->add($label, $min);
$select_refresh_interval->add($label, $min);
}
}
$blocks['main']['options']['keep_alive'] = array(
$blocks['main']['options']['refresh_interval'] = array(
'title' => html::label($field_id, Q(rcube_label('refreshinterval'))),
'content' => $select_keep_alive->show($config['keep_alive']/60),
'content' => $select_refresh_interval->show($config['refresh_interval']/60),
);
}

@ -33,7 +33,7 @@ switch ($CURR_SECTION)
'date_format' => isset($_POST['_date_format']) ? get_input_value('_date_format', RCUBE_INPUT_POST) : $CONFIG['date_format'],
'time_format' => isset($_POST['_time_format']) ? get_input_value('_time_format', RCUBE_INPUT_POST) : ($CONFIG['time_format'] ? $CONFIG['time_format'] : 'H:i'),
'prettydate' => isset($_POST['_pretty_date']) ? TRUE : FALSE,
'keep_alive' => isset($_POST['_keep_alive']) ? intval($_POST['_keep_alive'])*60 : $CONFIG['keep_alive'],
'refresh_interval' => isset($_POST['_refresh_interval']) ? intval($_POST['_refresh_interval'])*60 : $CONFIG['refresh_interval'],
'skin' => isset($_POST['_skin']) ? get_input_value('_skin', RCUBE_INPUT_POST) : $CONFIG['skin'],
);
@ -157,9 +157,9 @@ switch ($CURR_SECTION)
$a_user_prefs['timezone'] = (string) $a_user_prefs['timezone'];
if (isset($a_user_prefs['keep_alive']) && !empty($CONFIG['min_keep_alive'])) {
if ($a_user_prefs['keep_alive'] > $CONFIG['min_keep_alive']) {
$a_user_prefs['keep_alive'] = $CONFIG['min_keep_alive'];
if (isset($a_user_prefs['refresh_interval']) && !empty($CONFIG['min_refresh_interval'])) {
if ($a_user_prefs['refresh_interval'] > $CONFIG['min_refresh_interval']) {
$a_user_prefs['refresh_interval'] = $CONFIG['min_refresh_interval'];
}
}

Loading…
Cancel
Save