diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php index 9b331363..a742efa2 100644 --- a/plugins/calendar/calendar.php +++ b/plugins/calendar/calendar.php @@ -1675,7 +1675,7 @@ class calendar extends rcube_plugin // send to every attendee $sent = 0; $current = array(); foreach ((array)$event['attendees'] as $attendee) { - $current[] = $attendee['email']; + $current[] = strtolower($attendee['email']); // skip myself for obvious reasons if (!$attendee['email'] || in_array(strtolower($attendee['email']), $emails)) @@ -2102,13 +2102,13 @@ class calendar extends rcube_plugin // show message about cancellation if ($invitation['cancelled']) { - $this->invitestatus = html::div('rsvp-status declined', $this->gettext('eventcancelled')); + $this->invitestatus = html::div('rsvp-status declined', $itip->gettext('eventcancelled')); } // save submitted RSVP status else if (!empty($_POST['rsvp'])) { $status = null; foreach (array('accepted','tentative','declined') as $method) { - if ($_POST['rsvp'] == $this->gettext('itip' . $method)) { + if ($_POST['rsvp'] == $itip->gettext('itip' . $method)) { $status = $method; break; } @@ -2116,7 +2116,7 @@ class calendar extends rcube_plugin // send itip reply to organizer if ($status && $itip->update_invitation($invitation, $invitation['attendee'], strtoupper($status))) { - $this->invitestatus = html::div('rsvp-status ' . strtolower($status), $this->gettext('youhave'.strtolower($status))); + $this->invitestatus = html::div('rsvp-status ' . strtolower($status), $itip->gettext('youhave'.strtolower($status))); } else $this->rc->output->command('display_message', $this->gettext('errorsaving'), 'error', -1); @@ -2141,7 +2141,7 @@ class calendar extends rcube_plugin if (!$this->invitestatus) $this->register_handler('plugin.event_rsvp_buttons', array($this->ui, 'event_rsvp_buttons')); - $this->rc->output->set_pagetitle($this->gettext('itipinvitation') . ' ' . $this->event['title']); + $this->rc->output->set_pagetitle($itip->gettext('itipinvitation') . ' ' . $this->event['title']); } else $this->rc->output->command('display_message', $this->gettext('itipinvalidrequest'), 'error', -1); diff --git a/plugins/calendar/lib/calendar_itip.php b/plugins/calendar/lib/calendar_itip.php index e1284424..43d32a27 100644 --- a/plugins/calendar/lib/calendar_itip.php +++ b/plugins/calendar/lib/calendar_itip.php @@ -144,7 +144,7 @@ class calendar_itip extends libcalendaring_itip $event['uid'], $this->rc->user->ID, self::serialize_event($event), - date('Y-m-d H:i:s', $event['end'] + 86400 * 2) + date('Y-m-d H:i:s', $event['end']->format('U') + 86400 * 2) ); if ($this->rc->db->affected_rows($query)) { diff --git a/plugins/libcalendaring/lib/libcalendaring_itip.php b/plugins/libcalendaring/lib/libcalendaring_itip.php index 81579681..d285960b 100644 --- a/plugins/libcalendaring/lib/libcalendaring_itip.php +++ b/plugins/libcalendaring/lib/libcalendaring_itip.php @@ -130,7 +130,7 @@ class libcalendaring_itip 'vars' => array('url' => $this->plugin->get_url(array('action' => 'attend', 't' => $token))), )); } - else if ($method == 'CANCEL') { + else if ($method == 'CANCEL' && $event['cancelled']) { $this->cancel_itip_invitation($event); }