• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/control/handler/templatefieldhandler.php
  • Класс: BitrixTasksControlHandlerTemplateFieldHandler
  • Вызов: TemplateFieldHandler::prepareReplication
public function prepareReplication(): self
{
	if (
		$this->templateId
		&& !array_key_exists('REPLICATE', $this->fields)
		&& !array_key_exists('REPLICATE_PARAMS', $this->fields)
		&& !array_key_exists('TPARAM_REPLICATION_COUNT', $this->fields)
	)
	{
		return $this;
	}

	if(array_key_exists('TPARAM_REPLICATION_COUNT', $this->fields))
	{
		$this->fields['TPARAM_REPLICATION_COUNT'] = (int) $this->fields['TPARAM_REPLICATION_COUNT'];
	}
	elseif(!$this->templateId)
	{
		$this->fields['TPARAM_REPLICATION_COUNT'] = 0;
	}


	if (
		$this->templateId
		&& !array_key_exists('REPLICATE_PARAMS', $this->fields)
	)
	{
		return $this;
	}

	if (
		!array_key_exists('REPLICATE_PARAMS', $this->fields)
		|| empty($this->fields['REPLICATE_PARAMS'])
	)
	{
		$this->fields['REPLICATE_PARAMS'] = [];
	}

	if(
		is_string($this->fields['REPLICATE_PARAMS'])
		&& !empty($this->fields['REPLICATE_PARAMS'])
	)
	{
		$this->fields['REPLICATE_PARAMS'] = BitrixTasksUtilType::unSerializeArray($this->fields['REPLICATE_PARAMS']);
	}

	$this->fields['REPLICATE_PARAMS'] = CTaskTemplates::parseReplicationParams($this->fields['REPLICATE_PARAMS']);

	return $this;
}