diff --git a/imp/lib/Mime/Viewer/Itip.php b/imp/lib/Mime/Viewer/Itip.php index 176ca3983bd..b1f12844627 100644 --- a/imp/lib/Mime/Viewer/Itip.php +++ b/imp/lib/Mime/Viewer/Itip.php @@ -125,16 +125,18 @@ protected function _renderInline() } $out = array(); + $exceptions = array(); $components = $vCal->getComponents(); foreach ($components as $key => $component) { switch ($component->getType()) { case 'vEvent': try { if ($component->getAttribute('RECURRENCE-ID')) { - break; + $exceptions[] = $this->_vEvent($component, $key, $method, $components); } - } catch (Horde_ICalendar_Exception $e) {} - $out[] = $this->_vEvent($component, $key, $method, $components); + } catch (Horde_ICalendar_Exception $e) { + $out[] = $this->_vEvent($component, $key, $method, $components); + } break; case 'vTodo': @@ -156,6 +158,13 @@ protected function _renderInline() } } + // If we don't have any other parts, any exceptions should be shown + // since this is likely an update to a series instance such as a + // cancellation etc... + if (empty($out)) { + $out = $exceptions; + } + $view = $this->_getViewOb(); $view->formid = $imple->getDomId(); $view->out = implode('', $out);