plugins/calendar

Thomas Brüderli bruederli at kolabsys.com
Thu Apr 10 14:32:48 CEST 2014


 plugins/calendar/calendar.php                             |   31 ++++++++++++++
 plugins/calendar/skins/classic/calendar.css               |    9 ++++
 plugins/calendar/skins/classic/images/ical-attachment.png |binary
 plugins/calendar/skins/larry/calendar.css                 |    9 ++++
 plugins/calendar/skins/larry/images/ical-attachment.png   |binary
 5 files changed, 49 insertions(+)

New commits:
commit 77bc8da53c1345ca1a8f762bf3066fa23a435d27
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Thu Apr 10 14:31:45 2014 +0200

    Indicate iTip message in mail view list

diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php
index 70d58be..2857ee3 100644
--- a/plugins/calendar/calendar.php
+++ b/plugins/calendar/calendar.php
@@ -190,6 +190,8 @@ class calendar extends rcube_plugin
 
         $this->api->output->add_label('calendar.createfrommail');
       }
+
+      $this->add_hook('messages_list', array($this, 'mail_messages_list'));
     }
     else if ($args['task'] == 'addressbook') {
       if ($this->rc->config->get('calendar_contact_birthdays')) {
@@ -2158,6 +2160,35 @@ class calendar extends rcube_plugin
   }
   
   /**
+   * 
+   */
+  public function mail_messages_list($p)
+  {
+    if (in_array('attachment', (array)$p['cols'])) {
+      foreach ($p['messages'] as $i => $header) {
+        $part = new StdClass;
+        $part->mimetype = $header->ctype;
+        $part->filename = '';
+        if ($this->is_vcalendar($part)) {
+          $header->list_flags['attachmentClass'] = 'ical';
+        }
+        else if (in_array($header->ctype, array('multipart/alternative', 'multipart/mixed'))) {
+          // TODO: fetch bodystructure and search for ical parts. Maybe too expensive?
+
+          if (!empty($header->structure) && is_array($header->structure->parts)) {
+            foreach ($header->structure->parts as $part) {
+              if ($this->is_vcalendar($part) && !empty($part->ctype_parameters['method'])) {
+                $header->list_flags['attachmentClass'] = 'ical';
+                break;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  
+  /**
    * Check mail message structure of there are .ics files attached
    */
   public function mail_message_load($p)
diff --git a/plugins/calendar/skins/classic/calendar.css b/plugins/calendar/skins/classic/calendar.css
index 937a7b6..6c7ca14 100644
--- a/plugins/calendar/skins/classic/calendar.css
+++ b/plugins/calendar/skins/classic/calendar.css
@@ -1387,6 +1387,15 @@ fieldset #calendarcategories div {
 
 /* Invitation UI in mail */
 
+.messagelist tbody .attachment span.ical {
+	display: inline-block;
+	vertical-align: middle;
+	height: 18px;
+	width: 20px;
+	padding: 0;
+	background: url(images/calendar-small.png) 1px 1px no-repeat;
+}
+
 #messagemenu li a.calendarlink,
 #attachmentmenu li a.calendarlink {
 	background-image: url(images/calendars.png);
diff --git a/plugins/calendar/skins/classic/images/ical-attachment.png b/plugins/calendar/skins/classic/images/ical-attachment.png
new file mode 100755
index 0000000..8dbd669
Binary files /dev/null and b/plugins/calendar/skins/classic/images/ical-attachment.png differ
diff --git a/plugins/calendar/skins/larry/calendar.css b/plugins/calendar/skins/larry/calendar.css
index 25ad82c..69a68ac 100644
--- a/plugins/calendar/skins/larry/calendar.css
+++ b/plugins/calendar/skins/larry/calendar.css
@@ -1559,6 +1559,15 @@ fieldset #calendarcategories div {
 
 /* Invitation UI in mail */
 
+.messagelist tbody .attachment span.ical {
+	display: inline-block;
+	vertical-align: middle;
+	height: 18px;
+	width: 20px;
+	padding: 0;
+	background: url(images/ical-attachment.png) 2px 1px no-repeat;
+}
+
 #messagemenu li a.calendarlink span.calendar,
 #attachmentmenu li a.calendarlink span.calendar {
 	background-position: 0px -2197px;
diff --git a/plugins/calendar/skins/larry/images/ical-attachment.png b/plugins/calendar/skins/larry/images/ical-attachment.png
new file mode 100755
index 0000000..8fa486a
Binary files /dev/null and b/plugins/calendar/skins/larry/images/ical-attachment.png differ




More information about the commits mailing list