• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/smile.php
  • Класс: CSmileGallery
  • Вызов: CSmileGallery::installGallery
static function installGallery()
{
	$smileGalleryId = 0;

	$arLang = Array();
	$arLang2 = Array();
	$langs = CLanguage::GetList();
	while($language = $langs->Fetch())
	{
		$lid = $language["LID"];
		$MESS = IncludeModuleLangFile(__FILE__, $lid, true);
		if ($MESS && isset($MESS['MAIN_SMILE_DEF_GALLERY_NAME']))
			$arLang[$lid] = $MESS['MAIN_SMILE_DEF_GALLERY_NAME'];
		if ($MESS && isset($MESS['MAIN_SMILE_DEF_SET_NAME']))
			$arLang2[$lid] = $MESS['MAIN_SMILE_DEF_SET_NAME'];
	}

	$gallery = CSmileGallery::getByStringId('bitrix');
	if (!$gallery)
	{

		$smileGalleryId = CSmileGallery::add(Array(
			'STRING_ID' => 'bitrix',
			'LANG' => $arLang,
		));
	}
	else
	{
		$smileGalleryId = $gallery['ID'];
	}

	if ($smileGalleryId)
	{
		$smileSet = CSmileSet::getByStringId('bitrix_main');
		if ($smileSet)
		{
			$smileSetId = $smileSet['ID'];
			CSmile::deleteBySet($smileSet['ID']);
		}
		else
		{
			$smileSetId = CSmileSet::add(Array(
				'STRING_ID' => 'bitrix_main',
				'PARENT_ID' => $smileGalleryId,
				'LANG' => $arLang2,
			));
		}

		CSmile::import(array('FILE' => $_SERVER["DOCUMENT_ROOT"].'/bitrix/modules/main/install/smiles/smiles_default.zip', 'SET_ID' => $smileSetId, 'IMPORT_IF_FILE_EXISTS' => 'Y'));
	}
}