• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/install/filetableinstaller.php
  • Класс: Bitrix\Sender\Install\FileTableInstaller
  • Вызов: FileTableInstaller::fillFileTableFromTemplates
static function fillFileTableFromTemplates(int $offset = 0):string
{
	if ($offset === 0)
	{
		$templates = TemplateTable::getList([
			'select' => [
				'ID',
				'CONTENT'
			]
		]);

		while ($template = $templates->fetch())
		{
			FileTable::syncFiles(
				$template['ID'],
				FileTable::TYPES['TEMPLATE'],
				$template['CONTENT'],
				false
			);
		}
	}

	$letters = Letter::getList([
		'select' => [
			'ID',
		],
		'filter' => [
			'=MESSAGE_CODE' => MessageMail::CODE
		],
		'offset' => $offset,
		'limit' => 100,
		'order' => [
			'ID' => 'ASC'
		]
	]);
	$counter = 0;

	while ($letter = $letters->fetch())
	{
		$letter = Letter::createInstanceById($letter['ID']);
		FileTable::syncFiles(
			$letter->getId(),
			FileTable::TYPES['LETTER'],
			$letter->getMessage()->getConfiguration()->get('MESSAGE'),
			false
		);
		$counter++;
	}
	$offset += $counter;

	if ($counter < 100)
	{
		\COption::SetOptionInt('sender', 'sender_file_load_completed', 1);
		return '';
	}

	return '\\Bitrix\\Sender\\Install\\FileTableInstaller::installAgent('.$offset.');';
}