Create private calendar folder if no writeable calendar is available (#269)
This commit is contained in:
parent
f85d386c39
commit
cb4a908d48
1 changed files with 7 additions and 2 deletions
|
@ -34,6 +34,7 @@ class kolab_driver extends calendar_driver
|
||||||
private $rc;
|
private $rc;
|
||||||
private $cal;
|
private $cal;
|
||||||
private $calendars;
|
private $calendars;
|
||||||
|
private $has_writeable = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default constructor
|
* Default constructor
|
||||||
|
@ -79,6 +80,8 @@ class kolab_driver extends calendar_driver
|
||||||
foreach ($names as $utf7name => $name) {
|
foreach ($names as $utf7name => $name) {
|
||||||
$calendar = new kolab_calendar($utf7name, $this->cal);
|
$calendar = new kolab_calendar($utf7name, $this->cal);
|
||||||
$this->calendars[$calendar->id] = $calendar;
|
$this->calendars[$calendar->id] = $calendar;
|
||||||
|
if (!$calendar->readonly)
|
||||||
|
$this->has_writeable = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,9 +95,11 @@ class kolab_driver extends calendar_driver
|
||||||
public function list_calendars()
|
public function list_calendars()
|
||||||
{
|
{
|
||||||
// attempt to create a default calendar for this user
|
// attempt to create a default calendar for this user
|
||||||
if (empty($this->calendars)) {
|
if (!$this->has_writeable) {
|
||||||
if ($this->create_calendar(array('name' => 'Calendar', 'color' => 'cc0000')))
|
if ($this->create_calendar(array('name' => 'Calendar', 'color' => 'cc0000'))) {
|
||||||
|
unset($this->calendars);
|
||||||
$this->_read_calendars();
|
$this->_read_calendars();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$calendars = $names = array();
|
$calendars = $names = array();
|
||||||
|
|
Loading…
Add table
Reference in a new issue