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