• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/ui/task/template.php
  • Класс: BitrixTasksUITaskcontains
  • Вызов: contains::makeReplicationPeriodString
static function makeReplicationPeriodString($arParams)
{
	$strRepeat = '';
	switch ($arParams["PERIOD"])
	{
		case "daily":
			if (intval($arParams["EVERY_DAY"]) == 1)
			{
				$strRepeat = GetMessage("TASKS_EVERY_DAY");
			}
			else
			{
				$strRepeat = str_replace("#NUM#", intval($arParams["EVERY_DAY"]), GetMessage("TASKS_EVERY_N_DAY".taskMessSuffix(intval($arParams["EVERY_DAY"]))));
			}
			break;
		case "weekly":
			if (intval($arParams["EVERY_WEEK"]) == 1)
			{
				$strRepeat = GetMessage("TASKS_EVERY_WEEK");
			}
			else
			{
				$strRepeat = str_replace("#NUM#", intval($arParams["EVERY_WEEK"]), GetMessage("TASKS_EVERY_N_WEEK".taskMessSuffix(intval($arParams["EVERY_WEEK"]))));
			}
			if (sizeof($arParams["WEEK_DAYS"]))
			{
				$arDays = array();
				foreach($arParams["WEEK_DAYS"] as $day)
				{
					if ($day < 8 && $day > 0)
					{
						$arDays[] = GetMessage("TASKS_REPEAT_DAY_2_".($day - 1));
					}
				}
				if (sizeof($arDays))
				{
					$strRepeat .= str_replace("#DAYS#", implode(", ", $arDays), GetMessage("TASKS_AT_WEEK_DAYS"));
				}
			}
			break;
		case "monthly":
			if ($arParams["MONTHLY_TYPE"] == 1)
			{
				$strRepeat = str_replace("#DAY#", $arParams["MONTHLY_DAY_NUM"], GetMessage("TASKS_MONTHLY_DAY_NUM".taskMessSuffix(intval($arParams["MONTHLY_DAY_NUM"]))));
				if (intval($arParams["MONTHLY_MONTH_NUM_1"]) < 2)
				{
					$strRepeat .= " ".GetMessage("TASKS_EVERY_MONTH");
				}
				else
				{
					$strRepeat .= " ".str_replace("#NUM#", intval($arParams["MONTHLY_MONTH_NUM_1"]), GetMessage("TASKS_EVERY_N_MONTH".taskMessSuffix(intval($arParams["MONTHLY_MONTH_NUM_1"]))));
				}
			}
			else
			{
				$arParams["MONTHLY_WEEK_DAY"] = intval($arParams["MONTHLY_WEEK_DAY"]);
				if ($arParams["MONTHLY_WEEK_DAY"] < 0 || $arParams["MONTHLY_WEEK_DAY"] > 6)
				{
					$arParams["MONTHLY_WEEK_DAY"] = 0;
				}
				$arParams["MONTHLY_WEEK_DAY_NUM"] = intval($arParams["MONTHLY_WEEK_DAY_NUM"]);
				if ($arParams["MONTHLY_WEEK_DAY_NUM"] < 0 || $arParams["MONTHLY_WEEK_DAY_NUM"] > 4)
				{
					$arParams["MONTHLY_WEEK_DAY_NUM"] = 0;
				}
				$strRepeat = GetMessage("TASKS_REPEAT_DAY_NUM_".$arParams["MONTHLY_WEEK_DAY_NUM"])." ".GetMessage("TASKS_REPEAT_DAY_".$arParams["MONTHLY_WEEK_DAY"]);
				if (intval($arParams["MONTHLY_MONTH_NUM_2"]) < 2)
				{
					$strRepeat .= " ".GetMessage("TASKS_EVERY_MONTH");
				}
				else
				{
					$strRepeat .= " ".str_replace("#NUM#", intval($arParams["MONTHLY_MONTH_NUM_2"]), GetMessage("TASKS_EVERY_N_MONTH_2".taskMessSuffix(intval($arParams["MONTHLY_MONTH_NUM_2"]))));
				}
			}
			break;
		case "yearly":
			if ($arParams["YEARLY_TYPE"] == 1)
			{
				$arParams["YEARLY_MONTH_1"] = intval($arParams["YEARLY_MONTH_1"]);
				if ($arParams["YEARLY_MONTH_1"] > 11 || $arParams["YEARLY_MONTH_1"] < 0)
				{
					$arParams["YEARLY_MONTH_1"] = 0;
				}
				$strRepeat = str_replace(array("#NUM#", "#MONTH#"), array($arParams["YEARLY_DAY_NUM"], GetMessage("TASKS_REPEAT_MONTH_".$arParams["YEARLY_MONTH_1"])), GetMessage("TASKS_EVERY_N_DAY_OF_MONTH".taskMessSuffix(intval($arParams["YEARLY_DAY_NUM"]))));
			}
			else
			{
				$arParams["YEARLY_MONTH_2"] = intval($arParams["YEARLY_MONTH_2"]);
				if ($arParams["YEARLY_MONTH_2"] > 11 || $arParams["YEARLY_MONTH_2"] < 0)
				{
					$arParams["YEARLY_MONTH_2"] = 0;
				}
				$arParams["YEARLY_WEEK_DAY"] = intval($arParams["YEARLY_WEEK_DAY"]);
				if ($arParams["YEARLY_WEEK_DAY"] < 0 || $arParams["YEARLY_WEEK_DAY"] > 6)
				{
					$arParams["YEARLY_WEEK_DAY"] = 0;
				}
				$arParams["YEARLY_WEEK_DAY_NUM"] = intval($arParams["YEARLY_WEEK_DAY_NUM"]);
				if ($arParams["YEARLY_WEEK_DAY_NUM"] < 0 || $arParams["YEARLY_WEEK_DAY_NUM"] > 4)
				{
					$arParams["YEARLY_WEEK_DAY_NUM"] = 0;
				}
				$strRepeat = str_replace(array("#NUM#", "#DAY#", "#MONTH#"), array(GetMessage("TASKS_REPEAT_DAY_NUM_".$arParams["YEARLY_WEEK_DAY_NUM"]), GetMessage("TASKS_REPEAT_DAY_".$arParams["YEARLY_WEEK_DAY"]), GetMessage("TASKS_REPEAT_MONTH_".$arParams["YEARLY_MONTH_2"])), GetMessage("TASKS_AT_N_DAY_OF_MONTH".taskMessSuffix(intval($arParams["TASKS_REPEAT_DAY_NUM_"]))));
			}
			break;
	}

	return $strRepeat;
}