• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/helper.php
  • Класс: BitrixMailHelper
  • Вызов: Helper::getStartInternalDateForDir
static function getStartInternalDateForDir(
	$mailboxId,
	$dirPath,
	$order = 'ASC',
	$filter =
	[
		'!=MESSAGE_UID.IS_OLD' => 'Y',
		'==MESSAGE_UID.DELETE_TIME' => 0,
		'!@MESSAGE_UID.IS_OLD' => ['M', 'R'],
	]
)
{
	$firstSyncUID = MailMessageTable::getList(
		[
			'runtime' => [
				new ORMFieldsRelationsReference(
					'MESSAGE_UID', MailMessageUidTable::class, [
					'=this.MAILBOX_ID' => 'ref.MAILBOX_ID',
					'=this.ID' => 'ref.MESSAGE_ID',
				], [
						'join_type' => 'INNER',
					]
				),
			],
			'select' => [
				'INTERNALDATE' => 'MESSAGE_UID.INTERNALDATE',
			],
			'filter' => array_merge(
				[
					'=MAILBOX_ID' => $mailboxId,
					'=MESSAGE_UID.DIR_MD5' => md5(Emoji::encode($dirPath)),
				],
				$filter
			),
			'order' => [
				'FIELD_DATE' => $order,
			],
			'limit' => 1,
		]
	)->fetchAll();

	if(isset($firstSyncUID[0]['INTERNALDATE']))
	{
		return $firstSyncUID[0]['INTERNALDATE'];
	}
	else
	{
		return false;
	}
}