Commit eac42d65 authored by Sebastian Kummer's avatar Sebastian Kummer

Merge pull request #685 in ZP/z-push from bugfix/ZP-1396-caldav-attendee-but-no-meeting to develop

* commit '0fe37605':
  ZP-1396 Only a meeting if meetingstatus says so. Released under the Affero GNU General Public License (AGPL) version 3.
parents 4b690b54 0fe37605
...@@ -1081,42 +1081,25 @@ class BackendCalDAV extends BackendDiff { ...@@ -1081,42 +1081,25 @@ 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) && $data->meetingstatus > 0) {
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)) {
$is_meeting = true;
foreach ($data->attendees as $att) {
if (isset($att->name)) {
$vevent->AddProperty("ATTENDEE", sprintf("MAILTO:%s", $att->email), array("CN" => $att->name));
}
else {
$vevent->AddProperty("ATTENDEE", sprintf("MAILTO:%s", $att->email));
}
}
}
if ($is_meeting) {
if (isset($data->organizeremail) && isset($data->organizername)) { if (isset($data->organizeremail) && isset($data->organizername)) {
$vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->organizeremail), array("CN" => $data->organizername)); $vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->organizeremail), array("CN" => $data->organizername));
} }
...@@ -1128,6 +1111,16 @@ class BackendCalDAV extends BackendDiff { ...@@ -1128,6 +1111,16 @@ class BackendCalDAV extends BackendDiff {
//Lets use the login here ($username) //Lets use the login here ($username)
$vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->originalUsername)); $vevent->AddProperty("ORGANIZER", sprintf("MAILTO:%s", $data->originalUsername));
} }
if (isset($data->attendees) && is_array($data->attendees)) {
foreach ($data->attendees as $att) {
if (isset($att->name)) {
$vevent->AddProperty("ATTENDEE", sprintf("MAILTO:%s", $att->email), array("CN" => $att->name));
}
else {
$vevent->AddProperty("ATTENDEE", sprintf("MAILTO:%s", $att->email));
}
}
}
} }
if (isset($data->body) && strlen($data->body) > 0) { if (isset($data->body) && strlen($data->body) > 0) {
$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