calendar merge: implement channel calendar import in cdav/calendar
This commit is contained in:
parent
b9b65d7dfb
commit
274f69526f
@ -754,16 +754,27 @@ class Cdav extends Controller {
|
||||
//Import calendar or addressbook
|
||||
if(($_FILES) && array_key_exists('userfile',$_FILES) && intval($_FILES['userfile']['size']) && $_REQUEST['target']) {
|
||||
|
||||
$src = @file_get_contents($_FILES['userfile']['tmp_name']);
|
||||
$src = $_FILES['userfile']['tmp_name'];
|
||||
|
||||
if($src) {
|
||||
|
||||
if($_REQUEST['c_upload']) {
|
||||
if($_REQUEST['target'] == 'channel_calendar') {
|
||||
$result = parse_ical_file($src,local_channel());
|
||||
if($result)
|
||||
info( t('Calendar entries imported.') . EOL);
|
||||
else
|
||||
notice( t('No calendar entries found.') . EOL);
|
||||
|
||||
@unlink($src);
|
||||
return;
|
||||
}
|
||||
|
||||
$id = explode(':', $_REQUEST['target']);
|
||||
$ext = 'ics';
|
||||
$table = 'calendarobjects';
|
||||
$column = 'calendarid';
|
||||
$objects = new \Sabre\VObject\Splitter\ICalendar($src);
|
||||
$objects = new \Sabre\VObject\Splitter\ICalendar(@file_get_contents($src));
|
||||
$profile = \Sabre\VObject\Node::PROFILE_CALDAV;
|
||||
$backend = new \Sabre\CalDAV\Backend\PDO($pdo);
|
||||
}
|
||||
@ -773,7 +784,7 @@ class Cdav extends Controller {
|
||||
$ext = 'vcf';
|
||||
$table = 'cards';
|
||||
$column = 'addressbookid';
|
||||
$objects = new \Sabre\VObject\Splitter\VCard($src);
|
||||
$objects = new \Sabre\VObject\Splitter\VCard(@file_get_contents($src));
|
||||
$profile = \Sabre\VObject\Node::PROFILE_CARDDAV;
|
||||
$backend = new \Sabre\CardDAV\Backend\PDO($pdo);
|
||||
}
|
||||
|
@ -17,20 +17,6 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
|
||||
if(! local_channel())
|
||||
return;
|
||||
|
||||
if(($_FILES) && array_key_exists('userfile',$_FILES) && intval($_FILES['userfile']['size'])) {
|
||||
$src = $_FILES['userfile']['tmp_name'];
|
||||
if($src) {
|
||||
$result = parse_ical_file($src,local_channel());
|
||||
if($result)
|
||||
info( t('Calendar entries imported.') . EOL);
|
||||
else
|
||||
notice( t('No calendar entries found.') . EOL);
|
||||
@unlink($src);
|
||||
}
|
||||
goaway(z_root() . '/channel_calendar');
|
||||
}
|
||||
|
||||
|
||||
$event_id = ((x($_POST,'event_id')) ? intval($_POST['event_id']) : 0);
|
||||
$event_hash = ((x($_POST,'event_hash')) ? $_POST['event_hash'] : '');
|
||||
|
||||
|
@ -36,7 +36,7 @@ class Calendar {
|
||||
'$rpath' => $rpath,
|
||||
'$action_url' => 'settings/' . $module,
|
||||
'$form_security_token' => get_form_security_token('settings_' . $module),
|
||||
'$title' => t('CalDAV Settings'),
|
||||
'$title' => t('Calendar Settings'),
|
||||
'$features' => process_module_features_get(local_channel(), $features),
|
||||
'$submit' => t('Submit')
|
||||
));
|
||||
|
@ -136,10 +136,11 @@ class Cdav {
|
||||
'$share' => t('Share'),
|
||||
'$edit_label' => t('Calendar name and color'),
|
||||
'$edit' => t('Edit'),
|
||||
'$create_label' => t('Create new calendar'),
|
||||
'$create_label' => t('Create new CalDAV calendar'),
|
||||
'$create' => t('Create'),
|
||||
'$create_placeholder' => t('Calendar Name'),
|
||||
'$tools_label' => t('CalDAV Calendar Tools'),
|
||||
'$tools_label' => t('Calendar Tools'),
|
||||
'$tools_options_label' => [t('Channel Calendar'), t('CalDAV Calendars')],
|
||||
'$import_label' => t('Import calendar'),
|
||||
'$import_placeholder' => t('Select a calendar to import to'),
|
||||
'$upload' => t('Upload'),
|
||||
|
@ -79,7 +79,7 @@ function get_features($filtered = true, $level = (-1)) {
|
||||
|
||||
'calendar' => [
|
||||
|
||||
t('CalDAV'),
|
||||
t('Calendar'),
|
||||
|
||||
[
|
||||
'cal_first_day',
|
||||
|
@ -119,6 +119,9 @@
|
||||
<div class="form-group">
|
||||
<select id="import" name="target" class="form-control">
|
||||
<option value="">{{$import_placeholder}}</option>
|
||||
<optgroup label="{{$tools_options_label.0}}">
|
||||
<option value="{{$channel_calendar.calendarid}}">{{$channel_calendar.displayname}}</option>
|
||||
<optgroup label="{{$tools_options_label.1}}">
|
||||
{{foreach $writable_calendars as $writable_calendar}}
|
||||
<option value="{{$writable_calendar.id.0}}:{{$writable_calendar.id.1}}">{{$writable_calendar.displayname}}</option>
|
||||
{{/foreach}}
|
||||
|
Reference in New Issue
Block a user