• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/helper/mailboxdirectoryhelper.php
  • Класс: BitrixMailHelperMailboxDirectoryHelper
  • Вызов: MailboxDirectoryHelper::toggleSyncDirs
public function toggleSyncDirs($dirs)
{
	$enableRows = [];
	$disableRows = [];

	foreach ($dirs as $dir)
	{
		$hash = isset($dir['dirMd5']) ? $dir['dirMd5'] : null;
		$value = isset($dir['value']) ? intval($dir['value']) : 0;

		if (!$hash || !in_array($value, [MailboxDirectoryTable::ACTIVE, MailboxDirectoryTable::INACTIVE]))
		{
			continue;
		}

		if ($value === MailboxDirectoryTable::ACTIVE)
		{
			$enableRows[] = $hash;
		}
		else
		{
			$disableRows[] = $hash;
		}
	}

	if (!empty($enableRows))
	{
		MailboxDirectory::updateSyncDirs($enableRows, MailboxDirectoryTable::ACTIVE, $this->mailboxId);
	}

	if (!empty($disableRows))
	{
		MailboxDirectory::updateSyncDirs($disableRows, MailboxDirectoryTable::INACTIVE, $this->mailboxId);
	}

	$mailboxHelper = Mailbox::createInstance($this->mailboxId);
	$mailboxHelper->activateSync();
}