Commit 1a56f68a authored by mku's avatar mku

ZP-260 #comment Delegating meeting request are forwarded instead of delegated #time 30m

git-svn-id: https://z-push.org/svn/z-push/trunk@1602 b7dd7b3b-3a3c-0410-9da9-bee62a6cc5b5
parent d7d65e57
...@@ -851,7 +851,7 @@ class BackendZarafa implements IBackend, ISearchProvider { ...@@ -851,7 +851,7 @@ class BackendZarafa implements IBackend, ISearchProvider {
if(!$mapimessage) if(!$mapimessage)
throw new StatusException(sprintf("BackendZarafa->MeetingResponse('%s','%s', '%s'): Error, unable to open request message for response 0x%X", $requestid, $folderid, $response, mapi_last_hresult()), SYNC_MEETRESPSTATUS_INVALIDMEETREQ); throw new StatusException(sprintf("BackendZarafa->MeetingResponse('%s','%s', '%s'): Error, unable to open request message for response 0x%X", $requestid, $folderid, $response, mapi_last_hresult()), SYNC_MEETRESPSTATUS_INVALIDMEETREQ);
$meetingrequest = new Meetingrequest($this->store, $mapimessage); $meetingrequest = new Meetingrequest($this->store, $mapimessage, $this->session);
if(!$meetingrequest->isMeetingRequest()) if(!$meetingrequest->isMeetingRequest())
throw new StatusException(sprintf("BackendZarafa->MeetingResponse('%s','%s', '%s'): Error, attempt to respond to non-meeting request", $requestid, $folderid, $response), SYNC_MEETRESPSTATUS_INVALIDMEETREQ); throw new StatusException(sprintf("BackendZarafa->MeetingResponse('%s','%s', '%s'): Error, attempt to respond to non-meeting request", $requestid, $folderid, $response), SYNC_MEETRESPSTATUS_INVALIDMEETREQ);
...@@ -880,6 +880,11 @@ class BackendZarafa implements IBackend, ISearchProvider { ...@@ -880,6 +880,11 @@ class BackendZarafa implements IBackend, ISearchProvider {
$calendarid = ""; $calendarid = "";
if (isset($entryid)) { if (isset($entryid)) {
$newitem = mapi_msgstore_openentry($this->store, $entryid); $newitem = mapi_msgstore_openentry($this->store, $entryid);
// new item might be in a delegator's store. ActiveSync does not support accepting them.
if (!$newitem) {
throw new StatusException(sprintf("BackendZarafa->MeetingResponse('%s','%s', '%s'): Object with entryid '%s' was not found in user's store (0x%X). It might be in a delegator's store.", $requestid, $folderid, $response, bin2hex($entryid), mapi_last_hresult()), SYNC_MEETRESPSTATUS_SERVERERROR, null, LOGLEVEL_WARN);
}
$newprops = mapi_getprops($newitem, array(PR_SOURCE_KEY)); $newprops = mapi_getprops($newitem, array(PR_SOURCE_KEY));
$calendarid = bin2hex($newprops[PR_SOURCE_KEY]); $calendarid = bin2hex($newprops[PR_SOURCE_KEY]);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment