reimplement creation of default calendar and default addressbook using sabre classes
This commit is contained in:
parent
5e0bb6ecd5
commit
fbf868e976
@ -751,20 +751,19 @@ class Cdav extends \Zotlabs\Web\Controller {
|
|||||||
$channel = \App::get_channel();
|
$channel = \App::get_channel();
|
||||||
$principalUri = 'principals/' . $channel['channel_address'];
|
$principalUri = 'principals/' . $channel['channel_address'];
|
||||||
|
|
||||||
|
|
||||||
if(!cdav_principal($principalUri)) {
|
|
||||||
$this->activate($channel);
|
|
||||||
if(!cdav_principal($principalUri)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$pdo = \DBA::$dba->db;
|
$pdo = \DBA::$dba->db;
|
||||||
|
|
||||||
require_once 'vendor/autoload.php';
|
require_once 'vendor/autoload.php';
|
||||||
|
|
||||||
head_add_css('cdav.css');
|
head_add_css('cdav.css');
|
||||||
|
|
||||||
|
if(!cdav_principal($principalUri)) {
|
||||||
|
$this->activate($pdo, $channel);
|
||||||
|
if(!cdav_principal($principalUri)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(argv(1) === 'calendar') {
|
if(argv(1) === 'calendar') {
|
||||||
$caldavBackend = new \Sabre\CalDAV\Backend\PDO($pdo);
|
$caldavBackend = new \Sabre\CalDAV\Backend\PDO($pdo);
|
||||||
$calendars = $caldavBackend->getCalendarsForUser($principalUri);
|
$calendars = $caldavBackend->getCalendarsForUser($principalUri);
|
||||||
@ -1151,7 +1150,7 @@ class Cdav extends \Zotlabs\Web\Controller {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function activate($channel) {
|
function activate($pdo, $channel) {
|
||||||
|
|
||||||
if(! $channel)
|
if(! $channel)
|
||||||
return;
|
return;
|
||||||
@ -1177,24 +1176,21 @@ class Cdav extends \Zotlabs\Web\Controller {
|
|||||||
);
|
);
|
||||||
|
|
||||||
//create default calendar
|
//create default calendar
|
||||||
$r = q("insert into calendars (components) values('%s') ",
|
$caldavBackend = new \Sabre\CalDAV\Backend\PDO($pdo);
|
||||||
dbesc('VEVENT,VTODO')
|
$properties = [
|
||||||
);
|
'{DAV:}displayname' => t('Default Calendar'),
|
||||||
|
'{http://apple.com/ns/ical/}calendar-color' => '#3a87ad',
|
||||||
|
'{urn:ietf:params:xml:ns:caldav}calendar-description' => $channel['channel_name']
|
||||||
|
];
|
||||||
|
|
||||||
$r = q("insert into calendarinstances (principaluri, displayname, uri, description, calendarcolor) values( '%s', '%s', '%s', '%s', '%s') ",
|
$id = $caldavBackend->createCalendar($uri, 'default', $properties);
|
||||||
dbesc($uri),
|
set_pconfig(local_channel(), 'cdav_calendar' , $id[0], 1);
|
||||||
dbesc(t('Default Calendar')),
|
|
||||||
dbesc('default'),
|
|
||||||
dbesc($channel['channel_name']),
|
|
||||||
dbesc('#3a87ad')
|
|
||||||
);
|
|
||||||
|
|
||||||
//create default addressbook
|
//create default addressbook
|
||||||
$r = q("insert into addressbooks (principaluri, displayname, uri) values('%s', '%s', '%s') ",
|
$carddavBackend = new \Sabre\CardDAV\Backend\PDO($pdo);
|
||||||
dbesc($uri),
|
$properties = ['{DAV:}displayname' => t('Default Addressbook')];
|
||||||
dbesc(t('Default Addressbook')),
|
$carddavBackend->createAddressBook($uri, $default, $properties);
|
||||||
dbesc('default')
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user