- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/usertypemanager.php
- Класс: CUserTypeManager
- Вызов: CUserTypeManager::Delete
function Delete($entity_id, $ID)
{
global $DB;
$result = $this->deleteUserFieldValuesByEvent($entity_id, $ID);
if($result !== null)
{
return;
}
if($arUserFields = $this->GetUserFields($entity_id, $ID, false, 0))
{
foreach($arUserFields as $arUserField)
{
if(is_array($arUserField["VALUE"]))
{
foreach($arUserField["VALUE"] as $value)
{
if(is_callable(array($arUserField["USER_TYPE"]["CLASS_NAME"], "ondelete")))
call_user_func_array(array($arUserField["USER_TYPE"]["CLASS_NAME"], "ondelete"), array($arUserField, $value));
if($arUserField["USER_TYPE"]["BASE_TYPE"] == "file")
CFile::Delete($value);
}
}
else
{
if(is_callable(array($arUserField["USER_TYPE"]["CLASS_NAME"], "ondelete")))
call_user_func_array(array($arUserField["USER_TYPE"]["CLASS_NAME"], "ondelete"), array($arUserField, $arUserField["VALUE"]));
if($arUserField["USER_TYPE"]["BASE_TYPE"] == "file")
CFile::Delete($arUserField["VALUE"]);
}
}
$DB->Query("DELETE FROM b_utm_".mb_strtolower($entity_id) . " WHERE VALUE_ID = " . intval($ID), false, "FILE: " . __FILE__ . "
LINE: " . __LINE__);
$DB->Query("DELETE FROM b_uts_".mb_strtolower($entity_id) . " WHERE VALUE_ID = " . intval($ID), false, "FILE: " . __FILE__ . "
LINE: " . __LINE__);
}
}