- Модуль: 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);
}