• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/helper/messageindexstepper.php
  • Класс: BitrixMailHelperMessageIndexStepper
  • Вызов: MessageIndexStepper::execute
public function execute(array &$option)
{
	$option['steps'] = MailMailMessageTable::getCount(array(
		'=INDEX_VERSION' => static::INDEX_VERSION,
	));
	$option['count'] = MailMailMessageTable::getCount(array(
		'<=INDEX_VERSION' => static::INDEX_VERSION,
	));

	if ($option['steps'] >= $option['count'])
	{
		return false;
	}

	$res = MailMailMessageTable::getList(array(
		'select' => array(
			'ID',
			'FIELD_FROM', 'FIELD_REPLY_TO',
			'FIELD_TO', 'FIELD_CC', 'FIELD_BCC',
			'SUBJECT', 'BODY',
		),
		'filter' => array(
			' static::INDEX_VERSION,
		),
		'order' => array('ID' => 'ASC'),
		'limit' => 1000,
	));

	while ($item = $res->fetch())
	{
		$option['steps']++;

		$fields = array(
			'SEARCH_CONTENT' => Message::prepareSearchContent($item),
			'INDEX_VERSION' => static::INDEX_VERSION,
		);

		MailMailMessageTable::update($item['ID'], $fields);
	}

	return true;
}