- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/manager/task/template.php
- Класс: Bitrix\Tasks\Manager\Task\Template
- Вызов: Template::update
static function update($userId, $itemId, array $data, array $parameters = array('PUBLIC_MODE' => false)) { $userId = Assert::expectIntegerPositive($userId, '$userId'); $itemId = Assert::expectIntegerPositive($itemId, '$itemId'); $errors = static::ensureHaveErrorCollection($parameters); if(isset($parameters['PUBLIC_MODE'])) { $data = static::filterData($data, array(), $errors); } $template = static::getTemplate($itemId); if (isset($template['ID']) && (int)$template['ID'] > 0) { $templateData = $template; } else { $errors->add('ACCESS_DENIED.NO_TEMPLATE', 'Template not found'); return; } $prevReplicateData = Type::unserializeArray($templateData['REPLICATE_PARAMS']); if(array_key_exists('REPLICATE_PARAMS', $data)) { $times = intval($data['REPLICATE_PARAMS']['TIMES']); $data['REPLICATE_PARAMS'] = Type::serializeArray($data['REPLICATE_PARAMS']); } else { $times = false; // times unchanged } // reset replication counter when TIMES was changed if($times !== false && intval($prevReplicateData['TIMES']) != $times) { $data['TPARAM_REPLICATION_COUNT'] = 1; } $templateInstance = new \CTaskTemplates(); $templateInstance->update($itemId, $data); $resultErrors = $templateInstance->getErrors(); if(!empty($resultErrors)) { $errors->load($resultErrors); } }