• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/helper/mailbox/imap.php
  • Класс: BitrixMailHelperMailboxImap
  • Вызов: Imap::cacheDirs
public function cacheDirs()
{
	static $lastCacheSession;

	if ($this->session === $lastCacheSession)
	{
		return;
	}

	$dirs = $this->client->listex('', '%', $error);
	if (false === $dirs)
	{
		$this->errors = new MainErrorCollection($this->client->getErrors()->toArray());

		return false;
	}

	$list = [];
	foreach ($dirs as $item)
	{
		$parts = explode($item['delim'], $item['name']);

		$item['path'] = $item['name'];
		$item['name'] = end($parts);

		$list[$item['name']] = $item;
	}

	$this->getDirsHelper()->syncDbDirs($list);

	$lastCacheSession = $this->session;
}