- Модуль: dav
- Путь к файлу: ~/bitrix/modules/dav/classes/general/exchangetasks.php
- Класс: CDavExchangeTasks
- Вызов: CDavExchangeTasks::CreateUpdateField
private function CreateUpdateField($key, $value, &$arFields)
{
$itemBody = "";
if ($key === "Body")
{
$itemBody .= " rn";
}
elseif ($key === "Recurrence")
{
$ar = array("MONTHLY_ABSOLUTE" => "AbsoluteMonthlyRecurrence", "MONTHLY_RELATIVE" => "RelativeMonthlyRecurrence", "YEARLY_ABSOLUTE" => "AbsoluteYearlyRecurrence", "YEARLY_RELATIVE" => "RelativeYearlyRecurrence", "WEEKLY" => "WeeklyRecurrence", "DAILY" => "DailyRecurrence");
if (isset($arFields["RecurringType"]) && array_key_exists($arFields["RecurringType"], $ar))
{
$rnode = $ar[$arFields["RecurringType"]];
$itemBody .= " rn";
$itemBody .= " <".$rnode.">rn";
if ($arFields["RecurringType"] === "MONTHLY_ABSOLUTE")
{
if (isset($arFields["RecurringInterval"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringInterval"])
. "rn";
}
if (isset($arFields["RecurringDayOfMonth"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringDayOfMonth"])
. "rn";
}
}
elseif ($arFields["RecurringType"] === "MONTHLY_RELATIVE")
{
if (isset($arFields["RecurringInterval"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringInterval"])
. "rn";
}
if (isset($arFields["RecurringDaysOfWeek"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringDaysOfWeek"])
. "rn";
}
if (isset($arFields["RecurringDayOfWeekIndex"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringDayOfWeekIndex"])
. "rn";
}
}
elseif ($arFields["RecurringType"] === "YEARLY_ABSOLUTE")
{
if (isset($arFields["RecurringDayOfMonth"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringDayOfMonth"])
. "rn";
}
if (isset($arFields["RecurringMonth"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringMonth"])
. "rn";
}
}
elseif ($arFields["RecurringType"] === "YEARLY_RELATIVE")
{
if (isset($arFields["RecurringDaysOfWeek"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringDaysOfWeek"])
. "rn";
}
if (isset($arFields["RecurringDayOfWeekIndex"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringDayOfWeekIndex"])
. "rn";
}
if (isset($arFields["RecurringMonth"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringMonth"])
. "rn";
}
}
elseif ($arFields["RecurringType"] === "WEEKLY")
{
if (isset($arFields["RecurringInterval"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringInterval"])
. "rn";
}
if (isset($arFields["RecurringDaysOfWeek"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringDaysOfWeek"])
. "rn";
}
}
elseif ($arFields["RecurringType"] === "DAILY")
{
if (isset($arFields["RecurringInterval"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringInterval"])
. "rn";
}
}
$itemBody .= " ".$rnode.">rn";
if (isset($arFields["RecurringEndDate"]))
{
$itemBody .= " rn";
if (isset($arFields["RecurringStartDate"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringStartDate"])
. "rn";
}
$itemBody .= " ".htmlspecialcharsbx($arFields["RecurringEndDate"])."rn";
$itemBody .= " rn";
}
elseif (isset($arFields["RecurringNumberOfOccurrences"]))
{
$itemBody .= " rn";
if (isset($arFields["RecurringStartDate"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringStartDate"])
. "rn";
}
$itemBody .= " ".htmlspecialcharsbx($arFields["RecurringNumberOfOccurrences"])."rn";
$itemBody .= " rn";
}
else
{
$itemBody .= " rn";
if (isset($arFields["RecurringStartDate"]))
{
$itemBody .= " "
. htmlspecialcharsbx($arFields["RecurringStartDate"])
. "rn";
}
$itemBody .= " rn";
}
$itemBody .= " rn";
}
}
elseif (is_array($value)) // Extended fields represented as arrays
{
$propertyName = $value['PropertyName'];
$propertyType = $value['PropertyType'];
$propertyValue = $value['Value'];
$itemBody .= ' ' . "rn";
$itemBody .= ' ' . "rn"
. ' ' . htmlspecialcharsbx($propertyValue) . '' . "rn";
$itemBody .= ' ' . "rn";
}
else
{
$itemBody .= " <".htmlspecialcharsbx($key).">";
if (is_bool($value))
{
$itemBody .= ($value ? "true" : "false");
}
else
{
$itemBody .= htmlspecialcharsbx($value);
}
$itemBody .= "".htmlspecialcharsbx($key).">rn";
}
return $itemBody;
}