Merge branch 'master' into dev/elastic
This commit is contained in:
commit
47462eb1d9
3 changed files with 29 additions and 28 deletions
|
@ -138,8 +138,9 @@ $config['calendar_freebusy_trigger'] = false;
|
||||||
$config['calendar_include_freebusy_data'] = 1;
|
$config['calendar_include_freebusy_data'] = 1;
|
||||||
|
|
||||||
// SMTP server host used to send (anonymous) itip messages.
|
// SMTP server host used to send (anonymous) itip messages.
|
||||||
// Set to '' in order to use PHP's mail() function for email delivery.
|
|
||||||
// To override the SMTP port or connection method, provide a full URL like 'tls://somehost:587'
|
// To override the SMTP port or connection method, provide a full URL like 'tls://somehost:587'
|
||||||
|
// This will add a link to invitation messages to allow users from outside
|
||||||
|
// to reply when their mail clients do not support iTip format.
|
||||||
$config['calendar_itip_smtp_server'] = null;
|
$config['calendar_itip_smtp_server'] = null;
|
||||||
|
|
||||||
// SMTP username used to send (anonymous) itip messages
|
// SMTP username used to send (anonymous) itip messages
|
||||||
|
|
|
@ -552,7 +552,15 @@ function kolab_files_folder_mount_dialog()
|
||||||
rcmail.drivers_list_initialized = true;
|
rcmail.drivers_list_initialized = true;
|
||||||
|
|
||||||
$('td.source', dialog).each(function() {
|
$('td.source', dialog).each(function() {
|
||||||
$(this).click(function() {
|
var td = $(this),
|
||||||
|
id = td.attr('id').replace('source-', ''),
|
||||||
|
meta = rcmail.env.external_sources[id];
|
||||||
|
|
||||||
|
$.each(meta.form_values || [], function(i, v) {
|
||||||
|
td.find('#source-' + id + '-' + i).val(v);
|
||||||
|
});
|
||||||
|
|
||||||
|
td.click(function() {
|
||||||
$('td.selected', dialog).removeClass('selected');
|
$('td.selected', dialog).removeClass('selected');
|
||||||
dialog.find('.driverform').hide();
|
dialog.find('.driverform').hide();
|
||||||
$(this).addClass('selected').find('.driverform').show();
|
$(this).addClass('selected').find('.driverform').show();
|
||||||
|
@ -882,9 +890,9 @@ function kolab_dialog_submit_handler()
|
||||||
};
|
};
|
||||||
|
|
||||||
// Hides dialog
|
// Hides dialog
|
||||||
function kolab_dialog_close(dialog)
|
function kolab_dialog_close(dialog, destroy)
|
||||||
{
|
{
|
||||||
(rcmail.is_framed() ? window.parent : window).$(dialog).dialog('close');
|
(rcmail.is_framed() ? window.parent : window).$(dialog).dialog(destroy ? 'destroy' : 'close');
|
||||||
};
|
};
|
||||||
|
|
||||||
// smart upload button
|
// smart upload button
|
||||||
|
@ -1136,6 +1144,7 @@ function kolab_files_drag_end(e)
|
||||||
}
|
}
|
||||||
|
|
||||||
rcmail.command('files-move', rcmail.env.drag_target);
|
rcmail.command('files-move', rcmail.env.drag_target);
|
||||||
|
rcmail.env.drag_target = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -3018,7 +3027,7 @@ function kolab_files_ui()
|
||||||
params.token = this.env.token;
|
params.token = this.env.token;
|
||||||
params.file = file;
|
params.file = file;
|
||||||
|
|
||||||
rcmail.redirect(this.env.url + this.url('file_get', params));
|
rcmail.redirect(this.env.url + this.url('file_get', params), false);
|
||||||
};
|
};
|
||||||
|
|
||||||
// file(s) delete request
|
// file(s) delete request
|
||||||
|
@ -3139,7 +3148,7 @@ function kolab_files_ui()
|
||||||
this.file_move_ask_user = function(list, move)
|
this.file_move_ask_user = function(list, move)
|
||||||
{
|
{
|
||||||
var file = list[0], buttons = {},
|
var file = list[0], buttons = {},
|
||||||
text = rcmail.gettext('kolab_files.filemoveconfirm').replace('$file', file.dst)
|
text = rcmail.gettext('kolab_files.filemoveconfirm').replace('$file', file.dst),
|
||||||
dialog = $('<div></div>');
|
dialog = $('<div></div>');
|
||||||
|
|
||||||
buttons[rcmail.gettext('kolab_files.fileoverwrite')] = function() {
|
buttons[rcmail.gettext('kolab_files.fileoverwrite')] = function() {
|
||||||
|
@ -3149,7 +3158,8 @@ function kolab_files_ui()
|
||||||
f[file.src] = file.dst;
|
f[file.src] = file.dst;
|
||||||
file_api.file_move_ask_list = list;
|
file_api.file_move_ask_list = list;
|
||||||
file_api.file_move_ask_mode = move;
|
file_api.file_move_ask_mode = move;
|
||||||
dialog.dialog('destroy').remove();
|
kolab_dialog_close(this, true);
|
||||||
|
|
||||||
file_api.req = file_api.set_busy(true, move ? 'kolab_files.filemoving' : 'kolab_files.filecopying');
|
file_api.req = file_api.set_busy(true, move ? 'kolab_files.filemoving' : 'kolab_files.filecopying');
|
||||||
file_api.request(action, {file: f, overwrite: 1}, 'file_move_ask_user_response');
|
file_api.request(action, {file: f, overwrite: 1}, 'file_move_ask_user_response');
|
||||||
};
|
};
|
||||||
|
@ -3159,14 +3169,15 @@ function kolab_files_ui()
|
||||||
var f = {}, action = move ? 'file_move' : 'file_copy';
|
var f = {}, action = move ? 'file_move' : 'file_copy';
|
||||||
|
|
||||||
$.each(list, function() { f[this.src] = this.dst; });
|
$.each(list, function() { f[this.src] = this.dst; });
|
||||||
dialog.dialog('destroy').remove();
|
kolab_dialog_close(this, true);
|
||||||
|
|
||||||
file_api.req = file_api.set_busy(true, move ? 'kolab_files.filemoving' : 'kolab_files.filecopying');
|
file_api.req = file_api.set_busy(true, move ? 'kolab_files.filemoving' : 'kolab_files.filecopying');
|
||||||
file_api.request(action, {file: f, overwrite: 1}, action + '_response');
|
file_api.request(action, {file: f, overwrite: 1}, action + '_response');
|
||||||
};
|
};
|
||||||
|
|
||||||
var skip_func = function() {
|
var skip_func = function() {
|
||||||
list.shift();
|
list.shift();
|
||||||
dialog.dialog('destroy').remove();
|
kolab_dialog_close(this, true);
|
||||||
|
|
||||||
if (list.length)
|
if (list.length)
|
||||||
file_api.file_move_ask_user(list, move);
|
file_api.file_move_ask_user(list, move);
|
||||||
|
@ -3178,7 +3189,7 @@ function kolab_files_ui()
|
||||||
|
|
||||||
if (list.length > 1)
|
if (list.length > 1)
|
||||||
buttons[rcmail.gettext('kolab_files.fileskipall')] = function() {
|
buttons[rcmail.gettext('kolab_files.fileskipall')] = function() {
|
||||||
dialog.dialog('destroy').remove();
|
kolab_dialog_close(this, true);
|
||||||
if (move)
|
if (move)
|
||||||
file_api.file_list();
|
file_api.file_list();
|
||||||
};
|
};
|
||||||
|
@ -3187,6 +3198,7 @@ function kolab_files_ui()
|
||||||
kolab_dialog_show(dialog.html(text), {
|
kolab_dialog_show(dialog.html(text), {
|
||||||
close: skip_func,
|
close: skip_func,
|
||||||
buttons: buttons,
|
buttons: buttons,
|
||||||
|
height: 50,
|
||||||
minWidth: 400,
|
minWidth: 400,
|
||||||
width: 400
|
width: 400
|
||||||
});
|
});
|
||||||
|
|
|
@ -44,7 +44,6 @@ class libcalendaring_itip
|
||||||
array('identity' => $this->rc->user->list_emails(true)));
|
array('identity' => $this->rc->user->list_emails(true)));
|
||||||
$this->sender = $hook['identity'];
|
$this->sender = $hook['identity'];
|
||||||
|
|
||||||
$this->plugin->add_hook('message_before_send', array($this, 'before_send_hook'));
|
|
||||||
$this->plugin->add_hook('smtp_connect', array($this, 'smtp_connect_hook'));
|
$this->plugin->add_hook('smtp_connect', array($this, 'smtp_connect_hook'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,7 +151,10 @@ class libcalendaring_itip
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// append links for direct invitation replies
|
// append links for direct invitation replies
|
||||||
if ($method == 'REQUEST' && $rsvp && ($token = $this->store_invitation($event, $recipient['email']))) {
|
if ($method == 'REQUEST' && $rsvp
|
||||||
|
&& $this->rc->config->get('calendar_itip_smtp_server')
|
||||||
|
&& ($token = $this->store_invitation($event, $recipient['email']))
|
||||||
|
) {
|
||||||
$mailbody .= "\n\n" . $this->gettext(array(
|
$mailbody .= "\n\n" . $this->gettext(array(
|
||||||
'name' => 'invitationattendlinks',
|
'name' => 'invitationattendlinks',
|
||||||
'vars' => array('url' => $this->plugin->get_url(array('action' => 'attend', 't' => $token))),
|
'vars' => array('url' => $this->plugin->get_url(array('action' => 'attend', 't' => $token))),
|
||||||
|
@ -177,20 +179,6 @@ class libcalendaring_itip
|
||||||
return $sent;
|
return $sent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Plugin hook triggered by rcube::deliver_message() before delivering a message.
|
|
||||||
* Here we can set the 'smtp_server' config option to '' in order to use
|
|
||||||
* PHP's mail() function for unauthenticated email sending.
|
|
||||||
*/
|
|
||||||
public function before_send_hook($p)
|
|
||||||
{
|
|
||||||
if ($this->itip_send && !$this->rc->user->ID && $this->rc->config->get('calendar_itip_smtp_server', null) === '') {
|
|
||||||
$this->rc->config->set('smtp_server', '');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $p;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plugin hook to alter SMTP authentication.
|
* Plugin hook to alter SMTP authentication.
|
||||||
* This is used if iTip messages are to be sent from an unauthenticated session
|
* This is used if iTip messages are to be sent from an unauthenticated session
|
||||||
|
|
Loading…
Add table
Reference in a new issue