• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/file_dialog.php
  • Класс: CAdminFileDialog
  • Вызов: CAdminFileDialog::Start
static function Start($Params)
{
	global $USER;
	$bCloudsBrowse = is_object($USER) && $USER->CanDoOperation('clouds_browse') && $Params["operation"] === "O";

	$arSites = Array();
	$dbSitesList = CSite::GetList();
	$arSitesPP = Array();
	while($arSite = $dbSitesList->GetNext())
	{
		$arSites[$arSite["ID"]] = $arSite["NAME"] ? $arSite["NAME"] : $arSite["ID"];
		$arSitesPP[] = array(
			"ID" => $arSite["ID"],
			"TEXT" => '['.$arSite["ID"].'] '.$arSite["NAME"],
			"ONCLICK" => "oBXDialogControls.SiteSelectorOnChange('".$arSite["ID"]."')",
			"ICON" => ($arSite["ID"] == $Params['site']) ? 'checked' : ''
		);
	}

	if($bCloudsBrowse && CModule::IncludeModule('clouds'))
	{
		foreach(CCloudStorageBucket::GetAllBuckets() as $arBucket)
		{
			if($arBucket["ACTIVE"] == "Y")
			{
				$id = $arBucket["BUCKET"];
				$arSites[$id] = $arBucket["BUCKET"];
				$arSitesPP[] = array(
					"ID" => $id,
					"TEXT" => $arBucket["BUCKET"],
					"ONCLICK" => "oBXDialogControls.SiteSelectorOnChange('".$id."')",
					"ICON" => ($id == $Params['site']) ? 'checked' : ''
				);
			}
		}
	}

	$Params['arSites'] = $arSites;
	$Params['arSitesPP'] = $arSitesPP;
	$Params['site'] = ($Params['site'] && isset($arSites[$Params['site']])) ? $Params['site'] : key($arSites); // Secure site var

	if (!in_array(mb_strtolower($Params['lang']), array('en', 'ru'))) // Secure lang var
	{
		$res = CLanguage::GetByID($Params['lang']);
		if($lang = $res->Fetch())
			$Params['lang'] = $lang['ID'];
		else
			$Params['lang'] = 'en';
	}

	if ($Params['bAddToMenu'])
	{
		$armt = self::GetMenuTypes($Params['site'], $Params['path']);
		$Params['arMenuTypes'] = $armt[0];
		$Params['arMenuTypesScript'] = $armt[1];
		$Params['menuItems'] = $armt[2];
	}

	self::BuildDialog($Params);
	self::ShowJS($Params);
}