public static function AddItem($arFields) { global $DB; if (!(CModule::IncludeModule("dav") && CDavExchangeTasks::IsExchangeEnabled())) { return; } $bodyType = 'html'; if (isset($arFields['DESCRIPTION_IN_BBCODE']) && $arFields['DESCRIPTION_IN_BBCODE'] === 'Y') { $bodyType = 'text'; } $priorityMapping = array_flip(self::$PriorityMapping); $arModifyEventArray = array("USER_ID" => $arFields["RESPONSIBLE_ID"], "SUBJECT" => $arFields["TITLE"], "BODY" => $arFields["DESCRIPTION"], "IMPORTANCE" => $priorityMapping[strtolower($arFields["PRIORITY"])], 'GUID' => $arFields['GUID'], "ACTUAL_WORK" => $arFields["DURATION_FACT"] * 60, "STATUS" => self::$StatusMappingReverse[$arFields["STATUS"]], "TOTAL_WORK" => $arFields["DURATION_PLAN"] * 60, "BODY_TYPE" => $bodyType); if ($arFields["START_DATE_PLAN"]) { $arModifyEventArray["START_DATE"] = $arFields["START_DATE_PLAN"]; } if ($arFields["DEADLINE"]) { $arModifyEventArray["DUE_DATE"] = $arFields["DEADLINE"]; } $result = CDavExchangeTasks::DoAddItem($arModifyEventArray["USER_ID"], $arModifyEventArray); if (array_key_exists("XML_ID", $result)) { $arExchangeFields = array("EXCHANGE_MODIFIED" => $result["MODIFICATION_LABEL"], "EXCHANGE_ID" => $result["XML_ID"]); $strUpdate = $DB->PrepareUpdate("b_tasks", $arExchangeFields, "tasks"); $strSql = "UPDATE b_tasks SET " . $strUpdate . " WHERE ID=" . $arFields["ID"]; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); } }