From 4f326685677b0aa5c179d46f3a3bfe217b4cb11a Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 25 Aug 2015 17:11:30 +0200 Subject: [PATCH] Libcalendaring fixes for use in automated testing out of Roundcube --- plugins/libcalendaring/libcalendaring.php | 28 +++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/plugins/libcalendaring/libcalendaring.php b/plugins/libcalendaring/libcalendaring.php index ddbebe43..07dc23ab 100644 --- a/plugins/libcalendaring/libcalendaring.php +++ b/plugins/libcalendaring/libcalendaring.php @@ -68,16 +68,19 @@ class libcalendaring extends rcube_plugin */ public static function get_instance() { + if (!self::$instance) { + self::$instance = new libcalendaring(rcube::get_instance()->plugins); + self::$instance->init_instance(); + } + return self::$instance; } /** - * Required plugin startup method + * Initializes class properties */ - public function init() + public function init_instance() { - self::$instance = $this; - $this->rc = rcube::get_instance(); // set user's timezone @@ -95,6 +98,17 @@ class libcalendaring extends rcube_plugin $this->timezone_offset = $this->gmt_offset / 3600 - $this->dst_active; $this->add_texts('localization/', false); + } + + /** + * Required plugin startup method + */ + public function init() + { + self::$instance = $this; + + $this->rc = rcube::get_instance(); + $this->init_instance(); // include client scripts and styles if ($this->rc->output) { @@ -132,7 +146,7 @@ class libcalendaring extends rcube_plugin public static function get_ical() { $self = self::get_instance(); - require_once($self->home . '/libvcalendar.php'); + require_once __DIR__ . '/libvcalendar.php'; return new libvcalendar(); } @@ -142,7 +156,7 @@ class libcalendaring extends rcube_plugin public static function get_itip($domain = 'libcalendaring') { $self = self::get_instance(); - require_once($self->home . '/lib/libcalendaring_itip.php'); + require_once __DIR__ . '/lib/libcalendaring_itip.php'; return new libcalendaring_itip($self, $domain); } @@ -152,7 +166,7 @@ class libcalendaring extends rcube_plugin public static function get_recurrence() { $self = self::get_instance(); - require_once($self->home . '/lib/libcalendaring_recurrence.php'); + require_once __DIR__ . '/lib/libcalendaring_recurrence.php'; return new libcalendaring_recurrence($self); }