Commit 68d2dc48 authored by Sebastian Kummer's avatar Sebastian Kummer

Merge pull request #640 in ZP/z-push from...

Merge pull request #640 in ZP/z-push from bugfix/ZP-1345-own-private-items-stripped-when-folder-is-in-additionalfolders to develop

* commit '7ce9d624':
  ZP-1345 Optimize the check for shared and private messages.
  ZP-1345 Own private items stripped when folder is in $additionalFolders.
parent 2339fa13
...@@ -364,12 +364,15 @@ class MAPIUtils { ...@@ -364,12 +364,15 @@ class MAPIUtils {
*/ */
public static function IsMessageSharedAndPrivate($folderid, $mapimessage) { public static function IsMessageSharedAndPrivate($folderid, $mapimessage) {
$sensitivity = mapi_getprops($mapimessage, array(PR_SENSITIVITY)); $sensitivity = mapi_getprops($mapimessage, array(PR_SENSITIVITY));
$sharedUser = ZPush::GetAdditionalSyncFolderStore(bin2hex($folderid)); if (isset($sensitivity[PR_SENSITIVITY]) && $sensitivity[PR_SENSITIVITY] >= SENSITIVITY_PRIVATE) {
if ($sharedUser != false && $sharedUser != 'SYSTEM' && isset($sensitivity[PR_SENSITIVITY]) && $sensitivity[PR_SENSITIVITY] >= SENSITIVITY_PRIVATE) { $hexFolderid = bin2hex($folderid);
ZLog::Write(LOGLEVEL_DEBUG, sprintf("MAPIUtils->IsMessageSharedAndPrivate(): Message is in shared store '%s' and marked as private", $sharedUser)); $sharedUser = ZPush::GetAdditionalSyncFolderStore($hexFolderid);
return true; $shortId = ZPush::GetDeviceManager()->GetFolderIdForBackendId($hexFolderid);
if (substr($shortId, 0, 1) != DeviceManager::FLD_ORIGIN_USER && $sharedUser != false && $sharedUser != 'SYSTEM') {
ZLog::Write(LOGLEVEL_DEBUG, sprintf("MAPIUtils->IsMessageSharedAndPrivate(): Message is in shared store '%s' and marked as private", $sharedUser));
return true;
}
} }
return false; return false;
} }
......
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