Allow configuring new calendar path
This commit is contained in:
parent
9295620e18
commit
aaee300d0d
|
@ -157,6 +157,12 @@ $config['kolab_invitation_calendars'] = false;
|
||||||
// )
|
// )
|
||||||
// );
|
// );
|
||||||
|
|
||||||
|
// Path used to create new calendars in a CalDav source.
|
||||||
|
// The following replacement variables are supported:
|
||||||
|
// %u - Source user name
|
||||||
|
// %i - Newly generated calendar UUID
|
||||||
|
// $config['calendar_caldav_new_calendar_path'] = '/calendars/%u/%i'
|
||||||
|
|
||||||
// Driver to provide a resource directory ('ldap' is the only implementation yet).
|
// Driver to provide a resource directory ('ldap' is the only implementation yet).
|
||||||
// Leave empty or commented to disable resources support.
|
// Leave empty or commented to disable resources support.
|
||||||
// $config['calendar_resources_driver'] = 'ldap';
|
// $config['calendar_resources_driver'] = 'ldap';
|
||||||
|
|
|
@ -273,10 +273,10 @@ class caldav_driver extends calendar_driver
|
||||||
|
|
||||||
$server_url = self::_encode_url($source['caldav_url']);
|
$server_url = self::_encode_url($source['caldav_url']);
|
||||||
$server_path = rtrim(parse_url($server_url, PHP_URL_PATH), '/');
|
$server_path = rtrim(parse_url($server_url, PHP_URL_PATH), '/');
|
||||||
$calId = $this->cal->generate_uid();
|
$path = $this->_get_new_calendar_path($source);
|
||||||
$path = "/calendars/$source[caldav_user]/$calId";
|
|
||||||
|
|
||||||
self::debug_log("Creating new calendar \"$cal[name]\" with path $path at: " . $server_url);
|
self::debug_log("Creating new calendar \"$cal[name]\" with path $path at: " . $server_url);
|
||||||
|
|
||||||
$client = new caldav_client($server_url, $source['caldav_user'], $source['caldav_pass']);
|
$client = new caldav_client($server_url, $source['caldav_user'], $source['caldav_pass']);
|
||||||
|
|
||||||
if($client->create_calendar($server_path . $path, $cal['name'], isset($cal['color']) ? $cal['color'] : 'cc0000')) {
|
if($client->create_calendar($server_path . $path, $cal['name'], isset($cal['color']) ? $cal['color'] : 'cc0000')) {
|
||||||
|
@ -2349,4 +2349,12 @@ else {
|
||||||
$p = $e->encrypt($pass);
|
$p = $e->encrypt($pass);
|
||||||
return base64_encode($p);
|
return base64_encode($p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function _get_new_calendar_path($source) {
|
||||||
|
$template = $this->rc->config->get('calendar_caldav_new_calendar_path', '/calendars/%u/%i');
|
||||||
|
return strtr($template, [
|
||||||
|
'%u' => $source['caldav_user'],
|
||||||
|
'%i' => $this->cal->generate_uid(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue