- Модуль: mail
- Путь к файлу: ~/bitrix/modules/mail/lib/mailboxdirectory.php
- Класс: BitrixMailMailboxDirectory
- Вызов: MailboxDirectory::setSyncLock
static function setSyncLock(int $id, int $time)
{
$entity = MailboxDirectoryTable::getEntity();
$connection = $entity->getConnection();
$query = sprintf(
"UPDATE %s SET %s WHERE %s",
$connection->getSqlHelper()->quote($entity->getDbTableName()),
$connection->getSqlHelper()->prepareUpdate($entity->getDbTableName(), [
'SYNC_LOCK' => $time,
])[0],
Query::buildFilterSql(
$entity,
[
'=ID' => $id,
[
'LOGIC' => 'OR',
'=SYNC_LOCK' => 'IS NULL',
' time() - Mailbox::getTimeout(),
]
]
)
);
$connection->query($query);
$count = $connection->getAffectedRowsCount();
return $count;
}