diff --git a/calendar/inc/class.calendar_import_ical.inc.php b/calendar/inc/class.calendar_import_ical.inc.php
index 610cf730c7..43ce8bd359 100644
--- a/calendar/inc/class.calendar_import_ical.inc.php
+++ b/calendar/inc/class.calendar_import_ical.inc.php
@@ -144,18 +144,21 @@ class calendar_import_ical implements importexport_iface_import_plugin {
$owner = $plugin_options['cal_owner'];
// Purge
- $remove_past = new Api\DateTime();
- $remove_future = new Api\DateTime();
- $plugin_options = array_merge(array('remove_past' => 100, 'remove_future' => 365), $plugin_options);
- foreach(array('remove_past','remove_future') as $date)
+ if($plugin_options['empty_before_import'])
{
- ${$date}->add( (($date == 'remove_past' ? -1 : 1) * (int)$plugin_options[$date]) . ' days');
+ $remove_past = new Api\DateTime();
+ $remove_future = new Api\DateTime();
+ $plugin_options = array_merge(array('remove_past' => 100, 'remove_future' => 365), $plugin_options);
+ foreach(array('remove_past','remove_future') as $date)
+ {
+ ${$date}->add( (($date == 'remove_past' ? -1 : 1) * (int)$plugin_options[$date]) . ' days');
+ }
+ $this->purge_calendar(
+ $owner,
+ array('from' => $remove_past, 'to' => $remove_future),
+ $plugin_options['no_notification']
+ );
}
- $this->purge_calendar(
- $owner,
- array('from' => $remove_past, 'to' => $remove_future),
- $plugin_options['no_notification']
- );
// User wants conflicting events to not be imported
if($_definition->plugin_options['skip_conflicts'])
diff --git a/calendar/inc/class.calendar_wizard_import_ical.inc.php b/calendar/inc/class.calendar_wizard_import_ical.inc.php
index 2dfc3cdaff..3e2ad89c56 100644
--- a/calendar/inc/class.calendar_wizard_import_ical.inc.php
+++ b/calendar/inc/class.calendar_wizard_import_ical.inc.php
@@ -70,7 +70,7 @@ class calendar_wizard_import_ical
{
$content['text'] = $this->steps['wizard_step55'];
$content['step'] = 'wizard_step55';
- foreach(array('skip_conflicts','remove_past','remove_future') as $field)
+ foreach(array('skip_conflicts','empty_before_import','remove_past','remove_future') as $field)
{
if(!$content[$field] && array_key_exists($field, $content['plugin_options']))
{
diff --git a/calendar/js/et2_widget_timegrid.js b/calendar/js/et2_widget_timegrid.js
index c754be7b15..57a103ee6f 100644
--- a/calendar/js/et2_widget_timegrid.js
+++ b/calendar/js/et2_widget_timegrid.js
@@ -1602,6 +1602,17 @@ var et2_calendar_timegrid = (function(){ "use strict"; return et2_calendar_view.
this.owner.set_label('');
this.div.removeClass('calendar_TimeGridNoLabel');
+ // Check to see if it's our own calendar, with just us showing
+ if(typeof _owner == 'object' && _owner.length == 1 && _owner[0] == this.egw().user('account_id'))
+ {
+ var rowCount = 0;
+ this._parent.iterateOver(function(widget) {
+ if(!widget.disabled) rowCount++;
+ },this, et2_calendar_timegrid);
+ // Just us, show week number
+ if(rowCount == 1) _owner = false;
+ }
+
if(typeof _owner == 'string' && isNaN(_owner))
{
this.set_label('');
@@ -1610,7 +1621,7 @@ var et2_calendar_timegrid = (function(){ "use strict"; return et2_calendar_view.
// Label is empty, but give extra space for the owner name
this.div.removeClass('calendar_TimeGridNoLabel');
}
- else if (!_owner || typeof _owner == 'object' && _owner.length)
+ else if (!_owner || typeof _owner == 'object' && _owner.length > 1)
{
// Don't show owners if more than one, show week number
this.owner.set_value('');
diff --git a/calendar/templates/default/import.ical_conditions.xet b/calendar/templates/default/import.ical_conditions.xet
index 79b27d9d61..8b9ca63a29 100644
--- a/calendar/templates/default/import.ical_conditions.xet
+++ b/calendar/templates/default/import.ical_conditions.xet
@@ -9,9 +9,13 @@
-
-
-
+
+
+
+
+
+
+
#importexport-wizardbox_delete_title {