Commit 275511d6 authored by Sebastian Kummer's avatar Sebastian Kummer

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

Merge pull request #620 in ZP/z-push from bugfix/ZP-1318-caldav-only-set-organizer-if-attendee to develop

* commit 'bd808e2f':
  ZP-1318 Caldav only set ORGANIZER if ATTENDEE. Released under the Affero GNU General Public License (AGPL) version 3.
  ZP-1318 Caldav only set ORGANIZER if ATTENDEE. Released under the Affero GNU General Public License (AGPL) version 3.
parents bdd1d470 bd808e2f
...@@ -982,14 +982,6 @@ class BackendCalDAV extends BackendDiff { ...@@ -982,14 +982,6 @@ class BackendCalDAV extends BackendDiff {
if (isset($data->subject)) { if (isset($data->subject)) {
$vevent->AddProperty("SUMMARY", $data->subject); $vevent->AddProperty("SUMMARY", $data->subject);
} }
if (isset($data->organizeremail)) {
if (isset($data->organizername)) {
$vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->organizeremail), array("CN" => $data->organizername));
}
else {
$vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->organizeremail));
}
}
if (isset($data->location)) { if (isset($data->location)) {
$vevent->AddProperty("LOCATION", $data->location); $vevent->AddProperty("LOCATION", $data->location);
} }
...@@ -1046,33 +1038,32 @@ class BackendCalDAV extends BackendDiff { ...@@ -1046,33 +1038,32 @@ class BackendCalDAV extends BackendDiff {
$rtfparser->parse(); $rtfparser->parse();
$vevent->AddProperty("DESCRIPTION", $rtfparser->out); $vevent->AddProperty("DESCRIPTION", $rtfparser->out);
} }
$is_meeting = false;
if (isset($data->meetingstatus)) { if (isset($data->meetingstatus)) {
switch ($data->meetingstatus) { switch ($data->meetingstatus) {
case "1": case "1":
$vevent->AddProperty("STATUS", "TENTATIVE"); $vevent->AddProperty("STATUS", "TENTATIVE");
$vevent->AddProperty("X-MICROSOFT-CDO-BUSYSTATUS", "TENTATIVE"); $vevent->AddProperty("X-MICROSOFT-CDO-BUSYSTATUS", "TENTATIVE");
$vevent->AddProperty("X-MICROSOFT-DISALLOW-COUNTER", "FALSE"); $vevent->AddProperty("X-MICROSOFT-DISALLOW-COUNTER", "FALSE");
$is_meeting = true;
break; break;
case "3": case "3":
$vevent->AddProperty("STATUS", "CONFIRMED"); $vevent->AddProperty("STATUS", "CONFIRMED");
$vevent->AddProperty("X-MICROSOFT-CDO-BUSYSTATUS", "CONFIRMED"); $vevent->AddProperty("X-MICROSOFT-CDO-BUSYSTATUS", "CONFIRMED");
$vevent->AddProperty("X-MICROSOFT-DISALLOW-COUNTER", "FALSE"); $vevent->AddProperty("X-MICROSOFT-DISALLOW-COUNTER", "FALSE");
$is_meeting = true;
break; break;
case "5": case "5":
case "7": case "7":
$vevent->AddProperty("STATUS", "CANCELLED"); $vevent->AddProperty("STATUS", "CANCELLED");
$vevent->AddProperty("X-MICROSOFT-CDO-BUSYSTATUS", "CANCELLED"); $vevent->AddProperty("X-MICROSOFT-CDO-BUSYSTATUS", "CANCELLED");
$vevent->AddProperty("X-MICROSOFT-DISALLOW-COUNTER", "TRUE"); $vevent->AddProperty("X-MICROSOFT-DISALLOW-COUNTER", "TRUE");
$is_meeting = true;
break; break;
} }
} }
if (isset($data->attendees) && is_array($data->attendees)) { if (isset($data->attendees) && is_array($data->attendees)) {
//If there are attendees, we need to set ORGANIZER $is_meeting = true;
//Some phones doesn't send the organizeremail, so we gotto get it somewhere else.
//Lets use the login here ($username)
if (!isset($data->organizeremail)) {
$vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $this->originalUsername));
}
foreach ($data->attendees as $att) { foreach ($data->attendees as $att) {
if (isset($att->name)) { if (isset($att->name)) {
$vevent->AddProperty("ATTENDEE", sprintf("MAILTO:%s", $att->email), array("CN" => $att->name)); $vevent->AddProperty("ATTENDEE", sprintf("MAILTO:%s", $att->email), array("CN" => $att->name));
...@@ -1082,6 +1073,19 @@ class BackendCalDAV extends BackendDiff { ...@@ -1082,6 +1073,19 @@ class BackendCalDAV extends BackendDiff {
} }
} }
} }
if ($is_meeting) {
if (isset($data->organizeremail) && isset($data->organizername)) {
$vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->organizeremail), array("CN" => $data->organizername));
}
elseif (isset($data->organizeremail)) {
$vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->organizeremail));
}
else {
//Some phones doesn't send the organizeremail, so we gotto get it somewhere else.
//Lets use the login here ($username)
$vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->originalUsername));
}
}
if (isset($data->body)) { if (isset($data->body)) {
$vevent->AddProperty("DESCRIPTION", $data->body); $vevent->AddProperty("DESCRIPTION", $data->body);
} }
......
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