2 commits - plugins/calendar plugins/libcalendaring

Thomas Brüderli bruederli at kolabsys.com
Mon Mar 24 16:13:25 CET 2014


 plugins/calendar/calendar.php                      |   35 ++++++++++++++++-----
 plugins/calendar/lib/calendar_ui.php               |    6 +--
 plugins/libcalendaring/lib/libcalendaring_itip.php |    4 +-
 3 files changed, 32 insertions(+), 13 deletions(-)

New commits:
commit 03e3e9c25dc8ea95959bbc34b4ec1ab034ae1b29
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Mon Mar 24 16:13:18 2014 +0100

    Simplify access to object members that need initialization

diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php
index 74f1ec1..3221144 100644
--- a/plugins/calendar/calendar.php
+++ b/plugins/calendar/calendar.php
@@ -37,15 +37,12 @@ class calendar extends rcube_plugin
   public $task = '?(?!logout).*';
   public $rc;
   public $lib;
-  public $driver;
   public $resources_dir;
   public $home;  // declare public to be used in other classes
   public $urlbase;
   public $timezone;
   public $timezone_offset;
   public $gmt_offset;
-
-  public $ical;
   public $ui;
 
   public $defaults = array(
@@ -60,6 +57,9 @@ class calendar extends rcube_plugin
     'calendar_allow_invite_shared' => false,
   );
 
+  private $ical;
+  private $itip;
+  private $driver;
   private $ics_parts = array();
 
 
@@ -2239,12 +2239,11 @@ class calendar extends rcube_plugin
       if ($part->ctype_parameters['charset'])
         $charset = $part->ctype_parameters['charset'];
       $headers = $imap->get_message_headers($uid);
-    }
-
-    $events = $this->get_ical()->import($part, $charset);
 
-    $error_msg = $this->gettext('errorimportingevent');
-    $success = false;
+      if ($part) {
+        $events = $this->get_ical()->import($part, $charset);
+      }
+    }
 
     // successfully parsed events?
     if (!empty($events) && ($event = $events[$index])) {
@@ -2569,4 +2568,24 @@ class calendar extends rcube_plugin
     return base64_encode($this->rc->user->get_username() . ':' . $source);
   }
 
+  /**
+   * Magic getter for public access to protected members
+   */
+  public function __get($name)
+  {
+    switch ($name) {
+      case 'ical':
+        return $this->get_ical();
+
+      case 'itip':
+        return $this->load_itip();
+
+      case 'driver':
+        $this->load_driver();
+        return $this->driver;
+    }
+
+    return null;
+  }
+
 }
diff --git a/plugins/calendar/lib/calendar_ui.php b/plugins/calendar/lib/calendar_ui.php
index c2bbf1a..1c509e6 100644
--- a/plugins/calendar/lib/calendar_ui.php
+++ b/plugins/calendar/lib/calendar_ui.php
@@ -888,7 +888,7 @@ class calendar_ui
   {
     if ($this->cal->event) {
       return html::div($attrib,
-        $this->cal->load_itip()->itip_object_details_table($this->cal->event, $this->cal->gettext('itipinvitation')) .
+        $this->cal->itip->itip_object_details_table($this->cal->event, $this->cal->itip->gettext('itipinvitation')) .
         $this->cal->invitestatus
       );
     }
@@ -905,12 +905,12 @@ class calendar_ui
         'name' => $attrib['iname'],
         'class' => 'button',
         'rel' => $method,
-        'value' => $this->rc->gettext('itip' . $method, 'libcalendaring'),
+        'value' => $this->cal->itip->gettext('itip' . $method),
       ));
     }
     
     return html::div($attrib,
-      html::div('label', $this->rc->gettext('acceptinvitation', 'libcalendaring')) .
+      html::div('label', $this->cal->itip->gettext('acceptinvitation')) .
       html::div('rsvp-buttons', $buttons));
   }
 


commit c10e944504d931afb58f1d600395c60145537811
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Mon Mar 24 16:12:21 2014 +0100

    Clarify libcalendaring method access

diff --git a/plugins/libcalendaring/lib/libcalendaring_itip.php b/plugins/libcalendaring/lib/libcalendaring_itip.php
index ee40ff0..8157968 100644
--- a/plugins/libcalendaring/lib/libcalendaring_itip.php
+++ b/plugins/libcalendaring/lib/libcalendaring_itip.php
@@ -46,7 +46,7 @@ class libcalendaring_itip
         $this->plugin->add_hook('smtp_connect', array($this, 'smtp_connect_hook'));
     }
 
-    function set_sender_email($email)
+    public function set_sender_email($email)
     {
         if (!empty($email))
             $this->sender['email'] = $email;
@@ -58,7 +58,7 @@ class libcalendaring_itip
      *
      * @see rcube::gettext()
      */
-    protected function gettext($p)
+    public function gettext($p)
     {
         $label = is_array($p) ? $p['name'] : $p;
         $domain = $this->domain;




More information about the commits mailing list