Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
z-push
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Björn Fischer
z-push
Commits
72611b4c
Commit
72611b4c
authored
Feb 03, 2016
by
Sebastian Kummer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ZP-707 use MAPIStreamWrapper where possible.
Released under the Affero GNU General Public License (AGPL) version 3.
parent
f1a991b1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
9 deletions
+26
-9
mapiprovider.php
src/backend/zarafa/mapiprovider.php
+26
-9
No files found.
src/backend/zarafa/mapiprovider.php
View file @
72611b4c
...
...
@@ -2365,24 +2365,41 @@ class MAPIProvider {
if (isset($message->asbody))
$message->asbody->type = $bpReturnType;
return $stat;
}
}
$stream = mapi_openproperty($mapimessage, $property, IID_IStream, 0, 0);
$stat = mapi_stream_stat($stream);
$streamsize = $stat['cb'];
$body = mapi_message_openproperty($mapimessage, $property);
//set the properties according to supported AS version
if (Request::GetProtocolVersion() >= 12.0) {
$message->asbody = new SyncBaseBody();
$message->asbody->type = $bpReturnType;
if ($bpReturnType == SYNC_BODYPREFERENCE_RTF)
if ($bpReturnType == SYNC_BODYPREFERENCE_RTF) {
$body = mapi_stream_read($stream, $streamsize);
$message->asbody->data = StringStreamWrapper::Open(base64_encode($body));
elseif (isset($message->internetcpid) && $bpReturnType == SYNC_BODYPREFERENCE_HTML)
$message->asbody->data = StringStreamWrapper::Open(Utils::ConvertCodepageStringToUtf8($message->internetcpid, $body));
else
$message->asbody->data = StringStreamWrapper::Open($body);
$message->asbody->estimatedDataSize = strlen($body);
}
elseif (isset($message->internetcpid) && $bpReturnType == SYNC_BODYPREFERENCE_HTML) {
// if PR_HTML is UTF-8 we can stream it directly, else we have to convert to UTF-8 & wrap it
if (Utils::GetCodepageCharset($message->internetcpid) == "utf-8") {
$message->asbody->data = MAPIStreamWrapper::Open($stream);
ZLog::Write(LOGLEVEL_DEBUG, "-------------------------------------------- HTML schon als utf-8");
}
else {
$body = mapi_stream_read($stream, $streamsize);
$message->asbody->data = StringStreamWrapper::Open(Utils::ConvertCodepageStringToUtf8($message->internetcpid, $body));
ZLog::Write(LOGLEVEL_DEBUG, "-------------------------------------------- HTML schon als $message->internetcpid .. converting");
}
}
else {
$message->asbody->data = MAPIStreamWrapper::Open($stream);
}
$message->asbody->estimatedDataSize = $streamsize;
}
else {
$body = mapi_stream_read($stream, $streamsize);
$message->body = str_replace("\n","\r\n", w2u(str_replace("\r", "", $body)));
$message->bodysize =
strlen($message->body)
;
$message->bodysize =
$streamsize
;
$message->bodytruncated = 0;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment