• Модуль: mobile
  • Путь к файлу: ~/bitrix/modules/mobile/classes/general/mobile_helper.php
  • Класс: CMobileHelper
  • Вызов: CMobileHelper::InitFileStorage
static function InitFileStorage()
{
	static $bInited = false;

	$arResult = array();

	if (!$bInited)
	{
		$bDiskEnabled = (
			BitrixMainConfigOption::get('disk', 'successfully_converted', false)
			&& CModule::includeModule('disk')
		);

		if ($bDiskEnabled)
		{
			$storage = BitrixDiskDriver::getInstance()->getStorageByUserId($GLOBALS["USER"]->GetID());
			if (!$storage)
			{
				$arResult = array(
					"ERROR_CODE" => "NO_DISC_STORAGE",
					"ERROR_MESSAGE" => "No disk storage"
				);
			}
			else
			{
				$folder = $storage->getFolderForUploadedFiles($GLOBALS["USER"]->GetID());
				if (!$folder)
				{
					$arResult = array(
						"ERROR_CODE" => "NO_DISC_FOLDER",
						"ERROR_MESSAGE" => "No disk folder"
					);
				}
				else
				{
					$arResult = array(
						"DISC_STORAGE" => $storage,
						"DISC_FOLDER" => $folder
					);
				}
			}
		}
		elseif (CModule::IncludeModule("webdav"))
		{
			$data = CWebDavIblock::getRootSectionDataForUser($GLOBALS["USER"]->GetID());
			if (is_array($data))
			{
				$ob = new CWebDavIblock($data["IBLOCK_ID"], "", array(
					"ROOT_SECTION_ID" => $data["SECTION_ID"],
					"DOCUMENT_TYPE" => array("webdav", 'CIBlockDocumentWebdavSocnet', 'iblock_'.$data['SECTION_ID'].'_user_'.intval($GLOBALS["USER"]->GetID()))
				));
			}

			if (!$ob)
			{
				$arResult = array(
					"ERROR_CODE" => "NO_WEBDAV_SECTION",
					"ERROR_MESSAGE" => "No webdav section"
				);
			}
			else
			{
				$arResult = array(
					"WEBDAV_DATA" => $data,
					"WEBDAV_IBLOCK_OBJECT" => $ob
				);
			}
		}

		$bInited = true;
	}

	return $arResult;
}