- Модуль: mail
- Путь к файлу: ~/bitrix/modules/mail/lib/helper/mailboxdirectoryhelper.php
- Класс: BitrixMailHelperMailboxDirectoryHelper
- Вызов: MailboxDirectoryHelper::updateSyncDirs
public function updateSyncDirs($dirs, $dbDirs)
{
$updateRows = array_udiff_assoc($dirs, $dbDirs, function ($a, $b)
{
$flagsA = MailboxDirectoryHelper::getFlags($a['flags']);
$flagsB = $b->getFlags();
$delimA = $a['delim'];
$delimB = $b->getDelimiter();
if ($flagsA !== $flagsB)
{
return $flagsA > $flagsB ? 1 : -1;
}
else if ($delimA !== $delimB)
{
return $delimA > $delimB ? 1 : -1;
}
return 0;
});
foreach ($updateRows as $row)
{
$dbDir = $this->getDirByPath(Emoji::encode($row['path']));
if (!$dbDir)
{
continue;
}
MailboxDirectory::update(
$dbDir->getId(),
[
'DELIMITER' => $row['delim'],
'FLAGS' => MailboxDirectoryHelper::getFlags($row['flags']),
]
);
}
}