From 6b85ca7a01fc9d8003bc3a2bdac2e3e898574562 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 26 Sep 2012 10:20:27 +0000 Subject: [PATCH] * Calendar/eSync/eMail: fix not working accept/reject on calendar items (mails was working before) --- calendar/inc/class.calendar_activesync.inc.php | 9 ++------- felamimail/inc/class.felamimail_activesync.inc.php | 12 ++++++------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/calendar/inc/class.calendar_activesync.inc.php b/calendar/inc/class.calendar_activesync.inc.php index a30d351977..c4a6fafe2d 100644 --- a/calendar/inc/class.calendar_activesync.inc.php +++ b/calendar/inc/class.calendar_activesync.inc.php @@ -388,12 +388,12 @@ return array(); // temporary disabling meeting requests from calendar * Process response to meeting request * * @see BackendDiff::MeetingResponse() - * @param int|string $requestid uid of mail with meeting request, or < 0 for cal_id, or string with iCal from fmail plugin * @param string $folderid folder of meeting request mail + * @param int|string $requestid cal_id, or string with iCal from fmail plugin * @param int $response 1=accepted, 2=tentative, 3=decline * @return int|boolean id of calendar item, false on error */ - function MeetingResponse($requestid, $folderid, $response) + function MeetingResponse($folderid, $requestid, $response) { if (!isset($this->calendar)) $this->calendar = new calendar_boupdate(); @@ -432,11 +432,6 @@ return array(); // temporary disabling meeting requests from calendar return false; } } - elseif($requestid > 0) // uid from mail --> let fmail plugin call us - { - debugLog(__METHOD__."('$requestid', '$folderid', $response) returning NULL (fmail uid)"); - return null; - } elseif (!($event = $this->calendar->read(abs($requestid), 0, false, 'server'))) { debugLog(__METHOD__."('$requestid', '$folderid', $response) returning FALSE"); diff --git a/felamimail/inc/class.felamimail_activesync.inc.php b/felamimail/inc/class.felamimail_activesync.inc.php index 0f43356cea..005539b23e 100644 --- a/felamimail/inc/class.felamimail_activesync.inc.php +++ b/felamimail/inc/class.felamimail_activesync.inc.php @@ -1353,21 +1353,19 @@ class felamimail_activesync implements activesync_plugin_write, activesync_plugi * fmail plugin only extracts the iCal attachment and let's calendar plugin deal with adding it * * @see BackendDiff::MeetingResponse() - * @param int|string $requestid uid of mail with meeting request, or < 0 for cal_id or string with iCal * @param string $folderid folder of meeting request mail + * @param int|string $requestid uid of mail with meeting request * @param int $response 1=accepted, 2=tentative, 3=decline * @return int|boolean id of calendar item, false on error */ - function MeetingResponse($requestid, $folderid, $response) + function MeetingResponse($folderid, $requestid, $response) { - if (!($requestid > 0)) return null; // let calendar plugin handle it's own meeting requests - if (!class_exists('calendar_activesync')) { debugLog(__METHOD__."(...) no EGroupware calendar installed!"); return null; } - if (!($requestid > 0) || !($stat = $this->StatMessage($folderid, $requestid))) + if (!($stat = $this->StatMessage($folderid, $requestid))) { debugLog(__METHOD__."($requestid, '$folderid', $response) returning FALSE (can NOT stat message)"); return false; @@ -1381,7 +1379,9 @@ class felamimail_activesync implements activesync_plugin_write, activesync_plugi debugLog(__METHOD__."($requestid, '$folderid', $response) iCal found, calling now backend->MeetingResponse('$attachment[attachment]')"); // calling backend again with iCal attachment, to let calendar add the event - if (($ret = $this->backend->MeetingResponse($attachment['attachment'], $folderid, $response, $calendarid))) + if (($ret = $this->backend->MeetingResponse($attachment['attachment'], + $this->backend->createID('calendar',$GLOBALS['egw_info']['user']['account_id']), + $response, $calendarid))) { $ret = $calendarid; }