diff --git a/plugins/libkolab/lib/kolab_format_event.php b/plugins/libkolab/lib/kolab_format_event.php index d1e6b2e3..bcd6de1d 100644 --- a/plugins/libkolab/lib/kolab_format_event.php +++ b/plugins/libkolab/lib/kolab_format_event.php @@ -52,7 +52,20 @@ class kolab_format_event extends kolab_format_xcal */ public function to_libcal() { - return class_exists('kolabcalendaring') ? new EventCal($this->obj) : false; + static $error_logged = false; + + if (class_exists('kolabcalendaring')) { + return new EventCal($this->obj); + } + else if (!$error_logged) { + $error_logged = true; + rcube::raise_error(array( + 'code' => 900, 'type' => 'php', + 'message' => "required kolabcalendaring module not found" + ), true); + } + + return false; } /** diff --git a/plugins/libkolab/lib/kolab_storage.php b/plugins/libkolab/lib/kolab_storage.php index ac7de34b..4c9e75d0 100644 --- a/plugins/libkolab/lib/kolab_storage.php +++ b/plugins/libkolab/lib/kolab_storage.php @@ -63,6 +63,18 @@ class kolab_storage )); self::$imap->set_pagesize(9999); } + else if (!class_exists('kolabformat')) { + rcube::raise_error(array( + 'code' => 900, 'type' => 'php', + 'message' => "required kolabformat module not found" + ), true); + } + else { + rcube::raise_error(array( + 'code' => 900, 'type' => 'php', + 'message' => "IMAP server doesn't support METADATA or ANNOTATEMORE" + ), true); + } return self::$ready; }