plugins/calendar

Thomas Brüderli bruederli at kolabsys.com
Mon Feb 23 10:59:02 CET 2015


 plugins/calendar/lib/calendar_itip.php    |   11 ++++++++---
 plugins/calendar/skins/larry/calendar.css |    9 +++++++++
 2 files changed, 17 insertions(+), 3 deletions(-)

New commits:
commit 029892575072fd940f6d13582932472298957c43
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Mon Feb 23 10:58:45 2015 +0100

    Support iTip messages to single occurrences in static RSVP UI for external invitees

diff --git a/plugins/calendar/lib/calendar_itip.php b/plugins/calendar/lib/calendar_itip.php
index 5622372..e2a2402 100644
--- a/plugins/calendar/lib/calendar_itip.php
+++ b/plugins/calendar/lib/calendar_itip.php
@@ -152,12 +152,14 @@ class calendar_itip extends libcalendaring_itip
     // delete old entry
     $this->rc->db->query("DELETE FROM $this->db_itipinvitations WHERE `token` = ?", $base);
 
+    $event_uid = $event['uid'] . ($event['_instance'] ? '-' . $event['_instance'] : '');
+
     $query = $this->rc->db->query(
       "INSERT INTO $this->db_itipinvitations
        (`token`, `event_uid`, `user_id`, `event`, `expires`)
        VALUES(?, ?, ?, ?, ?)",
       $base,
-      $event['uid'],
+      $event_uid,
       $this->rc->user->ID,
       self::serialize_event($event),
       date('Y-m-d H:i:s', $event['end']->format('U') + 86400 * 2)
@@ -178,12 +180,14 @@ class calendar_itip extends libcalendaring_itip
    */
   public function cancel_itip_invitation($event)
   {
+    $event_uid = $event['uid'] . ($event['_instance'] ? '-' . $event['_instance'] : '');
+
     // flag invitation record as cancelled
     $this->rc->db->query(
       "UPDATE $this->db_itipinvitations
        SET `cancelled` = 1
        WHERE `event_uid` = ? AND `user_id` = ?",
-       $event['uid'],
+       $event_uid,
        $this->rc->user->ID
     );
   }
@@ -196,7 +200,8 @@ class calendar_itip extends libcalendaring_itip
    */
   public function generate_token($event, $attendee)
   {
-    $base = sha1($event['uid'] . ';' . $this->rc->user->ID);
+    $event_uid = $event['uid'] . ($event['_instance'] ? '-' . $event['_instance'] : '');
+    $base = sha1($event_uid . ';' . $this->rc->user->ID);
     $mail = base64_encode($attendee);
     $hash = substr(md5($base . $mail . $this->rc->config->get('des_key')), 0, 6);
     
diff --git a/plugins/calendar/skins/larry/calendar.css b/plugins/calendar/skins/larry/calendar.css
index fef16bd..4229b1a 100644
--- a/plugins/calendar/skins/larry/calendar.css
+++ b/plugins/calendar/skins/larry/calendar.css
@@ -2316,3 +2316,12 @@ div.calendar-invitebox .calendar-agenda-preview .event-date {
 	font-size: 120%;
 }
 
+.calendaritipattend .itip-reply-controls .noreply-toggle,
+.calendaritipattend .itip-reply-controls #noreply-event-rsvp {
+	display: none;
+}
+
+.calendaritipattend .itip-reply-controls a.reply-comment-toggle {
+	margin-left: 2px;
+}
+




More information about the commits mailing list