$next_step = $data->cleanup();
}
+if (Horde_Util::getFormData('import_ajax')) {
+ $stack = $notification->notify(array('listeners' => 'status', 'raw' => true));
+ if ($stack) {
+ Horde::addInlineScript('window.parent.KronolithCore.showNotifications(window.parent.$A(' . Horde_Serialize::serialize($stack, Horde_Serialize::JSON, Horde_Nls::getCharset()) . '));');
+ Horde::addInlineScript('window.parent.$(window.name).remove();');
+ Horde::outputInlineScript();
+ }
+ exit;
+}
+
$import_calendars = $export_calendars = array();
if (Horde_Auth::getAuth()) {
$calendars = Kronolith::listCalendars(false, Horde_Perms::EDIT);
switch (type) {
case 'internal':
kronolithCTagAc.reset();
- // Fall through
+ // Fall through.
case 'tasklists':
$('kronolithCalendar' + type + 'LinkImportExport').up('span').hide();
break;
switch (type) {
case 'internal':
kronolithCTagAc.reset(Kronolith.conf.calendars.internal[calendar].tg);
- // fall through
+ $('kronolithCalendar' + type + 'ImportCal').setValue(calendar);
+ // Fall through.
case 'tasklists':
$('kronolithCalendar' + type + 'Description').setValue(info.desc);
$('kronolithCalendar' + type + 'LinkImportExport').up('span').show();
data,
function(r) {
if (r.response.saved) {
+ if ($F('kronolithCalendarinternalImport')) {
+ var name = 'kronolithIframe' + Math.round(Math.random() * 1000),
+ iframe = new Element('iframe', { src: 'about:blank', name: name, id: name }).setStyle({ display: 'none' });
+ //iframe.observe('load', function() { iframe.remove.defer(); });
+ document.body.insert(iframe);
+ form.target = name;
+ form.submit();
+ }
if (data.calendar) {
var cal = Kronolith.conf.calendars[type][data.calendar],
color = {
$groups = array();
}
asort($groups);
+$file_upload = $GLOBALS['browser']->allowFileUploads();
?>
<div id="kronolithCalendarDialog" class="kronolithDialog">
-<form id="kronolithCalendarForminternal" action="">
+<form id="kronolithCalendarForminternal" method="post" action="<?php echo Horde::applicationUrl('data.php') ?>"<?php if ($file_upload) echo ' enctype="multipart/form-data"' ?>>
<input type="hidden" name="type" value="internal" />
<input id="kronolithCalendarinternalId" type="hidden" name="calendar" />
+<?php if ($file_upload): ?>
+<input type="hidden" id="kronolithCalendarinternalImportCal" name="importCal" />
+<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $file_upload ?>" />
+<input type="hidden" name="actionID" value="<?php echo Horde_Data::IMPORT_FILE ?>" />
+<input type="hidden" name="import_step" value="1" />
+<input type="hidden" name="import_format" value="icalendar" />
+<input type="hidden" name="import_ajax" value="1" />
+<?php Horde_Util::pformInput() ?>
+<?php endif; ?>
<div class="kronolithCalendarDiv" id="kronolithCalendarinternal1">
<div>
<span>
<span class="kronolithSeparator">|</span>
<ul>
- <li><a href="#" class="kronolithTabLink" id="kronolithCalendarinternalLinkImportExport"><?php echo _("Export") /*_("Import/Export")*/ ?></a></li>
+ <li><a href="#" class="kronolithTabLink" id="kronolithCalendarinternalLinkImportExport"><?php echo _("Import/Export") ?></a></li>
</ul>
</span>
</div>
<div id="kronolithCalendarinternalTabImportExport" class="kronolithTabsOption" style="display:none">
<div class="kronolithDialogInfo"><?php echo _("iCalendar is a computer file format which allows internet users to send meeting requests and tasks to other internet users, via email, or sharing files with an extension of .ics. Recipients of the iCalendar data file (with supporting software, such as an email client or calendar application) can respond to the sender easily or counter propose another meeting date/time.") ?></div>
- <?php /* ?>
- <label><?php echo _("Import ICS file") ?>:
- <input type="file" name="import_file" />
- </label>
+ <label for="kronolithCalendarinternalImport"><?php echo _("Import ICS file") ?>:</label>
+ <input type="file" id="kronolithCalendarinternalImport" name="import_file" /><br />
+ <input type="checkbox" id="kronolithCalendarinternalImportOver" name="purge" />
+ <label for="kronolithCalendarinternalImportOver"><?php echo _("Replace existing calendar with the imported one?") ?></label>
+ <?php echo _("Warning: This deletes all entries in your current calendar.") ?>
<br />
- <?php */ ?>
<label><?php echo _("Export ICS file") ?>:</label>
<a id="kronolithCalendarinternalExport"><?php echo _("Calendar ICS file") ?></a>
</div>