• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/textareaicon.php
  • Класс: BitrixImTextareaIcon
  • Вызов: TextareaIcon::unRegister
static function unRegister(array $icon)
{
	$iconId = intval($icon['ICON_ID']);
	$moduleId = isset($icon['MODULE_ID'])? $icon['MODULE_ID']: '';
	$appId = isset($icon['APP_ID'])? $icon['APP_ID']: '';

	if (intval($iconId) <= 0)
		return false;

	if (!isset($icon['FORCE']) || $icon['FORCE'] == 'N')
	{
		$icons = self::getListCache();
		if (!isset($icons[$iconId]))
			return false;

		if (strlen($moduleId) > 0 && $icons[$iconId]['MODULE_ID'] != $moduleId)
			return false;

		if (strlen($appId) > 0 && $icons[$iconId]['APP_ID'] != $appId)
			return false;
	}

	BitrixImModelTextareaIconTable::delete($iconId);

	$orm = BitrixImModelTextareaIconLangTable::getList(Array(
		'filter' => Array('=ICON_ID' => $iconId)
	));
	while ($row = $orm->fetch())
	{
		BitrixImModelTextareaIconLangTable::delete($row['ID']);
	}

	$cache = BitrixMainDataCache::createInstance();
	$cache->cleanDir(self::CACHE_PATH);

	if (BitrixMainLoader::includeModule('pull'))
	{
		CPullStack::AddShared(Array(
			'module_id' => 'im',
			'command' => 'deleteTextareaIcon',
			'params' => Array(
				'iconId' => $iconId
			)
		));
	}

	return true;
}