- Модуль: clouds
- Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage.php
- Класс: CCloudStorage
- Вызов: CCloudStorage::OnAdminListDisplay
static function OnAdminListDisplay(&$obList)
{
global $USER;
if ($obList->table_id !== "tbl_fileman_admin")
return;
if (!is_object($USER) || !$USER->CanDoOperation("clouds_upload"))
return;
static $clouds = null;
if (!isset($clouds))
{
$clouds = array();
$rsClouds = CCloudStorageBucket::GetList(array("SORT" => "DESC", "ID" => "ASC"));
while ($arStorage = $rsClouds->Fetch())
{
if ($arStorage["READ_ONLY"] == "N" && $arStorage["ACTIVE"] == "Y")
$clouds[$arStorage["ID"]] = $arStorage["BUCKET"];
}
}
if (empty($clouds))
return;
foreach ($obList->aRows as $obRow)
{
if ($obRow->arRes["TYPE"] === "F")
{
$ID = "F".$obRow->arRes["NAME"];
$file = $obRow->arRes["NAME"];
$path = mb_substr($obRow->arRes["ABS_PATH"], 0, -mb_strlen($file));
$arSubMenu = array();
foreach ($clouds as $id => $bucket)
$arSubMenu[] = array(
"TEXT" => $bucket,
"ACTION" => $s = "if(confirm('".GetMessage("CLO_STORAGE_UPLOAD_CONF")."')) jsUtils.Redirect([], '".CUtil::AddSlashes("/bitrix/admin/clouds_file_list.php?lang=".LANGUAGE_ID."&bucket=".urlencode($id)."&path=".urlencode($path)."&ID=".urlencode($ID)."&action=upload&".bitrix_sessid_get())."');"
);
$obRow->aActions[] = array(
"TEXT" => GetMessage("CLO_STORAGE_UPLOAD_MENU"),
"MENU" => $arSubMenu,
);
}
}
}