• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/util/replicator/task/fromtemplate.php
  • Класс: BitrixTasksUtilReplicatorTaskFromTemplate
  • Вызов: FromTemplate::resurrectFallenTemplates
static function resurrectFallenTemplates()
{
	global $DB;

	$fallenTemplates = $DB->Query("
		SELECT Template.ID,
			   Template.CREATED_BY,
			   Template.REPLICATE,
			   Template.REPLICATE_PARAMS,
			   Template.TPARAM_REPLICATION_COUNT
		FROM b_tasks_template Template
			 INNER JOIN b_tasks_syslog Log ON Log.ENTITY_ID = Template.ID
		WHERE Log.TYPE = 3 AND
			  Log.CREATED_DATE >= STR_TO_DATE('2018-02-21 00:00:00', '%Y-%m-%d %H:%i:%s')
	");

	$alreadyUpdated = array();

	while ($fallenTemplate = $fallenTemplates->Fetch())
	{
		$templateId = $fallenTemplate['ID'];
		$templateData = array(
			'CREATED_BY' => $fallenTemplate['CREATED_BY'],
			'REPLICATE' => $fallenTemplate['REPLICATE'],
			'REPLICATE_PARAMS' => unserialize($fallenTemplate['REPLICATE_PARAMS'], ['allowed_classes' => false]),
			'TPARAM_REPLICATION_COUNT' => $fallenTemplate['TPARAM_REPLICATION_COUNT']
		);

		if (!in_array($templateId, $alreadyUpdated))
		{
			static::reInstallAgent($templateId, $templateData);
			$alreadyUpdated[] = $templateId;
		}
	}

	return '';
}