- Модуль: fileman
- Путь к файлу: ~/bitrix/modules/fileman/classes/general/medialib.php
- Класс: CMedialib
- Вызов: CMedialib::SetTypes
static function SetTypes($arTypes = array())
{
global $DB;
for ($i = 0, $l = count($arTypes); $i < $l; $i++)
{
$arFields = $arTypes[$i];
$arFields["CODE"] = preg_replace("/[^a-zA-Z0-9_]/i", "", $arFields["CODE"]);
$arFields["EXT"] = preg_replace("/[^a-zA-Z0-9_,]/i", "", $arFields["EXT"]);
//if ($arFields["CODE"] == '' || $arFields["EXT"] == '' || $arFields["NAME"] == '')
if ($arFields["CODE"] == '' || $arFields["EXT"] == '')
continue;
$id = intval($arFields['ID']);
unset($arFields['ID']);
if ($arFields['NEW'] ?? null) // Add
{
unset($arFields['NEW']);
$DB->Add("b_medialib_type", $arFields, array("DESCRIPTION"));
}
else // Update
{
// Edit only non system types
//if ($arFields['SYSTEM'] == 'Y')
// continue;
//$strSql =
// "UPDATE b_medialib_type SET ".
// $DB->PrepareUpdate("b_medialib_type", $arFields).
// " WHERE SYSTEM<>'Y' AND ID=".$id;
$strSql =
"UPDATE b_medialib_type SET ".
$DB->PrepareUpdate("b_medialib_type", $arFields).
" WHERE ID=".$id;
$DB->QueryBind($strSql,
array('DESCRIPTION' => $arFields['DESCRIPTION'] ?? ''),
false, "File: ".__FILE__."
Line: ".__LINE__
);
}
}
self::ClearCache(array("types"));
}